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

3677 Commits

Author SHA1 Message Date
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
Matthew Blue
533388d3ae cpu/atmega_common: external interrupt fix and refactor 2018-05-29 11:24:15 -04:00
Francisco Acosta
6e484f7aed
Merge pull request #8814 from gebart/pr/kinetis-periph-timer-tfc
cpu/kinetis: Refactor LPTMR timer implementation
2018-05-29 15:54:11 +02:00
Loïc Dauphin
b7a8ba73a9
Merge pull request #8933 from gebart/pr/kinetis-pit-refactor
kinetis: Refactor PIT timer driver implementation
2018-05-29 11:09:55 +02:00
Matthew Blue
dfa8fb919d sys/timex: fix incompatible atmega time.h 2018-05-28 13:04:55 -04:00
Matthew Blue
442634728f cpu/atmega_common: add struct timespec to time.h 2018-05-28 13:04:55 -04:00
Matthew Blue
b597700a67 cpu/atmega_common: ignore format of avr-libc in CI 2018-05-28 13:04:55 -04:00
Matthew Blue
2a92d480ea cpu/atmega_common: Use updated time.h from avr-libc-2.0.0 2018-05-28 13:04:55 -04:00
Bas Stottelaar
840de5139b cpu: efm32: fix for cpp support. 2018-05-25 20:36:21 +02:00
Joakim Nohlgård
9657274d0d
Merge pull request #9147 from gebart/pr/kinetis-z-gpio-irqn
kinetis: GPIO: Enable the correct IRQn on CM0+
2018-05-25 00:50:59 +02:00
Joakim Nohlgård
09e0e8953d kinetis: GPIO: Enable the correct IRQn on CM0+ 2018-05-24 23:54:56 +02:00
Vincent Dupont
c99ac9ce3f cpu/stm32f4: add stm32f437vg support 2018-05-24 15:15:48 +02:00
f3c3818fa7 cpu/atmega*: configure eeprom 2018-05-24 14:07:55 +02:00
364806e585 cpu/atmega_common: add support for eeprom periph interface 2018-05-24 14:07:55 +02:00
aa6cf07390 cpu/stm32l1: add definitions for internal eeprom 2018-05-24 14:07:55 +02:00
fc9a853c20 cpu/stm32l0: add definitions for internal eeprom 2018-05-24 14:07:55 +02:00
331ad0970d cpu/stm32{f,l}{0,1}: provide flash common feature 2018-05-24 14:07:55 +02:00
89e0389f27 cpu/stm32_common: implement eeprom access functions 2018-05-24 14:07:55 +02:00
01934de2ff
Merge pull request #9177 from smlng/pr/cpu/cortex/vector/indention
cpu/cortex_common: fix indention in vector table
2018-05-24 11:55:13 +02:00
smlng
34ade00db9 cpu/cortex_common: fix indention in vector table 2018-05-24 11:26:46 +02:00
Vincent Dupont
b8dd0baa73 cpu/stm32f4: fix periph_cpu.h for f412zg and f446ze 2018-05-24 10:31:00 +02:00
633a92929d boards/nucleo-l031k6: rename to st marketing name 2018-05-23 12:50:33 +02:00
3e4f7adc95 boards/nucleo-f031k6: rename to st marketing name 2018-05-23 12:46:42 +02:00
83e1298c5a cpu/stm32f4: use nucleo-f446ze name 2018-05-23 12:09:28 +02:00
Vincent Dupont
93ebf38615
Merge pull request #8649 from aabadie/pr/nucleo-rename
boards/nucleo64*: rename boards to use their ST marketing name
2018-05-23 12:08:06 +02:00
Vincent Dupont
8fc63738f6 cpu/stm32_common: adapt UART driver to use DMA 2018-05-23 11:09:46 +02:00
Vincent Dupont
6551d896be cpu/stm32_common: adapt SPI driver to use DMA 2018-05-23 11:09:46 +02:00
Vincent Dupont
d399518ac6 cpu/stm32_common: add DMA implementation for F2/F4/F7 2018-05-23 11:09:46 +02:00
5821bfd68e boards/nucleo-f446re: rename to marketing name 2018-05-22 21:52:41 +02:00
de783eed78 boards/nucleo-f411re: rename to marketing name 2018-05-22 21:52:41 +02:00
7818c1a080 boards/nucleo-f401re: rename to marketing name 2018-05-22 21:52:41 +02:00
Francisco Acosta
8ab908146e
Merge pull request #8959 from aabadie/pr/cpu/guard_atmega_common
cpu/atmega_common: remove useless periph file guard
2018-05-22 19:57:46 +02:00
Joakim Nohlgård
fb73067494 kinetis: Refactor PIT driver
Stop prescaler instead of counter channel to avoid the need for saving
and restoring timeouts
2018-05-22 16:47:35 +02:00
Joakim Nohlgård
16af9b0beb kinetis: Clean up PIT timer implementation 2018-05-22 16:47:23 +02:00
Joakim Nohlgård
a6c30ab61d kinetis: Move RTT config to periph_cpu.h 2018-05-22 16:46:39 +02:00
Joakim Nohlgård
c7801e466d kinetis: Refactor RTT driver
- Keep counter value between resets
- Let kinetis_mcg_init manage the RTC oscillator, to avoid disrupting
  the core clock in certain configurations
- Remove some unnecessary macros for hardware abstraction; all Kinetis
  CPUs which have an RTC only have a single RTC instance, and the ISRs
  and hardware registers are named the same way in all Kinetis CPU
  headers.
2018-05-22 16:46:39 +02:00
Joakim Nohlgård
9e10cd4401 cpu/kinetis: Refactor LPTMR driver implementation
Uses timer freerunning counter mode (TFC) and updating an internal
reference point instead of relying on RTT for reference time. The
target accuracy has been greatly improved for all test cases in
bench_periph_timer
2018-05-22 16:45:41 +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
b7c65fe2ce
Merge pull request #9132 from gebart/pr/native-pm
native: define PROVIDES_PM_SET_LOWEST
2018-05-15 21:48:40 +02:00
601846c2ba cpu/stm32l4: add support for stm32l496zg 2018-05-15 11:56:51 +02:00
Joakim Nohlgård
2d88cfca15 native: Define PROVIDES_PM_SET_LOWEST 2018-05-15 10:58:05 +02:00
ecb2e4767d
Merge pull request #8955 from aabadie/pr/cpu/guard_cc2538
cpu/cc2538: remove obsolete periph file guard
2018-05-14 22:46:47 +02:00
3f1657ffbb
Merge pull request #8952 from ZetaR60/RIOT_atmega_graceful_clock
boards/common/atmega: gracefully handle CKDIV8 fuse
2018-05-14 16:11:17 +02:00
bb60b3e040
Merge pull request #9074 from haukepetersen/opt_nrf5x_nrfminfeature
cpu/nrf5x: define nrfmin feature in nrf5x_common
2018-05-12 02:18:31 +02:00
Joakim Nohlgård
77449aa592
Merge pull request #9103 from gebart/pr/cortexm-vectors-const
cortexm: const ISR vectors
2018-05-11 21:35:12 +02:00
83e8a52176
Merge pull request #9089 from gebart/pr/ldscript-attrs
cpu: ldscript memory attribute corrections
2018-05-09 09:26:20 +02:00
260940cfa3
Merge pull request #9079 from OTAkeys/pr/stm32f423
cpu/stm32f4: add support for STM32F423 line
2018-05-09 09:18:18 +02:00
Joakim Nohlgård
986000492d stm32_common: Adjust ldscript memory segment attributes 2018-05-09 06:49:29 +02:00
Joakim Nohlgård
e29e0588b4 sam_common: Adjust ldscript memory segment attributes 2018-05-09 06:49:25 +02:00
Joakim Nohlgård
28361592ae sam0_common: Adjust ldscript memory segment attributes 2018-05-09 06:49:02 +02:00
Joakim Nohlgård
72118db964 nrf52: Adjust ldscript memory segment attributes 2018-05-09 06:48:40 +02:00
Joakim Nohlgård
57b56d2e4d nrf51: Adjust ldscript memory segment attributes 2018-05-09 06:46:51 +02:00
Joakim Nohlgård
60b13e680c lpc2387: Adjust ldscript memory segment attributes 2018-05-09 06:46:05 +02:00
Joakim Nohlgård
bb7fdb6eda lpc1768: Adjust ldscript memory segment attributes 2018-05-09 06:45:28 +02:00
Joakim Nohlgård
37cb8dcf95 lm4f120: Adjust ldscript memory segment attributes 2018-05-09 06:45:00 +02:00
Joakim Nohlgård
433322834e ezr32wg: Adjust ldscript memory segment attributes 2018-05-09 06:44:39 +02:00
Joakim Nohlgård
4532c348b4 cortexm_common: Adjust ldscript memory segment attributes 2018-05-09 06:44:12 +02:00
Joakim Nohlgård
93e2527a64 cc26x0: Adjust ldscript memory segment attributes 2018-05-09 06:43:17 +02:00
Joakim Nohlgård
e3a27a74cc cc2538: Adjust ldscript memory segment attributes 2018-05-09 06:41:57 +02:00
Joakim Nohlgård
e7b957fb04 mips_pic32mz: Tabs to spaces in ldscript 2018-05-09 00:41:27 +02:00
Joakim Nohlgård
b8d6bcdb07 cortexm_common: specify load segment instead of load address for .data 2018-05-09 00:41:27 +02:00
Joakim Nohlgård
179e8505ba kinetis: Const ISR vector padding
Fixes misleading .data usage in size output because the .vectors section
is now properly marked as read-only in the ELF file.
2018-05-09 00:32:28 +02:00
Joakim Nohlgård
f073fdb34f cortexm_common: Mark base ISR vector as const 2018-05-09 00:32:28 +02:00
Joakim Nohlgård
85111cb159
Merge pull request #9084 from gebart/pr/kinetis-ldscript-fix
kinetis: Memory segment attribute fixes
2018-05-07 16:53:12 +02:00
Joakim Nohlgård
321aa567d6 kinetis: Memory segment attribute fixes
vectors and flashsec memory segments will not be considered for orphan
sections if rx is only given for the rom segment.
2018-05-05 08:11:00 +02:00
Vincent Dupont
4e86e12247 cpu/stm32_common: add info-stm32 make target 2018-05-04 15:30:56 +02:00
Vincent Dupont
51dcf27904 cpu/stm32f4: fix support for whole STM32F413 line 2018-05-04 15:30:56 +02:00
Vincent Dupont
9c03ff71b7 cpu/stm32f4: add support for STM32F423 line 2018-05-04 15:30:56 +02:00
Hauke Petersen
9815697b3e cpu/nrf5x: define nrfmin feature in nrf5x_common 2018-05-04 13:47:46 +02:00
Matthew Blue
55a7d8f83d boards/jiminy-mega256rfr2: remove context swap defines 2018-05-03 17:29:28 -04:00
Matthew Blue
2979626ef6 boards/common/atmega: gracefully handle CKDIV8 fuse 2018-05-02 14:05:33 -04:00
Matthew Blue
ac2b643308 cpu/atmega_common: return to non-interrupt context swaps 2018-04-27 14:13:34 -04:00
Semjon Kerner
ad993263e9 cpu/nrf51/pwm: initial implementation 2018-04-25 15:54:00 +02:00
Francisco Acosta
689333ff04
Merge pull request #8928 from gebart/pr/kinetis-clock-init
kinetis: Refactor clock initialization code
2018-04-17 12:15:47 +02:00
Joakim Nohlgård
c54f6b4fcf kinetis: Refactor clock generator initialization 2018-04-17 06:59:22 +02:00
bcab6bd1ba cpu/lpc2387: remove useless periph file guard 2018-04-16 10:11:47 +02:00
5a63331621 cpu/lpc1768: remove useless timer periph file guard 2018-04-16 10:09:03 +02:00
ebbb071e0a cpu/cc2538: remove useless periph file guard 2018-04-16 10:07:00 +02:00
1195ee609f cpu/atmega_common: remove useless periph file guard 2018-04-16 09:58:44 +02:00
Gaëtan Harter
e876bbd0ae
Merge pull request #8817 from cladmi/pr/ld/mips32r2_timer_set
mips32r2_common: timer fixes
2018-04-13 14:32:12 +02:00
Vincent Dupont
0d9badfab5 atmega_common: improve posix_unistd syscalls
Add open implementation and improve fcntl with variable arguments
2018-04-13 10:51:07 +02:00
3d97fd4771
Merge pull request #6164 from kaspar030/fix_cortexm_thread_yield
cortexm: fix thread_yield() -> thread_yield_higher() in ISRs
2018-04-13 10:27:46 +02:00
c9c7cd4951 cpu: cortexm_common: use thread_yield_higher() in cortexm_isr_end() 2018-04-13 10:12:39 +02:00
80f97b0f54
Merge pull request #8890 from basilfx/feature/efm32_rtt_rtc
cpu: efm32: throw error on including rtc and rtt together.
2018-04-12 23:10:56 +02:00
Gaëtan Harter
40c28d78c0 Revert "native: remove non required NATIVEINCLUDES"
This reverts commit 93a521c501.
2018-04-12 17:48:07 +02:00
a1050daec0
Merge pull request #8819 from Marc-Aurele/i2c_timeout_busy
cpu/stm32l0 : timeout added on waiting loop
2018-04-12 08:59:03 +02:00
Bas Stottelaar
bbb0606e33 cpu: efm32: mark rtc+rtt as conflict. 2018-04-11 18:39:59 +02:00
Martine Lenders
f52b17022e netdev_tap: fix return value of set option function 2018-04-10 15:12:15 +02:00
cladmi
3f145413f5 boards/makefiles: Remove '-Otype' from OFLAGS
* Remove '-Oihex' and '-Obinary' from OFLAGS for all boards
  It is now provided by the Makefile.include rule.
2018-04-09 17:32:46 +02:00
2866a26a24
Merge pull request #8808 from Josar/atmega_stackPointer
cpu/atmega_common: use __temp_reg__
2018-04-09 12:05:29 +02:00
d7bf2c112e
Merge pull request #7491 from aabadie/nucleo_l433
boards/nucleo-l433rc: initial support
2018-04-07 21:12:14 +02:00
Francisco Acosta
ce4384604e
Merge pull request #8824 from basilfx/feature/efm32_slwstk6200b
boards: slwstk6000b: add support
2018-04-06 13:59:41 +02:00
Hauke Petersen
a92b577bc1 cpu/nrf5x: added nrfble radio driver 2018-04-06 11:18:53 +02:00
Bas Stottelaar
b40cf3075e cpu/efm32: efr32mg12p: add support 2018-04-05 19:41:24 +02:00
Bas Stottelaar
9937f29eab cpu/efm32: efr32mg1p: extend vendor headers 2018-04-05 19:40:41 +02:00
Bas Stottelaar
d1441be06b cpu/efm32: efr32mg12p: add vendor headers 2018-04-05 19:40:34 +02:00
Bas Stottelaar
41347328ce cpu: efm32: correct power modes 2018-04-04 21:29:20 +02:00
Bas Stottelaar
5e912b9482
Merge pull request #8873 from basilfx/feature/efm32_update
pkg: gecko_sdk: update version
2018-04-04 12:50:43 +02:00
Bas Stottelaar
6f99dce581 cpu: lpc1768: correct number of modes. 2018-04-04 11:37:42 +02:00
Bas Stottelaar
c2a7ee0c8c cpu: efm32: update vendor files to 5.4.0 2018-04-03 19:02:03 +02:00
Bas Stottelaar
587a41ceab cpu: lpc1768: provide periph_pm. 2018-04-03 18:33:18 +02:00
Bas Stottelaar
6be31d1faa cpu: lpc1768: implement gpio driver 2018-04-03 16:47:25 +02:00
Francisco Acosta
69f4d632e3
Merge pull request #8837 from kaspar030/refactor_atmega_stdio
cpu/atmega: refactor stdio init code
2018-04-03 15:56:33 +03:00
391cc83881 cpu/atmega_common: provide common stdio initialization 2018-04-03 14:18:32 +02:00
Josarn
2ef1001ec7 cpu/atmega_common: use __temp_reg__ 2018-03-30 10:22:32 +02:00
Aurelien Fillau
59b1890ef8 i2c : timeout added on busy waiting loop
A timeout has been added to get out of busy waiting loop.

Signed-off-by: Aurelien Fillau <aurelien.fillau@gmail.com>
2018-03-29 10:23:43 +02:00
Gaëtan Harter
fff5810191 Makefile.include: FIX .DEFAULT_GOAL not being all
.DEFAULT_GOAL was reset many times which removed 'all' from being the default
goal.
By chance it was then set to `link` so was working by some magic.
2018-03-28 16:59:00 +02:00
Dylan Laduranty
1e3cf7db08
Merge pull request #8810 from gebart/pr/samd21-tc-intflags
cpu/samd21: Avoid clearing interrupt bits unintentionally
2018-03-27 11:25:59 +02:00
be5ae87262
Merge pull request #8829 from ZetaR60/RIOT_xplained
cpu/atmega1284p: support and boards/mega-xplained: support
2018-03-27 10:03:15 +02:00
Joakim Nohlgård
dfa342b5f8 cpu/samd21: Avoid clearing interrupt bits unintentionally
The INTENSET, INTENCLR, INTFLAG registers are write-1-to-confirm
registers, so writing zeroes will not affect anything, on the other
hand, a compiler generated read-modify-write cycle may unintentionally
affect more bits than the one being set. Avoid by using direct
assignment instead of or-assignment (|=) or bitfield writes (.bit.xxx=).
2018-03-27 07:54:18 +02:00
Matthew Blue
d3dc49e2ab cpu/atmega_common: Support for ATmega1284P 2018-03-25 14:24:40 -04:00
Matthew Blue
a55921394c cpu/atmega1284p: Initial ATmega1284P support 2018-03-25 14:24:37 -04:00
Martine Lenders
690c36b3cf
Merge pull request #8652 from cladmi/pr/remove_nativeincludes
native: remove non required NATIVEINCLUDES
2018-03-22 15:57:38 +00:00
Joakim Nohlgård
369036760a cpu/mips32r2_generic: Add PERIPH_TIMER_PROVIDES_SET
mips32r2_common already implements timer_set so it should not be provided by
periph_common/timer to avoid multiple definition errors currently hidden by the
linker.

The firmware was using the one from `mips32r2_common` before (binary checked).
So behaviour is identical.
2018-03-22 14:21:24 +01:00
Gaëtan Harter
d6e47461ba mips32r2_common/periph/timer: fix return values
Fix 'timer_set', 'timer_set_absolute' and 'timer_clear' return value to 1 on
success as documented in the API.
2018-03-22 14:21:03 +01:00
2c4b94b236 cpu/stm32l4: add support for stm32l433rc 2018-03-21 17:07:28 +01:00
Gaëtan Harter
93a521c501 native: remove non required NATIVEINCLUDES
Some modules used a 'NATIVEINCLUDES' with different include path and no other
included directories.
It was defining basic 'include' in a different order and not using other things
defined in INCLUDES.
After doing some checks with the given include path and possible conflicting
files, there should be no conflict when using the default one.

* No common headers between all the NATIVEINCLUDES directories
* No common headers files between board/native/include, cpu/native/include and
  other files in the repository (except other boards/cpus of course).
2018-03-20 17:51:03 +01:00
Martine Lenders
875a5c165d trace: initial import of a stack backtrace function for native
Sometimes the debugger just isn't fast enough to debug that pesky race
conditions. This module provides at least a little help.
2018-03-20 15:12:48 +00:00
Bas Stottelaar
9117fe577a cpu/efm32: efm32pg1b: add support 2018-03-16 16:26:58 +01:00
Bas Stottelaar
cbca0cc6ae cpu/efm32: efm32pg1b: add vendor headers 2018-03-16 16:26:58 +01:00
Bas Stottelaar
a05d1b1004 cpu/board: native: use common peripheral initialization 2018-03-15 23:26:01 +01:00
Martine Lenders
295c53ebd4
Merge pull request #8611 from beduino-project/sam3-clang-build-failure
cpu/sam3: fix build failure with TOOLCHAIN=llvm
2018-03-15 16:31:24 +01:00
Vincent Dupont
549bf0ef78 cpu/stm32: use const pointer in flashpage 2018-03-14 16:28:33 +01:00
Vincent Dupont
a1f482cbf7 cpu/sam0: use const pointer in flashpage 2018-03-14 16:28:33 +01:00
Vincent Dupont
b40249153d cpu/nrf5x: use const pointer in flashpage 2018-03-14 16:28:33 +01:00
Vincent Dupont
5a2a4cf1e0 cpu/msp430: use const pointer in flashpage 2018-03-14 16:28:32 +01:00
Vincent Dupont
4f44778a42 cpu/efm32: use const pointer in flashpage 2018-03-14 16:28:32 +01:00
Joakim Nohlgård
078104223a
Merge pull request #8732 from girtsf/cortexm-fix-no-mpu
cortexm_common: don't try to set MEMFAULTENA on ARMv6-M
2018-03-13 21:06:21 +01:00
06392bbfd3 cpu/stm32f1: add flashpage_raw support 2018-03-13 16:30:04 +01:00
4f7dc1ae41 cpu/stm32f0: add flashpage_raw support 2018-03-13 16:30:04 +01:00
4e1f2b5d38 cpu/stm32l1: add flashpage support 2018-03-13 16:30:04 +01:00
4972f952d4 cpu/stm32l0: add flashpage support 2018-03-13 16:30:04 +01:00
67190a31ef cpu/stm32_common: unify flashpage support 2018-03-13 16:30:04 +01:00
Girts Folkmanis
b9744f698f cortexm_common: don't try to set MEMFAULTENA on ARMv6-M
Before this change, if one tried to build a Cortex-M0+ target that had
an MPU, compilation would fail due to missing
'SCB_SHCSR_MEMFAULTENA_Msk' in SCB structure. Cortex-M0+ is a ARMv6-M
arch (unlike most other targets that have MPU support). ARMv6-M has more
limited support for fault conditions, see ARMv6-M Architecture Reference
Manual, D3.6.2.
2018-03-12 19:57:29 -07:00
Aurelien Fillau
0368239a63 cpu/stm32l0: power management updated
Now, MCU is able to go in stop mode if necessary when
periph_pm feature is activated.
Regarding LPSDSR bit that deactivates or not regulator in stop
mode, it is up to the user to set/clear this bit. In order
to save power, voltage regulator can be set in low power state
during stop mode but it increases wakeup time.

Signed-off-by: Aurelien Fillau <aurelien.fillau@gmail.com>
2018-03-11 11:01:25 +01:00
d025de32ed
Merge pull request #8351 from kaspar030/introduce_iolists
net: Introduce iolists
2018-03-07 09:56:13 +01:00
fcb451b2c5
Merge pull request #8743 from dylad/saml21_fix_rtc_define
cpu/saml21: fix RTC wrong condition for #if
2018-03-07 07:41:33 +01:00
dylad
20ac4b060d cpu/saml21: fix RTC wrong condition for #if 2018-03-06 21:36:18 +01:00
Francisco Acosta
c922119fe4
Merge pull request #8744 from Josar/atmega_stackPointer
atmega: add last instruction print
2018-03-06 16:16:07 +01:00
7f150d6041
Merge pull request #7787 from OTAkeys/pr/stm32_pm_periph
cpu/stm32: add pm support in uart, spi and i2c (f4)
2018-03-06 16:34:44 +02:00
Hauke Petersen
e78b055787
Merge pull request #8556 from kaspar030/stm32_gpio_read
cpu: stm32_common: always do gpio_read() from input register
2018-03-06 15:30:01 +01:00
Vincent Dupont
857b44a975 cpu/stm32f4: add pm support in i2c driver 2018-03-06 15:13:02 +01:00
Vincent Dupont
34e8609f2c cpu/stm32_common: add pm support in spi driver 2018-03-06 15:13:01 +01:00
Vincent Dupont
1aee2f1f14 cpu/stm32_common: add pm support in uart driver 2018-03-06 15:13:00 +01:00
Vincent Dupont
c01e8629ec cpu/stm32_common: add PM modes 2018-03-06 15:12:58 +01:00
Josarn
d82f1eba4c atmega: add last instruction print
Signed-off-by: Josua Arndt  <josuaarndt@live.de>
2018-03-06 14:57:18 +01:00
58e172e4df cpu/stm32_common: always enable PWR module 2018-03-06 14:55:32 +01:00
Hauke Petersen
c14b8081bc
Merge pull request #8735 from kaspar030/stm32_unify_cpu_init
cpu/stm32: unify cpu_init()
2018-03-06 14:09:13 +01:00
23b414b732 drivers: net: adapt to iolist-using netdev 2018-03-06 14:00:31 +01:00
ff6b8aa4f1 cpu/native/netdev_tap: adapt to netdev with iolist 2018-03-06 14:00:31 +01:00
Francisco
0fd12487e1 cpu/stm32l4: add support for stm32l452re 2018-03-05 14:34:16 -03:00
3b42fb49b5 cpu/stm32: unify cpu_init() 2018-03-05 12:35:00 +01:00
Hauke Petersen
47a500d0b1
Merge pull request #8447 from haukepetersen/opt_test_periphuartpower
tests/periph_uart: included power_on/off() in test
2018-03-05 09:49:20 +01:00
Joakim Nohlgård
68ea6b3316 kinetis: Add support for NXP Kinetis KW41Z SoC 2018-03-02 15:38:39 +01:00
Joakim Nohlgård
2090dd0234 kinetis: Add GPIO ISR for CPUs with combined PORTB+PORTC interrupt 2018-03-02 15:38:39 +01:00
Joakim Nohlgård
8642c8ceb8 kinetis: Support CM0+ devices with 96 bit UID 2018-03-02 15:38:39 +01:00
Joakim Nohlgård
005b4bfbb3 kinetis: Filter out PWM code if no FTM exists 2018-03-02 15:38:39 +01:00
Joakim Nohlgård
11361ec7e1 kinetis: Add support for CPUs with a single IRQ for all PIT channels 2018-03-02 15:38:39 +01:00
Joakim Nohlgård
2b64452c33 kinetis: GPIO workaround for missing open drain support 2018-03-02 15:38:39 +01:00
Joakim Nohlgård
a196bb431d kinetis: Only configure PWM settings if the FTM device exists 2018-03-02 15:38:39 +01:00
Joakim Nohlgård
ba76402d03 kinetis: Add Bit Manipulation Engine helpers 2018-03-02 15:38:39 +01:00
Joakim Nohlgård
18908667a3 kinetis: Make open drain GPIO availability depend on CPU header 2018-03-02 15:38:39 +01:00
Joakim Nohlgård
a7f06f8c42
Merge pull request #8724 from gebart/pr/kinetis-lpuart-clocking
kinetis: Set LPUART clock source during uart_lpuart_init
2018-03-02 15:38:01 +01:00
Peter Kietzmann
215940b058
Merge pull request #8643 from Josar/jiminy_master
boards: Jiminy-mega256rfr2: initial support
2018-03-02 15:24:39 +01:00
Joakim Nohlgård
2bdf0bfbf1 kinetis: Align definitions in cpu_conf_kinetis.h 2018-03-02 14:39:00 +01:00
Joakim Nohlgård
82e960b642 kinetis: Set LPUART clock source during uart_lpuart_init 2018-03-02 14:39:00 +01:00
Josarn
3c906c6c3d cpu/atmega256rfr2: ATmega256rfr2 MCU support
Signed-off-by: Josua Arndt  <josuaarndt@live.de>
Signed-off-by: Steffen Robertz <steffen.robertz@online.de>
2018-03-02 13:33:53 +01:00
Josarn
3bace2bd24 cpu/atmega-common: Adjustments Jiminy-mega256rfr2
Signed-off-by: Josua Arndt  <josuaarndt@live.de>
Signed-off-by: Steffen Robertz <steffen.robertz@online.de>
2018-03-02 13:33:26 +01:00
Francisco Acosta
2e701bd535
Merge pull request #8725 from gebart/pr/kinetis-errata-func
kinetis: Move errata workarounds to separate function
2018-03-02 12:30:16 +01:00
Francisco Acosta
a31940eee4
Merge pull request #8723 from gebart/pr/kinetis-periph-cpu-doc-fix
kinetis: periph_cpu.h doc fix
2018-03-02 12:03:06 +01:00
Hauke Petersen
4fd16b0bcc cpu/native: add empty uart/power_x functions 2018-03-02 10:54:21 +01:00
Hauke Petersen
2fc724db7e cpu/lpc2487: add empty uart/power_x functions 2018-03-02 10:53:55 +01:00
Hauke Petersen
8ac3465ba7 cpu/kinetis: add empty uart/power_x functions 2018-03-02 10:53:55 +01:00
Hauke Petersen
ce9e6f4eb0 cpu/atmega_common: add empty uart/power_x functions 2018-03-02 10:53:55 +01:00
Joakim Nohlgård
fd76e5ddad kinetis: Move errata workarounds to separate function 2018-03-02 08:17:00 +01:00
Joakim Nohlgård
f5edf56be4 kinetis: periph_cpu.h doc fixes 2018-03-02 08:06:46 +01:00
Joakim Nohlgård
a11c66382f kinetis: Add dependency on rtt for LPTMR time base 2018-03-02 07:37:14 +01:00
Bas Stottelaar
bcffbba480
Merge pull request #8718 from cladmi/pr/cpu/efm32/remove_timer_set
cpu/efm32/periph/timer: remove timer_set duplicate
2018-03-01 20:16:01 +01:00
Gaëtan Harter
04e180dd3d
Merge pull request #8719 from gebart/pr/kinetis-lpuart-align
kinetis: Align defines in uart.c
2018-03-01 17:58:37 +01:00
Gaëtan Harter
6f2eeca91b cpu/efm32/periph/timer: remove timer_set duplicate
timer_set is already provided by 'periph_common' so does not need to be
provided by cpu/periph.
2018-03-01 17:31:15 +01:00
Joakim Nohlgård
8f3fb59840 kinetis: Align defines in uart.c 2018-03-01 17:12:54 +01:00
Joakim Nohlgård
d8c80e245a kinetis: Fix shiftTooManyBitsSigned warning in GPIO driver 2018-03-01 14:35:22 +01:00
Sebastian Meiling
f5ef0bd09c
Merge pull request #8345 from danpetry/cc2538_uart
cc2538/include/periph_cpu.h: Changed UART configuration format for cc2538.
2018-03-01 12:02:59 +01:00
c450cdebeb
Merge pull request #8482 from cogip/qdec
drivers: Initial import of low-level QDEC driver interface
2018-02-26 17:44:58 +01:00
MichelRottleuthner
bad08596f6
Merge pull request #8399 from OTAkeys/fix/mtd_native_write
mtd_native: fix overlapping pages write check
2018-02-26 15:38:46 +01:00
Vincent Dupont
f04ecee9f6 mtd_native: fix overlapping pages write check 2018-02-26 15:32:06 +01:00
Gilles DOFFE
bee493ac71 cpu/stm32_common: add qdec implementation
* Add support for the STM32 encoder interface
* The STM32 only supports X2 and X4 modes.
* Enable interrupt handler on counter overflow
* Add simple test code for QDEC based on nucleo-f401 board

Signed-off-by: Gilles DOFFE <g.doffe@gmail.com>
2018-02-23 23:17:26 +01:00
Gilles DOFFE
07158755ea cpu/native: add qdec implementation
* Add support for the native encoder interface
* Native QDEC is there mostly for simulation
* Calling code will have to simulate QDEC increment/decrement

Signed-off-by: Gilles DOFFE <g.doffe@gmail.com>
2018-02-23 23:16:42 +01:00
Joakim Nohlgård
d4e5bea0a3 efm32: Use different values for each unsupported ADC res 2018-02-23 09:36:57 +01:00
Bas Stottelaar
11638eb1d6 cpu: efm32: fix typo in cpus.txt 2018-02-22 15:38:13 +01:00
Bas Stottelaar
864839cb90 cpu/efm32: efm32lg: add support 2018-02-21 19:16:49 +01:00
Bas Stottelaar
1e3fdce1d7 cpu/efm32: efm32lg: add vendor headers 2018-02-21 19:16:49 +01:00
Sören Tempel
3ce89aeb04 cpu/sam3: fix build failure with TOOLCHAIN=llvm 2018-02-21 15:32:00 +01:00
Peter Kietzmann
e853c7534f
Merge pull request #8555 from kaspar030/stm32f4_fix_adc_res
cpu/stm32f4: fix periph/adc resolution check
2018-02-19 10:05:18 +01:00
Francisco Acosta
25c818bef0 cpu/efm32: fix flashpage_erase 2018-02-16 18:21:49 +01:00
Bas Stottelaar
a68f47eca1 cpu/efm32: efm32gg: add support. 2018-02-16 13:57:17 +01:00
Bas Stottelaar
f9f1b9ebfa cpu/efm32: efm32gg: add vendor headers 2018-02-16 13:57:17 +01:00
Francisco Acosta
879e949967
Merge pull request #8572 from basilfx/bugfix/efm32_peripherals
cpu: efm32: fix ADC and RTC
2018-02-16 13:54:29 +01:00
Bas Stottelaar
2329b84935 cpu: efm32: fix ADC resolution selection
The `res` argument is a combination of resolution and shifting, combined using `(y << 4) | x`. To yield x, `0x0F` should have been used.
2018-02-15 21:14:09 +01:00
Bas Stottelaar
2af38d749c cpu: efm32: fix RTC for Series 0 MCUs.
Without fix:
  Setting alarm to   12627-11-30 15:00:05
   Alarm is set to   12722-01-25 07:13:03

With fix:
  Setting alarm to   2011-12-13 14:15:17
   Alarm is set to   2011-12-13 14:15:17
2018-02-15 21:12:40 +01:00
Joakim Nohlgård
b61eeb9fe0 kinetis: Allow per-board config of ADC ref
ADC reference can be external pin or internal VREF module on most
Kinetis CPUs.
2018-02-14 15:16:41 +01:00
Bas Stottelaar
76ca2c9bb3 cpu: efm32: use static mutex initialization. 2018-02-14 09:30:08 +01:00
83bff5c643 cpu: stm32_common: always do gpio_read() from input register 2018-02-13 21:51:45 +01:00
41dab11a8f cpu/stm32f4: fix periph/adc resolution check 2018-02-13 21:45:02 +01:00
Francisco Acosta
1b2ce2d559
Merge pull request #8544 from smlng/osx/cflags
cpu/native: reduce scope of CFLAGS for OSX compatibility
2018-02-13 14:29:54 +01:00
Francisco Acosta
ac9328381c cpu/cortexm_common: add NOP after WFI to avoid hardfault on stm32l152 2018-02-12 15:10:34 +01:00
smlng
15a7e6bb98 cpu/native: reduce scope of CFLAGS for OSX compatibility 2018-02-09 17:44:41 +01:00
Vincent Dupont
972eeefe6e stm32_common/rtt: add support for stm32f4 2018-02-08 17:39:39 +01:00
danpetry
cd449e388b cpu/cc2538: Adapted UART driver incl. board config
Changed the style of the UART configuration for different boards,
from a define based configuration to one based on an array of
structs, one struct for each UART, with the format of the struct defined
in cc2538/include/periph_cpu.h.

  - Defined the fields of the struct in periph_cpu.h
  - Removed the compilation includes that were in uart.c for each UART
  - Implemented a generic ISR subroutine for clarity
  - combined uart_base and uart_init in uart.c
  - used bitmask for the interrupt setup
  - took the uart Rx, Tx, and IRQ numbers out of the config
  (as this has to match the .dev field). Replaced with
  macros from the uart number
  - took out some unused code
  - implemented power on/off commands
  - removed reset function - now bytes are just discarded on error
  - Rx now not initialised if Rx callback = NULL, as per
  drivers/periph/uart.h
  - device is now enabled after callbacks are set, not before
  - asserts raised if rts and cts are enabled for UART0
  - BIT macro removed
2018-02-08 14:36:51 +01:00