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

3850 Commits

Author SHA1 Message Date
Gunar Schorcht
fddfe86a4b cpu/esp32: fixes dependency problem for timer
Xtensa newlib version requires pthread_setcancelstate as symbol. Therefore, the module pthread was always used, which in turn requires the module xtimer. The xtimer module, however, uses TIMER_DEV(0). Therefore, tests/timers failed for TIMER_DEV(0).
2018-10-14 13:50:38 +02:00
Silke Hofstra
58e39da255 nrf5x_common: gpio: fix port 1 functionality
Pins on GPIO port 1 were not correctly set.
This is resolved by using the (previously unused) pin_num function.
2018-10-12 18:12:22 +02:00
Silke Hofstra
8efeb4a4f1 Revert "Merge pull request #9699 from miri64/nrf5x_common/fix/gpio-unused-function"
This reverts commit 2d10390b56, reversing
changes made to 2f480efb60.
2018-10-12 17:46:43 +02:00
cladmi
e0a5860bb7
cpu/stm32_common: remove inadapted periph_flash_common
The `periph_flash_common` feature was only defined here to trigger
inclusion of a source file with common functions.
It even only defines private symbols `_lock` and `_unlock` so no reason
to expose it to the build system.
And in practice, all stm cpus providing `periph_flashpage` or
`periph_eeprom` were required to provide `periph_flash_common` to allow
including it.

The previous implementation was only parsing in the modules were in
`FEATURES_REQUIRED` wich did not take cases of `FEATURES_OPTIONAL` into
account.
And also, in the same time, as the dependencies was declared in
`Makefile.include` it was processed before `Makefile.dep` so never handled
cases where a module could depend on `periph_flashpage` or
`periph_eeprom` feature.

It is replaced by selecting the common source file when module using it
are included.

The now useless feature `periph_flash_common` is removed from
`FEATURES_PROVIDED`.
2018-10-11 15:20:44 +02:00
cladmi
d8080a66e4
cpu/stm32_common: Do not use USEMODULE to select i2c implem
`cpu/stm32_common/Makefile.dep` was never included by the global
`Makefile.dep`, so declaring this `USEMODULE +=` here was never shown to
the build system and never exported as `MODULE_PERIPH_I2C_X` variables.

In fact, `USEMODULE` was only used to trigger the `periph.mk`/`SUBMODULES`
mechanism to add matching source files names to `SRC` and so select
the implementation for each CPU type.

It is replaced by just explicitly selecting the right source file.
2018-10-11 15:20:25 +02:00
Hauke Petersen
5f50db07e8 misc: use correct hauke.petersen@fu email address 2018-10-11 12:20:37 +02:00
Kevin "Bear Puncher" Weiss
9a75ee0d47
Merge pull request #10127 from gschorcht/esp8266_i2c_fix
cpu/esp8266: improvements of I2C implementation
2018-10-10 17:13:34 +02:00
Gunar Schorcht
4fcfb7ca06 cpu/esp8266: i2c improvements
The commit
- improves the timing of the SDA and SCL signals that fixes communication problems with some slaves (#10115),
- introduces the internal function _i2c_clear which clears the bus when SDA line is locked at LOW, and
- renames internal _i2c_*_sda and _i2c_*_scl functions to function names that are more clear, e.g., _i2c_clear_sda to _i2c_sda_low.
2018-10-10 12:17:20 +02:00
Martine Lenders
7994f35c7a stm32f1: mark closing #endif for MODULE_PERIPH_GPIO_IRQ 2018-10-09 15:11:01 +02:00
Martine Lenders
92c5a7824a stm32_common: mark closing #endif for MODULE_PERIPH_GPIO_IRQ 2018-10-09 15:11:00 +02:00
Martine Lenders
98ddcdc783 sam3: mark closing #endif for MODULE_PERIPH_GPIO_IRQ 2018-10-09 15:11:00 +02:00
Martine Lenders
95819c660b sam0_common: mark closing #endif for MODULE_PERIPH_GPIO_IRQ 2018-10-09 15:11:00 +02:00
Martine Lenders
67122b51f3 nrf5x_common: mark closing #endif for MODULE_PERIPH_GPIO_IRQ 2018-10-09 15:11:00 +02:00
Martine Lenders
0ed57df4b5 lpc2387: mark closing #endif for MODULE_PERIPH_GPIO_IRQ 2018-10-09 15:11:00 +02:00
Martine Lenders
f1b16fcb32 lpc1768: mark closing #endif for MODULE_PERIPH_GPIO_IRQ 2018-10-09 15:11:00 +02:00
Martine Lenders
896212e320 lm4f120: mark closing #endif for MODULE_PERIPH_GPIO_IRQ 2018-10-09 15:11:00 +02:00
Martine Lenders
53a9797e56 kinetis: mark closing #endif for MODULE_PERIPH_GPIO_IRQ 2018-10-09 15:11:00 +02:00
Martine Lenders
769bf572a0 fe310: mark closing #endif for MODULE_PERIPH_GPIO_IRQ 2018-10-09 15:11:00 +02:00
Martine Lenders
aa0f93067f ezr32wg: mark closing #endif for MODULE_PERIPH_GPIO_IRQ 2018-10-09 15:11:00 +02:00
Martine Lenders
ce12d4cefb esp8266: mark closing #endif for MODULE_PERIPH_GPIO_IRQ 2018-10-09 15:11:00 +02:00
Martine Lenders
ff54112f82 efm32: mark closing #endif for MODULE_PERIPH_GPIO_IRQ 2018-10-09 15:10:59 +02:00
Martine Lenders
4431f8ee0a cc26x0: mark closing #endif for MODULE_PERIPH_GPIO_IRQ 2018-10-09 15:10:59 +02:00
Martine Lenders
73061ae70e cc2538: mark closing #endif for MODULE_PERIPH_GPIO_IRQ 2018-10-09 15:10:59 +02:00
Martine Lenders
0eebda0958 atmega_common: mark closing #endif for MODULE_PERIPH_GPIO_IRQ 2018-10-09 15:10:59 +02:00
Martine Lenders
4e92c2a424
Merge pull request #10007 from haukepetersen/fix_gpioirq_fe310
cpu/fe310/gpio: use gpio_irq feature
2018-10-09 14:22:43 +02:00
Martine Lenders
328d305215
Merge pull request #10001 from haukepetersen/fix_gpioirq_esp8266
cpu/esp8266/gpio: use gpio_irq feature
2018-10-09 13:40:48 +02:00
Francisco Acosta
5d9b980769
Merge pull request #9993 from haukepetersen/fix_gpioirq_ezr32wg
cpu/ezr32wg/gpio: use gpio_irq feature
2018-10-09 13:28:30 +02:00
Martine Lenders
2f944f4c79
Merge pull request #10006 from haukepetersen/fix_gpioirq_sam3
cpu/sam3/gpio: use gpio_irq feature
2018-10-09 13:11:37 +02:00
Martine Lenders
7b581a4b1c
Merge pull request #10004 from haukepetersen/fix_gpioirq_lm4f120
cpu/lm4f120/gpio: use gpio_irq feature
2018-10-09 13:11:15 +02:00
Martine Lenders
15603d689b
Merge pull request #10002 from haukepetersen/fix_gpioirq_atmega
cpu/atmega/gpio: use gpio_irq feature
2018-10-09 12:02:40 +02:00
Schorcht
4c516aa1ad cpu/esp32: scope for GPIO_IRQ submodule added 2018-10-09 11:41:59 +02:00
Martine Lenders
f6ef19a5ea
Merge pull request #9999 from haukepetersen/fix_gpioirq_cc26x0
cpu/cc26x0/gpio: use gpio_irq feature
2018-10-09 11:41:07 +02:00
Schorcht
73d0670b80 cpu/esp32: pwm initialization fixed 2018-10-09 11:27:54 +02:00
Martine Lenders
8e3a43b309
Merge pull request #9997 from haukepetersen/fix_gpioirq_lpc2387
cpu/lpc2387/gpio: use gpio_irq feature
2018-10-09 11:22:11 +02:00
Martine Lenders
96e2a3d657
Merge pull request #9995 from haukepetersen/fix_gpioirq_lpc1768
cpu/lpc1768/gpio: use gpio_irq feature
2018-10-09 11:01:17 +02:00
Schorcht
3a63945621 cpu/esp32: i2c speed values finetuned 2018-10-09 10:59:40 +02:00
Martine Lenders
aa12006da3
Merge pull request #10003 from haukepetersen/fix_gpioirq_stm32_common
cpu/stm32_common/gpio: use gpio_irq feature
2018-10-09 10:20:38 +02:00
Schorcht
841d2790e6 cpu: add esp32 2018-10-08 14:40:43 +02:00
Schorcht
3ac99877ac cpu: add esp32 2018-10-08 12:20:49 +02:00
Schorcht
32e602680b cpu: add esp32 vendor files 2018-10-08 12:20:49 +02:00
Hauke Petersen
1b62f7cd40 cpu/efm32/gpio: use gpio_irq feature 2018-10-04 18:43:24 +02:00
Martine Lenders
44910a4f61
Merge pull request #10008 from haukepetersen/fix_gpioirq_stm32f1
cpu/stm32f1/gpio: use gpio_irq feature
2018-10-04 14:13:01 +02:00
13654a950b cpu/samr30: add support for samr30g18a
Co-authored-by: biboc <bapclenet@gmail.com>
2018-10-01 10:15:08 +02:00
f2d28f88c5
Merge pull request #10066 from gebart/pr/netdev_tap-Wshadow
native/netdev_tap: Rename variable to fix -Wshadow warning
2018-09-28 10:13:20 +02:00
Joakim Nohlgård
4a5ef1d2f6 native/netdev_tap: Rename variable to fix Wshadow warning 2018-09-28 09:57:30 +02:00
Kevin "Bear Puncher" Weiss
e36cd53945
Merge pull request #10061 from cladmi/pr/cpu/esp8266/cleanup
cpu/esp8266: remove duplicate 'CPU' variable
2018-09-28 09:35:42 +02:00
Kevin Weiss
df7468a2f0
Merge pull request #10017 from gschorcht/esp8266_i2c_fix
cpu/esp8266: periph/i2c fix
2018-09-28 08:17:05 +02:00
cladmi
4bf7ab5dd0
cpu/fe310: rtc depend on the rtt feature
It is the role of boards based on 'cpu/fe310' to give the configuration
for the rtc/rtt.

The fe310/periph/rtc implementation depends on having periph/rtt configured
by the board so depends on the board 'providing' the periph_rtt feature
and declaring the required macros.

It should not simply depend of the 'periph_rtt' module as this does not
enforce having a configuration for the module in the board.

In practice, when compiling, it would result in undefined 'RTT' symbols,
instead of the build system detecting it.
2018-09-27 18:11:16 +02:00
Schorcht
6307ace126 cpu/esp8266: periph/i2c fix 2018-09-27 17:48:20 +02:00
cladmi
8f68e69da3
cpu/esp8266: remove duplicate 'CPU' variable 2018-09-27 17:42:53 +02:00
Hauke Petersen
272ae30d26
Merge pull request #10005 from haukepetersen/fix_gpioirq_nrf
cpu/nrf5x/gpio: use periph_gpio_irq feature
2018-09-26 17:58:59 +02:00
Hauke Petersen
45f2a59e13
Merge pull request #9994 from haukepetersen/fix_gpioirq_cc2538
cpu/cc2538/gpio: use gpio_irq feature
2018-09-26 17:05:48 +02:00
Martine Lenders
f53c4c076a
Merge pull request #10043 from PeterKietzmann/pr_msp430_inc_ipstack
cpu/msp430: increase default stacksize for gnrc_ipv6 thread
2018-09-26 13:13:02 +02:00
Joakim Nohlgård
7a857a939c
Merge pull request #9807 from gebart/pr/kinetis-adc-average
kinetis: ADC: Add hardware averaging configuration
2018-09-26 12:54:29 +02:00
PeterKietzmann
df58b7293b cpu/msp430: increase default stacksize for gnrc_ipv6 thread 2018-09-26 11:06:05 +02:00
Hauke Petersen
e71281943a cpu/kinetis/gpio: use gpio_irq feature 2018-09-26 09:53:30 +02:00
smlng
59e299635b cppcheck: add/correct reason for cppcheck-suppress
Adding and correcting description/rational on why certain cppcheck
warnings or errors are intentionally suppressed.
2018-09-25 12:03:58 +02:00
Hauke Petersen
2267499873 cpu/nrf5x/gpio: use periph_gpio_irq feature 2018-09-21 09:19:08 +02:00
Hauke Petersen
25e901ef73 cpu/stm32f1/gpio: use gpio_irq feature 2018-09-21 08:20:04 +02:00
Hauke Petersen
a956d71a67 cpu/stm32_common/gpio: use gpio_irq feature 2018-09-21 08:19:51 +02:00
Hauke Petersen
e53abca10a cpu/sam3/gpio: use gpio_irq feature 2018-09-21 08:19:41 +02:00
Hauke Petersen
6afd0efdd8 cpu/sam0_common/gpio: use gpio_irq feature 2018-09-21 08:19:31 +02:00
Hauke Petersen
72986ecb9b cpu/lpc2387/gpio: use gpio_irq feature 2018-09-21 08:19:15 +02:00
Hauke Petersen
4913dfaa9f cpu/lpc1768/gpio: use gpio_irq feature 2018-09-21 08:18:55 +02:00
Hauke Petersen
1a7978000e cpu/lm4f120/gpio: use gpio_irq feature 2018-09-21 08:18:42 +02:00
Hauke Petersen
be94b99eda cpu/fe310/gpio: use gpio_irq feature 2018-09-21 08:18:14 +02:00
Hauke Petersen
15ca5e8c93 cpu/ezr32wg/gpio: use gpio_irq feature 2018-09-21 08:18:04 +02:00
Hauke Petersen
8ff5c91d9f cpu/esp8266/gpio: use gpio_irq feature 2018-09-21 08:17:52 +02:00
Hauke Petersen
84066ea11d cpu/cc26x0/gpio: use gpio_irq feature 2018-09-21 08:17:26 +02:00
Hauke Petersen
36d88c2c40 cpu/cc2538/gpio: use gpio_irq feature 2018-09-21 08:16:37 +02:00
Hauke Petersen
94ff02f3c4 cpu/atmega/gpio: use gpio_irq feature 2018-09-21 08:11:20 +02:00
Hauke Petersen
c7e6d15990
Merge pull request #9976 from haukepetersen/fix_native_gpioirqfeatureremove
native: remove feature `periph_gpio_irq`
2018-09-20 15:18:21 +02:00
Hauke Petersen
a965532d07 cpu/native/gpio: remove empty gpio irq func stubs 2018-09-20 14:51:19 +02:00
Hauke Petersen
da899dafbf cpu/mips_pic32/gpio: remove gpio_init_int stub 2018-09-20 14:50:32 +02:00
1022050dc7
Merge pull request #9923 from cladmi/pr/cleanup/duplicate_includes
boards/cpu: cleanup duplicate includes
2018-09-19 16:08:37 +02:00
Francisco Acosta
3721f193d0
Merge pull request #9816 from leandrolanzieri/lobaro_port
boards/lobaro-lorabox: Add support for Lobaro LoraBox board
2018-09-18 19:35:59 +02:00
Leandro Lanzieri
bd1b309c39 cpu/stm32l1: Add support for stm32l151cb CPU 2018-09-18 18:05:34 +02:00
Bas Stottelaar
fbb490a2e0 cpu: efm32: add support for no DC-DC converter 2018-09-17 19:31:22 +02:00
Joakim Nohlgård
dd2fad6b9b kinetis: ADC: Add hardware averaging configuration
This allows a board configuration to select which kind of averaging
should be applied to the pin instead of always using 32 sample average.
Very high impedance sources may need to disable hardware averaging in
order to give correct values, the on-chip temperature sensor is one such
signal source.
2018-09-12 16:32:48 +02:00
cladmi
28d3ba64d4
cpu/cc430: remove duplicate include
Includes of $(CPU)/include is already included in the main Makefile.include
in the line before including this file.
2018-09-11 16:32:34 +02:00
Peter Kietzmann
25868d1e04
Merge pull request #9885 from dylad/sam0_fix_spi_mode
sam0/spi: fix SPI mode assignment
2018-09-10 08:42:30 +02:00
smlng
da8cee0cb9 cpu/mips32r2_generic: fix PERIPH_TIMER_PROVIDES_SET
Do not set PERIPH_TIMER_PROVIDES_SET to 1, this is not required and
inconsistent with its usage in other CPUs.
2018-09-07 22:15:51 +02:00
smlng
740eafe93b cpu/fe310: add missing PERIPH_TIMER_PROVIDES_SET 2018-09-07 22:15:13 +02:00
smlng
9468feeaaf cpu/esp8266: add missing PERIPH_TIMER_PROVIDES_SET 2018-09-07 22:14:32 +02:00
Andreas "Paul" Pauli
dc6eb82406
Merge pull request #9722 from smlng/pr/cc2538/adc
cpu/cc2538: enhance periph ADC
2018-09-06 14:12:03 +02:00
Francisco Acosta
fad4d9be19
Merge pull request #9781 from cladmi/pr/toolchain/avr/linkerscript
atmega_common: allow defining rom and ram length for link.
2018-09-05 16:00:33 +02:00
cladmi
9720d9c51c
cpu/atmega_common: Allow specifying a reserved space in ROM
It is defined using the `ROM_RESERVED` variable.

This should allow supporting arduino bootloader that is stored at the
end of the ROM.
2018-09-05 12:20:36 +02:00
cladmi
493cad03da
atmega_common: make rom and ram length definition mandatory
Now all atmega cpu define them so use them by default.
2018-09-05 12:20:33 +02:00
cladmi
e4635004f7
cpu/atmega1284p: configure RAM and ROM length
Info taken from https://www.microchip.com/wwwproducts/en/atmega1284p

TODO: update "board not enough memory".
2018-09-05 12:20:31 +02:00
cladmi
2ff7137733
cpu/atmega256rfr2: configure RAM and ROM length
Info taken from https://www.microchip.com/wwwproducts/en/atmega256rfr2

TODO: update "board not enough memory".
2018-09-05 12:20:28 +02:00
cladmi
c6a45e4082
cpu/atmega328p: configure RAM and ROM length
Info taken from https://www.microchip.com/wwwproducts/en/atmega328p

TODO: update "board not enough memory".
2018-09-05 12:20:26 +02:00
cladmi
ef20b035bd
cpu/atmega1281: configure RAM and ROM length
Info taken from https://www.microchip.com/wwwproducts/en/atmega1281

TODO: update "board not enough memory".
2018-09-05 12:20:23 +02:00
cladmi
b22832b4cd
cpu/atmega2560: configure RAM and ROM length
Info taken from https://www.microchip.com/wwwproducts/en/atmega2560

TODO: update "board not enough memory".
2018-09-05 12:20:20 +02:00
cladmi
098770aeda
atmega_common: use binutils 2.26 ldscript for older versions
This allows configuring __TEXT_REGION_LENGTH__ and __DATA_REGION_LENGTH__
for previous versions (ubuntu xenial for example).
2018-09-05 12:20:17 +02:00
Gaëtan Harter
56a1ac4f2b
cpu/atmega: add avr-binutils 2.26 linkerscripts
Generated by extracting the output of

    avr-gcc -Wl,--verbose --mmcu=$(CPU)

With avr-binutils 2.26
2018-09-05 12:08:33 +02:00
cladmi
6e148bcf1b
atmega_common: allow defining rom and ram length for link.
Allow configuring __TEXT_REGION_LENGTH__ and __DATA_REGION_LENGTH__ linkerscript
variables using ROM_LEN and RAM_LEN makefile variables.
2018-09-05 12:08:31 +02:00
Schorcht
e4ca897661 cpu: add esp8266 2018-09-05 02:39:50 +02:00
Schorcht
e528fb8e2d cpu: add esp8266 vendor files 2018-09-05 02:39:50 +02:00
dylad
4e6d3d1f92 sam0/spi: fix SPI mode assignment
Signed-off-by: dylad <dylan.laduranty@mesotic.com>
2018-09-04 13:58:51 +02:00
Dylan Laduranty
8871e5aaa6
Merge pull request #9876 from fedepell/sercomid-9875
sam0_common: fix sercom_id return value for SERCOM5 (#9875)
2018-09-04 09:10:06 +02:00
ZetaR60
db7734261c
Merge pull request #9823 from fesselk/patch-1
atmega_common/gpio_init: fix pull-up settings for GPIO_IN_PU
2018-09-03 20:30:53 -04:00
Federico Pellegrin
d3cd2b71c0 sam0_common: fix sercom_id return value for SERCOM5 (#9875) 2018-09-03 18:57:18 +02:00
smlng
214ddc4fc4 cpu/cc2538: adapt and cleanup periph/hwrng
Some minor adaptions due to cleanup in periph/adc and usage of
    vendor header files.
2018-09-03 09:01:42 +02:00
smlng
d40cfab95a cpu/cc2538: enhance periph ADC
Adapt the periph ADC implementation to use vendor defines where
    ever possible. Remove duplicate or obsolete defines and adapt
    board configuration as required.
2018-09-03 09:01:42 +02:00
Federico Pellegrin
bfdafe877e sam0_common: correct sercom_set_gen for sercom5. it assumes SERCOM5 GEN clock is in sequence, but is not, need to put a specific if test 2018-09-02 13:39:08 +02:00
Joakim Nohlgård
efc5f2a95c msp430fxyz: Disable GPIO ISRs when periph_gpio_irq is not selected 2018-08-29 08:53:20 +02:00
Joakim Nohlgård
8996cbe313 make: Introduce new feature flag periph_gpio_irq 2018-08-29 08:53:20 +02:00
Pekka Nikander
6aa0a48558 cpu/cortexm_common/cortexm_init: Allow piecewise calling
Refactor cortexm_init to allow bits and pieces of
   it to be called separately, while retaining the
   current API, too.  Needed for non-standard
   Cortex-M initialisation, such as with nRF52
   SoftDevice.
2018-08-28 14:07:50 +03:00
Karl Fessel
d9aac6a7d4 atmega_common/gpio_init: fix pull-up settings for GPIO_IN_PU
This Patch makes gpio_init precalculate the pin mask once,
This Patch makes gpio_init of atmega_common configure the pin as an input and configure the pullup in the case of GPIO_IN_PU.
GPIO_IN_PU and GPIO_IN need to change pullup so they need to change output (this is coverd by the not touching outputs is not guaranteed statement)
(this is a special case for atmega the pull_up is configured by writing 1 to the port_register which is also the level of the output if the pin is configured to output).

This fix makes it more compliant to comments in periph/gpio.h
2018-08-27 20:34:10 +02:00
c0fdce22b3
netdev_tap: declare netdev_driver struct as const 2018-08-23 17:31:45 +02:00
Hauke Petersen
c2184f3454 boards/cpu/drivers/sys: use generic stdio_ if 2018-08-22 10:54:25 +02:00
Semjon Kerner
2063e98b13 cpu/nrf52: initial PWM implementation 2018-08-21 11:28:23 +02:00
d94d1854ec
Merge pull request #9234 from kYc0o/move_eeprom_to_periph
drivers/periph_common/eeprom: move EEPROM definitions to periph_cpu.
2018-08-21 10:25:44 +02:00
MichelRottleuthner
2db68b600b
Merge pull request #9505 from PeterKietzmann/pr_puf_stm32
cpu/stm32_common: add PUF SRAM feature to makefile
2018-08-17 13:08:21 +02:00
Gaëtan Harter
623e3e156d
Merge pull request #9730 from miri64/make/enh/toolchain-supported-list
make: provide support for listing supported and blacklisting toolchains
2018-08-16 17:11:26 +02:00
Martine Lenders
c0a7da3068 native: Mark llvm and gnu as supported toolchains 2018-08-16 16:41:58 +02:00
Martine Lenders
b305ee4b41 cortexm_common: Mark llvm and gnu as supported toolchains 2018-08-16 16:41:58 +02:00
Francisco Acosta
8776df7423 cpu/atmega*: move EEPROM definitions to periph_cpu.h 2018-08-15 15:27:03 +02:00
Francisco Acosta
11b36a7184 stm32l1/0: move EEPROM config to periph_conf.h 2018-08-15 15:27:03 +02:00
Francisco Acosta
73ae563973 eeprom: Makefile.features: reorder features
They should be sorted alphabetically
2018-08-15 14:53:56 +02:00
Martine Lenders
e7b554bad2
Merge pull request #9773 from maribu/lpc2387
cpu/lpc2387: Fixed documentation and bugs preventing use of LLVM
2018-08-14 16:20:52 +02:00
Marian Buschsieweke
f31375a152
cpu/lpc2387: Use PRIu32 in DEBUG() in mci 2018-08-14 15:35:12 +02:00
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
Martine Lenders
9478274bd9 stm32_common/eeprom: fix DEBUG formatting
This fixes compilation for `periph_eeprom` with LLVM/clang and also is
more in accordance with our [coding conventions].

[coding conventions]: https://github.com/RIOT-OS/RIOT/wiki/Coding-conventions#-wformat
2018-08-14 14:56:44 +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
Martine Lenders
426cfbeea6 kinetis: timer: #ifdef unused functions
Another issue revealed by compiling several apps with LLVM/clang for
the `teensy31` board.
2018-08-13 18:38:13 +02:00
Semjon Kerner
9e63671eab cpu/nrf51: fix formatting uint to PRIu32 2018-08-13 17:56:05 +02:00
Peter Kietzmann
a05e2f22e2
Merge pull request #9693 from smlng/pr/cc2538/timer
cc2538: cleanup and optimisation of periph timer
2018-08-13 08:40:51 +02:00
Gaëtan Harter
7dad2e7096
cortexm_common/ldscript: allow defining FW_ROM_SIZE
Allow defining a specific rom length to use for linking the firmware,
_fw_rom_length, instead of the default configuration to use the whole rom from
_rom_offset to the end.

 * Add cortexm_common/Makefile.include FW_ROM_SIZE configuration
 * Add an assertion that _fw_rom_length still respects _rom_length
2018-08-11 11:34:01 +02:00
Gaëtan Harter
c84539fdb3
cortexm_common: allow defining ROM_OFFFSET in a compilation rule
Define _rom_offset with a conditional evaluated at execution time to allow
setting it in compilation rules and generate in the same make instance different
elf files with different configurations.
2018-08-11 11:33:55 +02:00
Gaëtan Harter
9103dcaeda
cortexm_common: refactor the definition test
The variables should all always be defined.
2018-08-11 11:33:52 +02:00
Gaëtan Harter
83a617261a
cortexm_common/ldscript: add _fw_rom_length variable
It will help testing if it is taken into account and for defining for outside
after.
2018-08-11 11:33:47 +02:00
Gaëtan Harter
d9db258411
cortexm_common/ldscript: re-use _rom_offset variable name
Inspired by kaspar030 version to removing the new _boot_offset variable.

cbf324a66d/cpu/cortexm_common/ldscripts/cortexm.ld
2018-08-11 11:33:39 +02:00
smlng
d9c9c9479e cpu/cc2538: add debug output in periph/spi 2018-08-10 10:38:51 +02:00
smlng
e246c19fe1 cpu/cc2538: adapt periph/spi to gpio API
Rework SPI periph driver to use proper RIOT GPIO API functions.
    Also cleanup header files by using vendor defines and remove
    obsolete code. Further, adapt board config accordingly.
2018-08-10 10:38:51 +02:00
smlng
d8e2611ed9 cpu/cc2538: refine gpio_init_mux
Introduces a define to inidicate an unused function parameter.
2018-08-10 10:38:51 +02:00
Martine Lenders
9bb33b9294
Merge pull request #9697 from miri64/kinetis/enh/gpio-unused-function
kinetis: uart: fix unused-function warning
2018-08-08 10:33:22 +02:00
Martine Lenders
376c10feff kinetis: uart: fix unused-function warning
When compiling with LLVM (should also be seen `-Wunused-function` in
GCC), I get an error for `frdm-k22f`. This should fix that.
2018-08-08 10:02:53 +02:00
Vincent Dupont
824e10b52e cpu/stm32f0: update stm32f091 vendor header 2018-08-07 14:47:40 +02:00
smlng
459f7ebce0 cpu/cc2538: generalise SPI clock configuration
The SPI bus frequency/clock is calculated relative to the MCUs
    core clock. Currently all boards use the default 32MHz, hence
    prescaler settings for SPI are all the same. This PR moves the
    default config for 32MHz to the CPU and allows to be overriden
    by board config if needed.
2018-08-07 12:15:45 +02:00
smlng
7ff2e44821 cpu/cc2538: cleanup periph timer headers and code
Remove unused or obsolete defines in headers, due to usage of
    vendor headers. Also remove register bit definition in timer
    struct because they where not used in the implementation.
2018-08-07 08:13:47 +02:00
smlng
b7ab6b4b36 cpu/cc2538: cleanup periph timer implementation
Refine periph timer implementation to use vendor header defines
    where possible, remove unnecessary structs and general cleanup.
2018-08-07 08:13:47 +02:00
3e7c5423e5
Merge pull request #8917 from aabadie/pr/cpu/flashpage_l4
cpu/stm32l4: add support for flashpage
2018-08-06 14:11:45 +02:00
MichelRottleuthner
43e65ff5c8
Merge pull request #9500 from PeterKietzmann/pr_puf_nrfx
cpu/nrf5x_common: add PUF SRAM feature to makefile
2018-08-06 13:06:33 +02:00
d1a214ca74 cpu/stm32l4: configure flashpage 2018-08-06 12:33:03 +02:00
a008b983b3 cpu/stm32_common: add flashpage support for stm32l4 2018-08-06 12:33:03 +02:00
Martine Lenders
233935c539
Merge pull request #9700 from miri64/stm32_common/fix/unused-function
stm32_common: i2c_2: fix for -Wunused-function
2018-08-03 18:43:06 +02:00
Martine Lenders
6f78a7f331 stm32_common: i2c_2: fix for -Wunused-function
This came up when compiling an application for a STM32-based board
with LLVM/clang. The function is not used if I²C is not provided.
2018-08-03 16:12:52 +02:00
Martine Lenders
1ca6df3313 nrf5x_common: gpio: remove unused pin_num() function
This came up when compiling an application for an NRF5x-based board
with LLVM/clang. The function does not seem to be used throughout the
file so I just removed it.
2018-08-03 16:09:38 +02:00
smlng
df37e69b90 cpu/cc2538: add TI vendor headers
Currently the cc2538 is based on from-scratch adaption which is
    not feature complete and thus lacks defines etc. Introducing the
    official vendor header will ease future extension and adaptions
    of the CPU and its features.
2018-08-03 08:29:32 +02:00
Sebastian Meiling
26c689ffbb
Merge pull request #9548 from RIOT-OS/new_i2c_if3
I2C: introduce and adapt new I2C interface (2nd attempt)
2018-08-02 12:00:59 +02:00
Martine Lenders
ad133da209 native: ignore -Wformat-nonliteral for formatting syscalls
The point of that call is to wrap the actual host system's formatting
functions, so the non-literal formatting string is alright here.
2018-08-01 09:03:01 +02:00
dylad
69297a0939 cpu/stm32_common: remove scl_af/sda_af attribut for STM32F1 2018-07-25 15:17:43 +02:00
smlng
0b9a54f184 cpu/kinetis: suppress selfAssignement warning by cppcheck
cppcheck raises a warning due to self assignment. As this is
    intentional to clear all IRQ on register status flags, this
    warning is suppressed now.
2018-07-25 12:01:40 +02:00
smlng
e39ebb1623 cpu/sam0: add doxygen group around i2c_speed_t 2018-07-25 12:01:40 +02:00
smlng
90f66a1952 cpu/sam0_common/i2c: fix ambiguous reg assignment
The value assigned to the register was unclear due to usage
    of bit-comparison and ternary operator, added parentheses to
    make it explicit.
2018-07-25 12:01:40 +02:00
Bas Stottelaar
e8a76acea5 cpu: efm32: adapt to new i2c interface. 2018-07-25 12:01:40 +02:00
5f1d5e0d83 cpu/stm32_common: various improvements in i2c_1 driver
- dont send stop if bus is busy and before any action is done on bus
- and bus check that looks for bus error, arbitration and nack events
- check for ACK (TXIS) before writing bytes on bus and not between each write
2018-07-25 12:01:39 +02:00
Laurent Navet
c7fed1526c cpu/atmega_common: adapt to new i2c api
Rework atmega i2c to match new i2c interface.
Only i2c_read_bytes and i2c_write_bytes are implemented.
2018-07-25 12:01:39 +02:00
3e6336ce89 cpu/nrf51: adapt to new I2C api 2018-07-25 12:01:39 +02:00
MrKevinWeiss
e8c56ceadc cpu/stm32_common/i2c: Fix return error code 2018-07-25 12:01:39 +02:00
Joakim Nohlgård
31b461d71c kinetis: Interrupt based I2C transfers 2018-07-25 12:01:39 +02:00
Joakim Nohlgård
175f398b58 kinetis: Refactor I2C driver 2018-07-25 12:01:39 +02:00
Joakim Nohlgård
3ac45b5aa2 kinetis: Reflow text in doc.txt 2018-07-25 12:01:38 +02:00
MrKevinWeiss
6016266c77 cpu/stm_common/i2c: Fix error code 2018-07-25 12:01:38 +02:00
MrKevinWeiss
6a3f9f35dc cpu/stm32_common/i2c: Fix extra clear_addr 2018-07-25 12:01:38 +02:00
MrKevinWeiss
6f6c3d7926 cpu/stm_common/i2c: style fix 2018-07-25 12:01:38 +02:00
MrKevinWeiss
6c4f144e25 cpu/stm32_common/i2c: fix addr nack and flags 2018-07-25 12:01:38 +02:00
smlng
eee4f36ef5 cpu/cc2538: adapt periph/i2c to new api 2018-07-25 12:01:38 +02:00
smlng
a27ae261b8 cpu/cc2538: add gpio_init_mux function 2018-07-25 12:01:38 +02:00
99b3bb88bd cpu/stm32_common: update return values to error codes 2018-07-25 12:01:37 +02:00
Vincent Dupont
c0c9ea034c cpu/stm32_common: add timeouts in stm32f4 i2c driver 2018-07-25 12:01:37 +02:00
06e11c5586 cpu/stm32_common: adapt i2c driver to stm32f1 2018-07-25 12:01:37 +02:00
9166fb27fa cpu/stm32_common: split common i2c periph in 2
- i2c_1 is built for f0, f3, f7, l0 and l4
- i2c_2 is built for f4
2018-07-25 12:01:36 +02:00
ebc17acb59 cpu/stm32{f0,f3,f7,l0,l4}: unify i2c driver and use new API 2018-07-25 12:01:35 +02:00
35d65d8a44 cpu/stm32f3: update stm32f303xc CMSIS header file 2018-07-25 12:01:34 +02:00
ce108b9e18 cpu/stm32f3: update stm32f303xe CMSIS header file 2018-07-25 12:01:34 +02:00
dylad
4ff319b469 nrf52/i2c: adapt to new I2C API 2018-07-25 12:01:34 +02:00
dylad
e6bd6bfe3b sam0/i2c: update driver to new API 2018-07-25 12:01:34 +02:00
Josarn
d6c0398f3d atmega timer: Interrupt Pin
A debug pin can be used to probe timer interrupts with an oscilloscope or
 other time measurement equipment. Thus, determine when an interrupt occurs
 and how long the timer ISR takes.
 The pin should be defined in the makefile as follows:

CFLAGS += -DDEBUG_TIMER_PORT=PORTF -DDEBUG_TIMER_DDR=DDRF \
            -DDEBUG_TIMER_PIN=PORTF4
2018-07-18 20:48:17 +02:00
Francisco Acosta
d04058b54b
Merge pull request #9579 from MichelRottleuthner/pr_stm32_fix_ram_lengths
stm32_common: fix ram length for MCUs with non-contiguous ram regions
2018-07-18 14:35:29 +02:00
Michel Rottleuthner
b36131eea6 cpu/stm32_common: add variable for SRAM2 length on stm32l47xxx 2018-07-17 17:52:12 +02:00
Michel Rottleuthner
5610894ebe stm32_common: fix ram length for MCUs with non-contiguous ram
stm32l47xxx see RM0351, Rev 6, page 75
https://www.st.com/resource/en/reference_manual/dm00083560.pdf#page=75

stm32f303xx see RM0316, Rev 8, page 53
https://www.st.com/resource/en/reference_manual/dm00043574.pdf#page=53

stm32f334xx see RM0364, Rev 3, page 47
https://www.st.com/resource/en/reference_manual/dm00093941.pdf#page=47
2018-07-17 17:12:57 +02:00
608f0135d7
zep: Use netdev reset function 2018-07-16 15:36:34 +02:00
smlng
0067be035c cpu/cc2538: cleanup netdev calls in radio driver
Cleanup netdev calls using &dev->netdev for all functions and
    thereby omiting the explicit cast.
2018-07-13 12:17:03 +02:00
smlng
520f5b60b3 cpu/cc2538: use netdev reset function in radio driver 2018-07-13 12:17:03 +02:00
Vincent Dupont
83168ce628 cpu/stm32f7: remove conflicting enum from vendor header 2018-07-10 15:37:59 +02:00
Vincent Dupont
dc793e92b4 cpu/stm32f4: remove conflicting enum from vendor header 2018-07-10 15:37:49 +02:00
Vincent Dupont
3af2ff0bd1 cpu/stm32f3: remove conflicting enum from vendor header 2018-07-10 15:37:41 +02:00
Vincent Dupont
5cc7342d10 cpu/stm32f2: remove conflicting enum from vendor header 2018-07-10 15:37:32 +02:00
Vincent Dupont
3aa7722e16 cpu/stm32f0: remove conflicting enum from vendor header 2018-07-10 15:37:24 +02:00
97bc07efee
Merge pull request #9520 from OTAkeys/pr/stm32f4_line_fixup
cpu/stm32f4: use CPU_LINE in stm32f410-specific code
2018-07-09 22:09:28 +02:00
Francisco Acosta
e2ab6cf882
Merge pull request #9472 from gebart/pr/kinetis-mcg-conditional
kinetis: Conditionally enable MCG
2018-07-09 14:44:20 +02:00
Vincent Dupont
bdac278c18 cpu/stm32_common/hwrng: use CPU_LINE for for stm32f410-specific code 2018-07-09 11:52:05 +02:00
Vincent Dupont
654595221d cpu/stm32_common: use CPU_LINE for stm32f410-specific code 2018-07-09 11:51:39 +02:00
Gilles DOFFE
e031175d3c cpu/stm32f4: add support for stm32f405rg
Signed-off-by: Gilles DOFFE <gilles.doffe@savoirfairelinux.com>
2018-07-07 14:38:50 +02:00
MichelRottleuthner
392c40e1a0
Merge pull request #8804 from MichelRottleuthner/pr_stm32l4_add_adc
cpu/stm32l4: add adc implementation
2018-07-06 10:31:41 +02:00
PeterKietzmann
45d47ea22f cpu/stm32_common: add PUF SRAM feature to makefile 2018-07-05 16:21:14 +02:00
PeterKietzmann
d36f228b24 cpu/nrf5x_common: add PUF SRAM feature to makefile 2018-07-05 11:17:30 +02:00
Cenk Gündoğan
835f8f0daa
Merge pull request #9290 from PeterKietzmann/pr_sram_puf
Add SRAM based PRNG seeder
2018-07-04 18:08:53 +02:00