1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

264 Commits

Author SHA1 Message Date
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