Marian Buschsieweke
6358e75f01
cpu/lpc2387: Fixed bug and readability in IAP
...
- Previous cast was to a function pointer was not legal
- Using already present function pointer to store the IAP entry point to improve
readability. (Which also fixes the cast issue.)
2018-08-14 15:31:43 +02:00
Marian Buschsieweke
18ae7652a9
cpu/lpc2387: Fixed doc and attribute of arm_reset
...
- arm_reset was completely undocumented, even though technical details buried
deeply in the data sheet of the LPC2387 are involved in the code
- The attribute "naked" is misplaced, it should only be used when no C code
is present. However, the function consists of C code only
- The attribute "noreturn" has to be used in the declaration [1] of a function,
not in the implementation. Otherwise the caller is not informed and code using
the function will not be optimized.
[1]: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html
2018-08-14 10:40:09 +02:00
Andreas "Paul" Pauli
1aaeecf5b1
Merge pull request #9296 from maribu/lpc2387
...
cpu/lpc2387: Various fixes for GPIO driver
2018-06-21 19:28:53 +02:00
Peter Kietzmann
6fd4009b89
Merge pull request #8957 from aabadie/pr/cpu/guard_lpc2387
...
cpu/lpc2387: remove useless periph file guard
2018-06-20 09:06:31 +02:00
Marian Buschsieweke
1d0f90dcdf
cpu/lpc2387: Various fixes for GPIO driver
...
- Fixed documentation
- Use bitwise operation instead of multiplication and addition in `GPIO_PIN()`
- Allow GPIOs to be configured as input via `gpio_init()`
- Fixed bugs in `gpio_init_mux`:
- `0x01 << ((pin & 31) * 2)` was used before to generate the bitmask, but
this would shift by 62 to the left. Correct is `0x01 << ((pin & 15) * 2)`
(See [datasheet](https://www.nxp.com/docs/en/user-guide/UM10211.pdf ) at
pages 156ff)
- Only one of the two bits was cleared previously
- Changed strategy to access GPIO pins:
- Previous strategy:
- Set all bits in FIOMASK except the one for the pin to control to
disable access to them
- Set/clear/read all pins in the target GPIO port (but access to all but
the target pin is ignored because of the applied FIOMASK)
- New strategy:
- Set/clear/read only the target pin
- Advantages:
- Only one access to a GPIO register instead of two
- Proven approach: Access to GPIOs on lpc2387 is mostly done by
accessing the GPIO registers directy (e.g. see the sht11 driver).
Those accesses never touch the FIOMASK register
- No unwanted side effects: Disabling all but one pin in a GPIO port
without undoing that seems not to be a good idea
2018-06-18 09:10:25 +02:00
938677cc83
cpu*: fix doxygen grouping
2018-06-11 19:12:02 +02:00
Marian Buschsieweke
2c901ff181
cpu/lpc2387: Fixed invalid call to send_msg in lpc2387-mci.c
...
At `lpc2387-mci.c:383` in `send_cmd()` an `assert()` enforces that parameter
`buff` is not `NULL`. At `lpc2387-mci.c:538` in `mci_initialize()` `send_cmd()`
was called with `buff==NULL`.
2018-05-30 09:09:22 +02:00
Marian Buschsieweke
17a5101b40
cpu/lpc2387: Fixed broken SPI driver
...
In commit 513b20ffd3
the SPI API was changed to
power up an configure the SPI bus on spi_acquire(). Sadly, the lpc2387 SPI
apparently needs to be reconfigured after each power up. This commit moves
the initialization code required after each power up from spi_init() to
spi_acquire().
2018-05-19 18:12:25 +02:00
Joakim Nohlgård
60b13e680c
lpc2387: Adjust ldscript memory segment attributes
2018-05-09 06:46:05 +02:00
bcab6bd1ba
cpu/lpc2387: remove useless periph file guard
2018-04-16 10:11:47 +02:00
Hauke Petersen
2fc724db7e
cpu/lpc2487: add empty uart/power_x functions
2018-03-02 10:53:55 +01:00
7847a91e12
cpu: instead of cpp-style, use C-style comments
2018-02-06 16:59:58 +01:00
smlng
7309171303
build: fix unused parameter errors
...
cpu, sam0_common: fix unused parameter in periph/spi
cpu, kinetis_common: fix unused parameter in periph/spi
cpu, cc2538: fix unused param in periph/i2c
cpu, cc2538: fix unused param in periph/spi
cpu, sam3: fix unused param in periph/spi
cpu, stm32_common: fix unused param in periph/pm
cpu, stm32f3: fix unused params in periph/i2c
cpu, nrf5x_common: fix unused param in periph/gpio
cpu, nrf5x_common: fix unused param in periph/spi
cpu, lpc2387: fix unused params in periph/spi
cpu, cc2538: fix unused params in radio/netdev
cpu, cc2650: fix unused params in periph/uart
cpu, lm4f120: fix unused param in periph/spi
cpu, lm4f120: fix unused params in periph/timer
cpu, lm4f120: fix unused params in periph/uart
cpu, stm32_common: fix unused params in periph/dac
cpu, stm32l0: fix unused params in periph/i2c
cpu, msp430fxyz: fix unused params in periph/uart
cpu, mips: fix unused params
cpu, cc430: fix unused-params in periph/timer
cpu, msp430fxyz: fix unused params in periph/spi
drivers, cc2420: fix unused param
cpu, mips32r2_common: fix unused params in periph/timer
cpu, cc2538: fix unused-param in periph/i2c
cpu, mips32r2_common: fix unused-param in periph/timer
cpu, msp430fxyz: fix unused params in periph/timer
cpu, atmega_common: fix unused params in periph/spi
driver, nrfmin: fix unused params
cpu, cc2538_rf: fix unused params
driver, netdev_ieee802514: fix unused param
cpu, mip_pic32m: fix unused params
cpu, lpc2387: fix unused params in periph/pwm
tests/driver_sdcard_spi: fix unused params
cpu, sam3: fix unused param in periph/pwm
tests/driver_dynamixel: fix unused params, and style issues
cpu, cc430: fix unused param in periph/rtc
cpu, atmega_common: fix unused params in periph/i2c
2017-11-28 14:36:01 +01:00
a20745b6c5
cpu: make use of Makefile.periph
2017-11-06 12:01:19 +01:00
942cc7598b
cpu: arm7: reorganize Makefile.features
2017-11-02 12:59:45 +01:00
Francisco Acosta
f2efd88f98
Merge pull request #7129 from haukepetersen/opt_periph_sharetimerset
...
cpu: add and use shared code for timer_set()
2017-08-01 15:09:48 +02:00
smlng
01af6d94c4
cpu, periph: retain constness in spi_transfer_bytes
2017-06-29 15:47:13 +02:00
smlng
692cf96297
doc: fix doxygen grouping of cpu periph drivers
2017-06-26 14:42:11 +02:00
Hauke Petersen
a1499f4190
cpu: add and use shared code for timer_set()
2017-06-02 12:21:56 +02:00
0fcc7d3834
cleanup: apply headerguard script output
2017-05-24 17:54:02 +02:00
Hauke Petersen
9aad0e528f
cpu: cleanup unused/umimplemented isr stack code
...
- removed ISR_STACKSIZE define where unused (set to 0)
- removed thread_arch_isr_stack_usage(), thread_arch_isr_stack_start(),
and/or thread_arch_isr_stack_pointer() where not implemented
2017-05-12 18:07:08 +02:00
Oleg Hahm
4219011b66
cpu: lpc2387: make comment a comment
2017-04-14 14:36:16 +02:00
Hauke Petersen
37d4f44379
cpus: mv vendor headers to include/vendor/.
2017-03-07 08:55:15 +01:00
Hauke Petersen
fc6b7f0575
Merge pull request #6564 from haukepetersen/opt_periph_pwmpower
...
periph/pwm: remove pwm_(start|stop) + doc
2017-02-23 10:58:44 +01:00
Oleg Hahm
4b79950656
Merge pull request #6558 from haukepetersen/opt_lpc2387_rmadc
...
cpu/lpc2387: remove (unused) legacy ADC driver
2017-02-22 11:01:04 +01:00
Joakim Nohlgård
ba31acae58
cpu/lpc2387: Add missing assert(buff != NULL)
2017-02-16 17:12:51 +01:00
Hauke Petersen
8064bd9fa9
periph/pwm: remove pwm_(start|stop) + doc
...
- joined start/stop and poweron/poweroff
- added general documentation
2017-02-13 09:37:31 +01:00
Hauke Petersen
1dd806bb28
cpu/lpc2387: remove (unused) legacy ADC driver
2017-02-07 10:56:33 +01:00
Hauke Petersen
c560e28eb6
cpu/lpc2387: remove deprecatd I2C driver
2017-01-30 16:14:19 +01:00
Hauke Petersen
5bdb3bfa61
misc: aggregated doxygen fixes
2017-01-25 16:46:46 +01:00
Hauke Petersen
10b0013315
cpu/lpc2387+boards: adapted to new SPI API
...
- adapted the SPI driver
- adapted all boards using the CPU
2017-01-25 16:46:05 +01:00
Oleg Hahm
7ee7801c10
*: remove trailing underscores from header guards
2017-01-19 18:30:53 +01:00
Oleg Hahm
4f4214235b
timex: unambiguous time conversion macros
2017-01-19 13:18:08 +01:00
Hauke Petersen
a35709b4f8
Merge pull request #6360 from OlegHahm/periph_timer_remove_irq
...
periph timer: remove timer_irq_(en|dis)able
2017-01-18 22:58:21 +01:00
Hauke Petersen
7b5d26340a
cpu/lpc2387: cleanup for the PWM driver
2017-01-17 10:50:02 +01:00
Oleg Hahm
d0316fa7ae
periph timer: remove timer_irq_(en|dis)able
2017-01-14 15:34:53 +01:00
0194091673
remove obsolete lpm code
2017-01-12 11:24:15 +01:00
Francisco Acosta
84d0d61279
Merge pull request #5608 from gebart/pr/xtimer-ticks
...
xtimer: Allow arbitrary timer frequency, second attempt
2016-11-29 23:00:31 +01:00
Joakim Nohlgård
7c48c891a0
xtimer: Update xtimer usage to match API changes
2016-11-29 20:44:31 +01:00
Hauke Petersen
2eebf36eb2
cpu/uart: make use of named return values
2016-10-28 10:32:00 +02:00
Oleg Hahm
b428979a1d
debug: add missing line breaks
2016-09-27 23:38:41 +02:00
Lucas Jenss
1cf1f59ca9
lpc2378: Fix wrong factor in driver poll-timer
...
Fixes #4530
2016-08-30 19:59:34 +02:00
Ian Martin
49ae438dd5
doc: eliminate clutter in adc and gpio periph docs
2016-06-29 15:08:32 -04:00
zhuoshuguo
1cbe79a373
CPU: fix include header guards
...
Fix cpu/lpc2387/include/lpc2387.h
2016-06-08 16:38:20 +02:00
MohmadAyman
720136491a
cpu: unify naming of ISR stacksize macro
2016-06-01 22:47:34 +02:00
Oleg Hahm
0925737e28
doc diskio: RIOTized style and added doxygen
2016-03-30 12:54:51 +02:00
DipSwitch
0bb4748a94
core: Fix/refactor function naming in core/incude/irq.h
2016-03-20 16:47:34 +01:00
Hauke Petersen
877d06bda8
cpu/lpc2387: adapted GPIO driver
2016-03-17 14:39:11 +01:00
Hauke Petersen
b23cde98cf
cpus: adapted UART implementations to cb type change
2016-03-15 11:02:06 +01:00
Joakim Nohlgård
6a52296a35
cpu/lpc2387: Use {} notation for empty while loops
2016-03-03 16:30:06 +01:00
Peter Kietzmann
c8829a49b8
Merge pull request #4838 from haukepetersen/fix_periph_timerarg
...
drivers/timer: added callback argument
2016-03-01 08:55:54 +01:00
Hauke Petersen
b11a3ad74b
cpus: adapted timer implementations to API changes
2016-02-29 14:45:00 +01:00
9082273746
core: header cleanup
2016-02-28 22:46:28 +01:00
Joakim Nohlgård
e2f7ac78f0
Merge pull request #4040 from gebart/pr/periph-timer-init-freq
...
periph/timer: Change timer_init API to support arbitrary (integer) frequencies
2016-02-15 23:36:44 +01:00
Joakim Nohlgård
1b0e0c62ac
cpu/lpc2387: Update to match timer_init API change
2016-02-13 21:29:36 +01:00
Hauke Petersen
b41f915d86
cpu/lpc2387: adapted to PWM interface changes
2016-02-12 16:09:56 +01:00
Joakim Nohlgård
7835ab2be7
make: Move BOARD and CPU includes to Makefile.modules
2016-02-10 16:37:03 +01:00
Hauke Petersen
ad0abdcadd
cpus: use default isr_ctx struct in GPIO drivers
2016-01-27 17:00:37 +01:00
Hauke Petersen
178e82c0e9
cpu/lpc2387: s/F_CPU/CLOCK_CORECLOCK/
2016-01-27 09:52:44 +01:00
Oleg Hahm
d92ec1d11e
lpc2387: fix pedantic compiler warnings
2015-12-07 20:28:53 +01:00
Hauke Petersen
fe249b9006
cpu/lpc2387: adapted UART driver
2015-10-27 14:59:38 +01:00
Joakim Nohlgård
cbaeccdb90
periph/timer: Drop timer_reset
2015-10-17 20:11:03 +02:00
Hauke Petersen
d43dc9182f
cpu: s/GPIO(x,y)/GPIO_PIN(x,y)/
2015-10-13 14:59:54 +02:00
Peter Kietzmann
be8f63769c
Merge pull request #3879 from sgso/fix_spi_slave_return_codes
...
cpu: let spi_init_slave() stubs return error codes
2015-09-30 14:07:54 +02:00
d0ff4946ea
cpu: lpc2387: add spi_conf_pins()
2015-09-23 19:00:55 +02:00
Oleg Hahm
e15bdd257a
debug: replace __FILE__ by RIOT_RELATIVE_FILE
2015-09-20 01:51:47 +02:00
Sebastian Sontberg
8b4fcc2a14
cpu: let spi_init_slave() stubs return error codes
2015-09-17 11:19:31 +02:00
cbb7750202
boards: msba2: add xtimer tuning values, remove HW_TIMER define
2015-09-16 10:58:55 +02:00
9d088bb3d7
cpu: lpc2387: mci: use xwtimer
2015-09-16 10:58:53 +02:00
b0893a99ba
cpu: lpc2387: adc: use xtimer
2015-09-16 10:58:53 +02:00
Martine Lenders
93f555ef69
Merge pull request #3782 from OlegHahm/RIOT_assert
...
core: RIOT's own assert macro
2015-09-12 13:12:34 +02:00
Oleg Hahm
49917a5797
core: cpu: fix check for DEVELHELP
2015-09-12 12:43:15 +02:00
Oleg Hahm
f3245cecac
core: panic: last instruction's address for assert
2015-09-11 23:23:31 +02:00
Oleg Hahm
d7161b6d4b
cpu: inline function to print instruction register
2015-09-11 23:23:31 +02:00
087f11db09
cpu: lpc2387: remove obsolete UART0_BUFSIZE define
2015-09-04 17:46:23 +02:00
Hauke Petersen
56ffc5672c
cpu/lpc2387: use hwtimer_compat module
2015-09-04 15:32:50 +02:00
Hauke Petersen
342d292889
cpu/lpc2387: added low-level timer implementation
2015-09-04 15:32:50 +02:00
3b94a0d497
lpc2387/msba2/avsextrem: fix doxygen warnings
2015-08-14 16:50:41 +02:00
a03ff202cf
cpu: lpc2387: switch to newlib module
2015-08-14 16:50:41 +02:00
4dd63dd24e
cpu: lpc2387: add periph/spi support
2015-08-14 16:50:41 +02:00
bd76626fb5
cpu: lpc2387: add periph/uart driver
2015-08-14 16:50:41 +02:00
3c5f31eb95
cpu: lpc2387: add periph/gpio imlementation
2015-08-14 16:50:41 +02:00
223ef9fe66
cpu: lpc2387: drop gpioint
2015-08-14 16:50:41 +02:00
09fb612ceb
cpu: lpc2387: remove obsolete transceiver defines
2015-08-06 12:13:18 +02:00
Joakim Gebart
70d59331b8
arm7_common: Build fixes after discovering an include guard overlap
2015-07-20 12:40:32 +02:00
Joakim Gebart
7ff26d12ea
cpu/arm7_common: Rename Doxygen group to cpu_arm7_common
2015-07-20 12:40:31 +02:00
Joakim Gebart
79ca190666
lpc2387: Add missing exception tables to linker script
...
Copied from kinetis_common
2015-05-31 09:55:49 +02:00
Joakim Gebart
c09a8484e2
cortexm: Move ldscripts into separate directory
...
Less clutter inside the cpu/* directories by placing linker scripts
under cpu/*/ldscripts/CPUNAME.ld
2015-05-30 12:20:07 +02:00
Hauke Petersen
a5e4b02ed8
cpu: fixed doxygen for multiple headers
2015-05-28 15:45:05 +02:00
Hauke Petersen
9943f51080
global: renamed cpu-conf.h into cpu_conf.h
2015-05-28 15:45:05 +02:00
Lucas Jenss
426170b064
Improve naming of thread stacksize/priority constants
...
As discussed in #2725 , this commit renames a number of stacksize constants to
better convey their intended usage. In addition, constants for thread priority
are given a `THREAD_` prefix. Changes are:
* KERNEL_CONF_STACKSIZE_PRINTF renamed to THREAD_EXTRA_STACKSIZE_PRINTF
* KERNEL_CONF_STACKSIZE_DEFAULT renamed to THREAD_STACKSIZE_DEFAULT
* KERNEL_CONF_STACKSIZE_IDLE renamed to THREAD_STACKSIZE_IDLE
* KERNEL_CONF_STACKSIZE_MAIN renamed to THREAD_STACKSIZE_MAIN
* Move thread stacksizes from kernel.h to thread.h, since the prefix changed
* PRIORITY_MIN renamed to THREAD_PRIORITY_MIN
* PRIORITY_IDLE renamed to THREAD_PRIORITY_IDLE
* PRIORITY_MAIN renamed to THREAD_PRIORITY_MAIN
* Move thread priorities from kernel.h to thread.h since the prefix has changed
* MINIMUM_STACK_SIZE renamed to THREAD_STACKSIZE_MINIMUM for consistency
2015-05-21 00:14:23 +02:00
Joakim Gebart
a595ab00af
lpc2387: Replace tabs by spaces
2015-05-18 07:10:52 +02:00
Joakim Gebart
8619bdec63
lpc2387: pwm_init: return actual frequency
2015-05-16 10:17:02 +02:00
Joakim Gebart
7a84faf8bc
cpu/lpc2387/linkerscript.x: Tabs->Spaces
2015-05-09 09:11:37 +02:00
Ludwig Ortmann
cf637942cc
*: add missing blank lines
...
Some functions had no blank lines to separate them from their
neighborhood.
2015-03-21 16:34:59 +01:00
Joakim Gebart
99319f4e28
[SQUASH ME] lpc2387: Add missing *(data.*) to linker script.
2015-01-07 19:10:58 +01:00
Joakim Gebart
390b8394d6
msba2: Use --gc-sections when linking.
...
- Add `-Wl,--gc-sections` to LDFLAGS
- Add `-fdata-sections` and `-ffunction-sections` to CFLAGS
- Update lpc2387 linker script to keep the isr vector and init
sections when garbage collecting.
- Keep .ctors and .dtors sections (similar to what binutils default
linker script does when building for Linux targets)
Signed-off-by: Joakim Gebart <joakim.gebart@eistec.se>
2014-12-17 11:37:58 +01:00
Oleg Hahm
60cd0d357d
periph_rtc: streamline lpc2387 and cc430 naming
2014-12-16 17:02:44 +01:00
Oleg Hahm
849580a9c9
cpu: lpc2387: further rtc cleanup
2014-12-16 17:02:44 +01:00
Oleg Hahm
587920cc49
cpu: remove superfluous gettimeofday functions
2014-12-16 17:02:44 +01:00