6250 Commits

Author SHA1 Message Date
chrysn
8dd60286a7 cpu/nrf52: Fix PWM generation if <4 channels are used
The PWM decodeer, in LOAD=Single mode, loads data in groups of 4
half-words. Previously, if any channel was not connected to a pin (a
connection that's immaterial to the loader), a smaller number would be
given resulting in the decoder not loading anything at all.

See-Also: https://infocenter.nordicsemi.com/pdf/nRF52840_PS_v1.1.pdf#page=256
2020-09-30 13:14:47 +02:00
chrysn
65e63ffbbb cpu/nrf52: Don't touch pin modes on PWM startup
Once PWM is running, the active PWM module overrides the PIN_CNF state;
only when PWM is stopped the pin returns into its PIN_CNF state (which,
then, the board may set to whatever idle means there).

(Moreover, the code there only worked for P0 registers, not eg. the
P1.09 of the nrf52840dongle's RGB LED).
2020-09-30 13:14:47 +02:00
Vincent Dupont
590f07b38a stm32/can: fix features dependency 2020-09-30 12:59:03 +02:00
Vincent Dupont
c498bbdc83 esp32/can: include can_esp.h from periph_cpu.h 2020-09-30 12:59:03 +02:00
Vincent Dupont
b4f29035ce native/can: fix CAN init
Native CAN device was not properly ported to periph_can interface.
This commit fixes this by renaming all needed structures and files so
auto_init_can can initialize the native device. FEATURES_PROVIDED is
also updated for native.
2020-09-30 12:59:03 +02:00
Alexandre Abadie
40262c1b7a
cpu/stm32: reorganize Kconfig files per families 2020-09-30 10:31:38 +02:00
Alexandre Abadie
1e6a336227
cpu/stm32/Kconfig: move features declared in models to lines 2020-09-30 10:31:29 +02:00
Alexandre Abadie
8738bd5e5c
cpu/stm32: select lines from models in Kconfig 2020-09-30 10:31:29 +02:00
Alexandre Abadie
d1bab4a25f
cpu/stm32: add Kconfig config for all cpu lines 2020-09-30 10:31:29 +02:00
Alexandre Abadie
ba4edb3c63
cpu/stm32: split main Kconfig 2020-09-30 10:31:29 +02:00
Alexandre Abadie
e8c79e7a41
cpu/stm32: extend CPU_LINES for G4 and L1 2020-09-30 10:31:29 +02:00
Alexandre Abadie
cada451383
cpu/stm32: document info extracted from CPU model name 2020-09-30 10:31:28 +02:00
Marian Buschsieweke
a206df5399
Merge pull request #15104 from maribu/platform
sys/architecture: New module to access architecture internals in platform-independent way
2020-09-29 18:12:34 +02:00
Alexandre Abadie
d407878bc5
Merge pull request #15112 from aabadie/pr/boards/nucleo64-g431kb
boards/nucleo-g431rb: add initial support
2020-09-29 15:26:39 +02:00
Francisco
109012b194
Merge pull request #14923 from aabadie/pr/boards/stm32f0f1f3_clock_kconfig
boards/stm32f1/f3: rework clock initialization and configuration
2020-09-29 14:30:58 +02:00
Marian Buschsieweke
e66d5fad31
cpu/native: Add architecture_arch.h 2020-09-29 12:34:00 +02:00
Marian Buschsieweke
bf13dc99fb
cpu/esp_common: Add architecture_arch.h 2020-09-29 12:34:00 +02:00
Marian Buschsieweke
94eab47b26
cpu/fe310: Add architecture_arch.h 2020-09-29 12:34:00 +02:00
Marian Buschsieweke
d9525f38b0
cpu/mips32r2_common: Add architecture_arch.h 2020-09-29 12:34:00 +02:00
Marian Buschsieweke
29132c9013
cpu/arm7_common: Add architecture_arch.h 2020-09-29 12:34:00 +02:00
Marian Buschsieweke
30bebdb3ff
cpu/cortexm_common: Add architecture_arch.h 2020-09-29 12:34:00 +02:00
Marian Buschsieweke
3812ff7689
cpu/msp430_common: Add architecture_arch.h 2020-09-29 12:33:59 +02:00
Marian Buschsieweke
4abbda5b3e
cpu/atmega_common: Add architecture_arch.h 2020-09-29 12:33:59 +02:00
Alexandre Abadie
ef742cddb2
cpu/stm32: add support for stm32g431rb 2020-09-29 12:26:26 +02:00
Alexandre Abadie
2c6693d68e
Merge pull request #14863 from hugueslarrive/nucleo-f302r8
boards/nucleo-f302r8: add ADC feature
2020-09-29 10:45:40 +02:00
Alexandre Abadie
2d80bbf7b9
Merge pull request #15109 from aabadie/pr/make/features_bootloader_stm32_cleanup
cpu/stm32: cleanup bootloader_stm32 build system management
2020-09-29 10:45:27 +02:00
Alexandre Abadie
ef864bba39
cpu/stm32: only build bootloader when the module is loaded 2020-09-28 21:07:01 +02:00
Alexandre Abadie
1259a89acf
cpu/stm32: remove useless bootloader dependency resolution 2020-09-28 21:07:01 +02:00
Alexandre Abadie
42728db45b
cpu/stm32: fix logical bug when getting l0/g0 CPU_CORE 2020-09-28 17:04:54 +02:00
Marian Buschsieweke
833afc03e1
cpu/arm7_common: Silence -Wcast-align
- Enforced that ISR_STACKSIZE is indeed a multiple of 4
- With this enforced, every cast that triggers a -Wcast-align warning is now
  a false positives, so those were silenced by (intermediately) casting to
  `uintptr_t`.
2020-09-28 11:03:33 +02:00
Marian Buschsieweke
cc2382220f
cpu/arm7_common: Align thread stacks to 32 bit
This didn't change binaries for me. Either the linker script already took care
of it through the section names of the stacks, or I just was lucky. If I was
just luck, this fixes a bug. If not, it makes the hidden alignment explicit in
the C code, so that code review is easier.
2020-09-28 11:00:34 +02:00
hugues
9c41e25fff cpu/stm32/periph/adc_f3: fix for devices which have only one ADC 2020-09-28 10:29:53 +02:00
Alexandre Abadie
9b08cdca3d
Merge pull request #15098 from benpicco/cpu/fe310_rtc_fix
cpu/fe310: run RTT at 1 Hz if RTC is selected
2020-09-28 09:16:42 +02:00
Jean Pierre Dudey
447cdebd26 cpu/cc26xx_cc13xx: add & link CCFG configuration
> Allows flahsing CCFG configuration using Kconfig,
formely "make menuconfig".
> Supports cc26x0, cc26x2_cc13x2.
> Can be used to enable bootloader backdoor, to use
cc2538-bsl flashing script.
> Not all options are in Kconfig, most important ones,
others can be added in further commits.
> On cc13xx targets the VDDR high option can be enabled
using Kconfig.
> With this, RIOT can flash blank chips and the firmware
will run just fine.

Signed-off-by: Jean Pierre Dudey <me@jeandudey.tech>
2020-09-27 17:58:11 -05:00
Jean Pierre Dudey
978ea409b5 cpu/cc26xx_cc13xx: add CCFG register values
This adds almost all registers necessary to flash create
the CCFG configuration.

Signed-off-by: Jean Pierre Dudey <me@jeandudey.tech>
2020-09-27 17:56:55 -05:00
Jean Pierre Dudey
d0aedf0f95 cpu/cc26xx_cc13xx: add custom ld script
This add a custom ldscript for cc26xx_cc13xx CPUs,
which allows linking CCFG configuration, usage of GPRAM,
etc.

Signed-off-by: Jean Pierre Dudey <me@jeandudey.tech>
2020-09-27 17:54:14 -05:00
Benjamin Valentin
2647f5f3c2 cpu/fe310: run RTT at 1 Hz if RTC is selected
The RTC on the fe310 is emulated using the RTT.
This only works if the RTT frequency is 1 Hz, so default to that
value in case `periph_rtc` is selected.
2020-09-27 22:45:04 +02:00
9334897ab9
Merge pull request #15086 from maribu/ibs-after-stackpointer
cpu/cortexm_common: Flush pipeline after triggering PendSV
2020-09-26 21:05:04 +02:00
Alexandre Abadie
6a2b2aab5d
Merge pull request #14879 from benpicco/cpu/kinetis/rtc_mktimr
cpu/kinetis: RTC use rtc_mktime()
2020-09-25 21:48:16 +02:00
Alexandre Abadie
a1473431da
Merge pull request #14878 from benpicco/cpu/fe310/rtc_mktime
cpu/fe310: RTC: use rtc_mktime()
2020-09-25 21:19:04 +02:00
benpicco
a923cda323
Merge pull request #14944 from benpicco/drivers/mtd_mci
cpu/lpc23xx: add MTD wrapper for MCI driver
2020-09-25 18:22:48 +02:00
Benjamin Valentin
d092c12a66 cpu/fe310: RTC: use rtc_mktime()
Use RTC helper functions instead of libc functions.
This gives us y2038 safety by the extended epoch and saves
a good chunk of memory:

picolibc mktime():

   text	   data	    bss	    dec	    hex	filename
  15048	    520	   2504	  18072	   4698	tests/periph_rtc/bin/hifive1/tests_periph_rtc.elf

rtc_mktime():

   text	   data	    bss	    dec	    hex	filename
   7632	     40	   2452	  10124	   278c	tests/periph_rtc/bin/hifive1/tests_periph_rtc.elf
2020-09-25 18:22:10 +02:00
benpicco
2bfe7e1ce2
Merge pull request #15090 from aabadie/pr/boards/nucleo-g071rb
boards/nucleo-g071rb: add initial support
2020-09-25 18:21:29 +02:00
Alexandre Abadie
84f1a70b7f
cpu/stm32/rtt: adapt for stm32g0 2020-09-25 15:20:14 +02:00
Marian Buschsieweke
49f3d1056d
cpu/cortexm_common: Code style
Fix code alignment
2020-09-25 13:58:25 +02:00
Marian Buschsieweke
304f4ec7d4
cpu/cortexm_common: flush pipeline after PendSV
https://interrupt.memfault.com/blog/arm-cortex-m-exceptions-and-nvic#pendsv-example
2020-09-25 13:58:06 +02:00
Alexandre Abadie
25e1fec90c
cpu/stm32: add support for stm32g071rb 2020-09-25 13:08:07 +02:00
Alexandre Abadie
da9168c652
cpu/stm32: rename stmclk_fx to stmclk_f2f4f7
This commit also removes all f0/f1/f3 specific code from this file
2020-09-24 11:27:24 +02:00
Alexandre Abadie
042a550f0d
boards: cpu: stm32f1/f3: rework clock configuration and init 2020-09-24 11:27:24 +02:00
MrKevinWeiss
7893158b5a drivers/dev_enums: Remove unused dev_enums.h 2020-09-24 09:27:39 +02:00