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

3985 Commits

Author SHA1 Message Date
Juan I Carrano
68d68d18b4
Merge pull request #10362 from gschorcht/esp32_compile_fix
cpu/esp32: fixes compile problems
2018-11-21 14:18:15 +01:00
PeterKietzmann
8d11ca417f cpu/atmega_common: add mega2560 puf_sram feature 2018-11-20 09:45:32 +01:00
MichelRottleuthner
e0e02c04c8
Merge pull request #10386 from PeterKietzmann/pr_puf_variables_move
sys/puf_sram: CPU specific variable allocation
2018-11-20 09:21:25 +01:00
PeterKietzmann
0be350e352 sys/puf_sram: CPU specific attributes for variables 2018-11-20 08:34:53 +01:00
Gunar Schorcht
2a7c33bdf6 cpu/esp32: fixes compile problems 2018-11-20 00:49:33 +01:00
08dd9a1df8
cc2538_rf: Don't propagate address to 802154 layer 2018-11-17 22:38:18 +01:00
ffe6aed83e
cc2538_rf: Add NETOPT_ADDRESS{,_LONG} to getters 2018-11-17 22:38:17 +01:00
Semjon Kerner
ee3ef1927d cpu/nrf5x: fix event hang 2018-11-14 12:48:32 +01:00
Schorcht
16f0bf4fdc cpu/esp32: fixes compile problems 2018-11-10 14:14:49 +01:00
f3fa8b5ecd
Merge pull request #8558 from gebart/pr/kinetis-gpio-interrupt
kinetis: Optimize GPIO interrupt handler
2018-11-08 22:27:38 +01:00
Joakim Nohlgård
8bb73f237d kinetis: GPIO: avoid dup calls to cortexm_isr_end on KW41Z
Devices with combined IRQs would call the cortexm_isr_end handler twice
when it is part of the irq_handler routine.
2018-11-08 14:52:10 +01:00
Joakim Nohlgård
b9ceac5ccc kinetis: Optimize GPIO IRQ handler
Measurements show that the time from pin edge until return from
interrupt is reduced from 22 us to 6.1 us for KW41Z running at
41.94 MHz. The measurements used a no-op GPIO callback for testing and
were measured using an external logic analyzer.
2018-11-08 14:52:10 +01:00
Semjon Kerner
1e9c0b8d21 cpu/nrf51: update vendor headers 2018-11-08 14:09:41 +01:00
Semjon Kerner
d8a30eeedf cpu/nrf52: update vendor headers 2018-11-08 14:09:33 +01:00
José Alamos
296356fe4e
Merge pull request #10325 from gschorcht/esp32_doxygen_fix
cpu/esp32: doxygen fix for periph/gpio
2018-11-05 14:58:32 +01:00
Gunar Schorcht
100a4c666e cpu/esp32: doxygen fix
Removes architecture specific includes from documentation of module  Peripheral Driver Interface / GPIO.
2018-11-05 11:27:00 +01:00
Gunar Schorcht
ffd69868c6 cpu/esp8266: doxygen fix
Removes architecture specific includes from documentation of module  Peripheral Driver Interface / GPIO.
2018-11-05 11:23:40 +01:00
Francisco Acosta
b2fc9b197e cpu/atmega*: remove unnecessary code (already factored out)
cpu.c and startup.c were redundant in most platforms, except for
atmega256rfr2. The common code is now in cpu/atmega_common/cpu.c
and cpu/atmega_common/startup.c. cpu_conf.h is also removed as
it's now in cpu/atmega_common/include thus shared by all atmega
based platforms.
2018-11-02 16:23:48 +01:00
Francisco Acosta
4f28407af8 cpu/atmega_common: use the same cpu_conf for all atmega based boards
Removes redundancy of code since all the boards were defining
the same variables. Moreover, the stack sizes are unified per
architecture, as required.
2018-11-02 16:23:48 +01:00
Francisco Acosta
feac98cc97 cpu/atmega_common: add cpu.c and startup.c common code
Removes duplicated code for atmega platforms. They were all
basically the same, only with the exception of atmegarfr2,
for which there is an #if statement to use the code in the
same file.
2018-11-02 16:23:47 +01:00
Francisco Acosta
0d95cc877b
Merge pull request #10273 from snej/master
cpu/esp32: allow explicit ESP32 crystal freq configuration
2018-11-01 14:04:57 +01:00
Jens Alfke
ce1fe776cf cpu/esp32: allow explicit ESP32 crystal freq configuration
Some ESP32 boards (like my SparkFun ESP32 Thing) have a main clock
crystal that runs at 26MHz, not 40MHz. RIOT appears to assume 40MHz.
The mismatch causes the UART to not sync properly, resulting in
garbage written to the terminal instead of log output.

I’ve added:

* A new board configuration constant ESP32_XTAL_FREQ that defaults
  to 40, but can be overridden by a board def or at build time to
  force a specific value (i.e. 26).
* Some code spliced into system_clk_init() to check this constant and
  call rtc_clk_init() to set the correct frequency.
* A copy of the rtf_clk_init() function from the ESP-IDF sources.

Fixes #10272
2018-10-30 16:42:07 -07:00
c71c27cf5c cpu/nrf51: add gpio to features provided 2018-10-27 09:47:42 +02:00
MrKevinWeiss
3e1fd9f494 cpu/stm32_common/i2c: Fix error handling in i2c_1.c
Errors flags could not clear making the i2c unusable after error.
This fix removes the error check in start so the error flags can clear and does proper checking for status bits before _bus_check.
2018-10-26 09:56:35 +02:00
Juan I Carrano
4d85bcf510
Merge pull request #10062 from cladmi/pr/make/cpu/fe310/features
cpu/fe310: rtc depend on the rtt feature and hifive1 update
2018-10-23 13:28:17 +02:00
Kevin "Bear Puncher" Weiss
cb09092c0b
Merge pull request #10125 from gschorcht/esp8266_cpu_freq
cpu/esp8266: cpu frequency settings feature added
2018-10-19 14:53:45 +02:00
Schorcht
0d796d6eec cpu/esp8266: cpu frequency settings 2018-10-19 13:08:32 +02:00
Hauke Petersen
86b4a41466
Merge pull request #10158 from silkeh/fix-nrf5x-gpio
nrf5x_common: gpio: fix port 1 functionality
2018-10-17 17:17:46 +02:00
Kevin "Bear Puncher" Weiss
0628345364
Merge pull request #10093 from aabadie/pr/drivers/periph_eeprom_refactor
drivers/periph_eeprom: refactor implementation and test application
2018-10-16 16:30:40 +02:00
Kevin "Bear Puncher" Weiss
7187bbf8cf
Merge pull request #9426 from gschorcht/esp32
ESP32 port
2018-10-16 15:24:25 +02:00
Semjon Kerner
5b0152f4f7 drivers/netdev_ieee802154: drop NETOPT_MAX_PKT_SIZE 2018-10-16 13:28:03 +02:00
e9a6ebc409 cpu: drivers/eeprom: refactor periph_eeprom implementation 2018-10-16 10:39:10 +02:00
Peter Kietzmann
b2c791c6cb
Merge pull request #10135 from miri64/cpu/enh/periph-gpio-irq-closing-endif
cpu, periph_gpio: mark closing #endif for MODULE_PERIPH_GPIO_IRQ
2018-10-15 13:41:02 +02:00
Gunar Schorcht
5ef7adfbcb cpu/esp32: fix problem with tests/thread_race
The problem seemed to be a pipelining problem of write and read instructions when swapping the context. An isync instruction when returning from a context switch solves the potential pipelining problem.
2018-10-14 15:08:31 +02:00
Gunar Schorcht
df1b6521f4 cpu/esp32: fixes the problem with tests/pthread_*
Reason for the problem was that tast_exit function in thread_arch.c tried to release the thread a second time although it was already released in sched_task_exit. A simple check whether the thread is already released (sched_active_thread == NULL) solved the problem.
2018-10-14 13:55:43 +02:00
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
PeterKietzmann
2f86d6fcd8 cpu/cc2538: add SRAM based random seed 2018-07-04 17:55:20 +02:00
PeterKietzmann
347b972538 cpu/samd21: add SRAM based random seed 2018-07-04 17:55:20 +02:00
PeterKietzmann
729e3f2ac4 cpu/stm43f4: add SRAM based random seed 2018-07-04 17:55:20 +02:00
PeterKietzmann
20397c5b15 cortexm_common: add SRAM based PRNG seeder 2018-07-04 17:55:16 +02:00
f7922b9055 cpu/stm32l4: adapt for stm32l476vg 2018-07-04 09:19:46 +02:00
Joakim Nohlgård
172af17ae4 kinetis: Conditionally enable MCG 2018-06-30 19:14:59 +02:00
05c53a9216
Merge pull request #9435 from OTAkeys/pr/stm32f2_cpu_line
cpu/stm32f2: make use of CPU_LINE
2018-06-29 15:42:37 +02:00
5206446cf7
Merge pull request #9439 from OTAkeys/pr/stm32f3_cpu_line
cpu/stm32f3: make use of CPU_LINE
2018-06-29 15:42:17 +02:00
48d65d656f
Merge pull request #9441 from OTAkeys/pr/stm32f7_cpu_line
cpu/stm32f7: make use of CPU_LINE
2018-06-29 15:41:58 +02:00
Peter Kietzmann
8ab20f0551
Merge pull request #9456 from ZetaR60/RIOT_atmega_gpio_misc_fix
cpu/atmega_common: misc gpio interrupt fixes
2018-06-29 09:18:35 +02:00
Francisco Acosta
23d176f46b
Merge pull request #8857 from ZetaR60/RIOT_atmega_time_dot_h
cpu/atmega_common: Use updated time.h
2018-06-28 22:29:20 +02:00
Matthew Blue
adc44e6496 cpu/atmega_common: misc gpio interrupt fixes 2018-06-28 16:06:36 -04:00
Vincent Dupont
c93002351b cpu/stm32f7: make use of CPU_LINE 2018-06-27 10:38:46 -07:00
Vincent Dupont
d89fda5768 cpu/stm32f3: make use of CPU_LINE 2018-06-27 10:27:19 -07:00
Joakim Nohlgård
28fe4b8653 kinetis: Clean up SPI module power handling
Fixes a problem with hardware CS when using slow SPI speeds,
mentioned in https://github.com/RIOT-OS/RIOT/issues/6437#issuecomment-283114795
2018-06-27 19:21:39 +02:00
Vincent Dupont
48a360afff cpu/stm32f2: make use of CPU_LINE 2018-06-27 09:47:40 -07:00
Vincent Dupont
f4c01499c6
Merge pull request #9096 from OTAkeys/pr/stm32_cpu_line
cpu/stm32: add CPU_LINE_* variable and use it for stm32f0 and stm32f4
2018-06-27 00:21:02 -07:00
Marian Buschsieweke
80e448083e
cpu/msp430fxyz: Fixed input sanitizing in GPIO_PIN 2018-06-26 21:16:23 +02:00
Peter Kietzmann
aafb098a5e
Merge pull request #9413 from PeterKietzmann/pr_olegart_stm32l1_adc_clock
cpu/stm32l1: fix ADC clock
2018-06-26 16:56:48 +02:00
Oleg Artamonov
3f4752e91c cpu/stm32l1: fix ADC clock 2018-06-26 16:42:27 +02:00
Francisco Acosta
f0dce1b920
Merge pull request #8988 from Josar/atmega_isr
cpu/atmega_common: __exit_isr thread_yield
2018-06-26 16:12:39 +03:00
Hauke Petersen
7ffd6265bb cpu/nrf52: enable instruction cache 2018-06-22 16:09:23 +02:00
Peter Kietzmann
8724407686
Merge pull request #8958 from aabadie/pr/cpu/lm4f120
cpu/lm4f120: remove useless periph file guard
2018-06-22 13:27:23 +02:00
ZetaR60
7b8e3cbd01
Merge pull request #9340 from Josar/fix_gpio
atmega_common/gpio.c: Fixes GPIO_LOW interrupt
2018-06-21 14:08:52 -04: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
steffen
3ad71d5be0 atmega_common/gpio.c Fixes GPIO interrupt
fixes the GPIO_LOW interrupt on the atmega platform.
It results from trying to shift GPIO_LOW. Since it is 0, it is not shiftable and will not be set correctly.
There were more issues with the other flanks too, as they are 0b01 or 0b00. If 0b11 was set as a flank before it would not be able to switch to any other mode anymore. Now the bits get cleared before the new flank will be written.
2018-06-21 11:28:42 +02:00
5d633cd6d1 cpu/lm4f120: drop useless periph timer guards 2018-06-21 08:56:55 +02:00
Michel Rottleuthner
e4c405daf3 cpu/stm32l4: add adc support 2018-06-20 13:34:16 +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
Vincent Dupont
26cb3d8953 cpu/stm32f0: make use of CPU_LINE and STM32_FLASHSIZE 2018-06-19 14:31:23 +02:00
Vincent Dupont
e1ce7e5026 cpu/stm32_common: add STM32_FLASHSIZE constant 2018-06-19 14:31:23 +02:00
Vincent Dupont
d6d0f1a851 cpu/stm32f0: add custom CPU_LINE 2018-06-19 14:31:23 +02:00
Vincent Dupont
2e90eda456 cpu/stm32f4: make use of CPU_LINE_ variable 2018-06-19 14:22:48 +02:00
Vincent Dupont
4d7a195d33 cpu/stm32_common: add CPU_LINE_ variable 2018-06-19 14:22:46 +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
Josarn
91359631d5 cpu/atmega_common/thread_arch.c: uncrustified 2018-06-14 21:47:33 +02:00
Josarn
40c1839a8c cpu/atmega_common/periph/uart.c: uncrustified 2018-06-14 21:47:33 +02:00
Josarn
0e491861af cpu/atmega_common/periph/timer.c: uncrustified 2018-06-14 21:47:33 +02:00
Josarn
fe92771372 cpu/atmega_common/include/cpu.h: uncrustified 2018-06-14 21:47:33 +02:00
Josarn
9b631170cb cpu/atmega_common: uncrustified 2018-06-14 21:47:33 +02:00
Josarn
80b02e5268 cpu/atmega_common: exit_isr thread_yield 2018-06-14 21:47:33 +02:00
938677cc83 cpu*: fix doxygen grouping 2018-06-11 19:12:02 +02:00
4133908fe0 cpu/native: fix doxygen grouping 2018-06-11 19:12:02 +02:00
Juan Carrano
da85094b65 cpu/saml21: Fix possibly uninitialized variable in pm.c. 2018-06-11 18:35:41 +02:00
Simon Brummer
323a38819a native: Enforce safe strncpy usage in tap device setup 2018-06-10 17:16:46 +02:00
Hauke Petersen
e99010ac3e cpu/nrf5x: include nrfx.h compatibility header 2018-06-06 13:52:57 +02:00
Bas Stottelaar
0c47233f97 cpu: efm32: add support for non-standard UART modes. 2018-06-04 18:16:41 +02:00
Bas Stottelaar
c3161ce524 cpu/efm32: efm32pg12b: add support 2018-06-03 16:48:04 +02:00
Bas Stottelaar
9b3f8ca047 cpu/efm32: efm32pg12b: add vendor headers 2018-06-03 16:48:04 +02:00
Peter Kietzmann
b3ef51fb39
Merge pull request #9232 from maribu/lpc2387
cpu/lpc2387: Fixed invalid call to send_msg in lpc2387-mci.c
2018-06-01 08:11:25 +02:00
Francisco Acosta
7529133558
Merge pull request #9068 from aabadie/pr/stm32-common/fix_flashpage_m3
cpu/stm32-common: slightly rework flashpage driver and fix iotlab-m3
2018-05-30 17:50:20 +02:00
Francisco Acosta
1aed925ca8
Merge pull request #8951 from ZetaR60/RIOT_atmega_ext_int_clarity
cpu/atmega_common: external interrupt fix and refactor
2018-05-30 16:33:34 +02:00
Francisco Acosta
9a0f3469b7
Merge pull request #8930 from gebart/pr/kinetis-rtt-refactor
kinetis: Refactor RTT driver
2018-05-30 14:54:15 +02:00
600727453b cpu/stm32_common/flashpage: clear EOP bit
This was taken from STM32 Cube generated code
2018-05-30 14:14:29 +02:00
f7b61b6ac1 cpu/stm32_common/flashpage: force waiting for pending operations
Moving the while loop in a separate function ensures no ordering
    optimizations is applied silently by gcc.
    This commit fixes the flashpage not working on iotlab-m3.
2018-05-30 14:12:24 +02:00
c73ec5c00f cpu/stm32_common/periph: don't lock if flash is already locked 2018-05-30 14:09:17 +02:00
cb089a2f74 cpu/stm32_common/periph: cleanup flashpage
- improve debug messages
- fix missing space before comment
- use a comment instead of debug message (the same message is displayed by the function called after)
2018-05-30 14:09:17 +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
kenrabold
db4d67c4fd make: add hifive1 to BOARD_INSUFFICIENT_MEMORY
Added HiFive1 to BOARD_INSUFFICIENT_MEMORY list for examples and tests that are too big to fit

build: fixed missing syscall and cpuid failures

Added missing syscall stubs for nanostubs and fixed compile error with cpuid periph

build: fixed whitespace error

build: add hifive1 to more BOARD_INSUFFICIENT_MEMORY

doc: fixed doxygen warnings

Addressed Doxygen warnings in source file comments

doc: more doxygen fixes

doc: even more doxygen fixes

doc: more changes

build: fix pedantic and rdci_simple build failures

make: exclude lua
2018-05-29 16:27:53 -07:00
kenrabold
7d1d5e77d8 cpu/fe310: add RISC-V cpu FE310
New CPU FE310 from SiFive based on RISC-V architecture

build: add makefile for RISC-V builds

Makefile for builds using RISC-V tools
2018-05-29 15:21:45 -07:00
Matthew Blue
0b2d620161 cpu/atmega328p: external interrupt refactor 2018-05-29 11:24:16 -04:00
Matthew Blue
6ea326112d cpu/atmega256rfr2: external interrupt refactor 2018-05-29 11:24:16 -04:00
Matthew Blue
737c46367a cpu/atmega2560: external interrupt refactor 2018-05-29 11:24:15 -04:00
Matthew Blue
327bf09d20 cpu/atmega1284p: external interrupt refactor 2018-05-29 11:24:15 -04:00
Matthew Blue
a61aff6404 cpu/atmega1281: external interrupt refactor 2018-05-29 11:24:15 -04:00