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

6574 Commits

Author SHA1 Message Date
Marian Buschsieweke
9fbb23b167
boards/common/gd32v: make common OpenOCD config opt-in
Let boards explicitly use the common OpenOCD config if it works for
them, rather than having boards with specific needs opt out.
2024-01-19 23:17:35 +01:00
benpicco
912294912a
Merge pull request #20264 from benpicco/boards/native-term_fix
boards/native: only use pyterm wrapper with term target
2024-01-19 14:31:39 +00:00
Benjamin Valentin
e5618f705b boards/native: set and test for pyterm explicitly 2024-01-19 14:42:03 +01:00
Marian Buschsieweke
c4fbcfad21
boards/e180-zg120b-tb: Document correct pin mapping
Revision 10199-V1.0 of the board has an incorrect pin labeling on the
silkscreen, presumably because the board was initially developed
for a different E180 module and the silkscreen was not updated when
populated with a different E180 module.

It is very likely that if newer revisions of the test board get
produced, they will use the same very systematical routing as revision
1.0 and only the silkscreen labeling will be fixed. Hence, documenting
the correct pin mapping will be useful even for newer revisions.
2024-01-18 13:52:36 +01:00
Marian Buschsieweke
f22fc0080b
boards/common/gd32v: Allow overwriting OPENOCD_TRANSPORT 2024-01-17 09:16:26 +01:00
Benjamin Valentin
3c31000a61 boards/native: only use pyterm wrapper with term target 2024-01-16 15:15:06 +01:00
Marian Buschsieweke
f5a9e084c9
boards/e180-zg120b-tb: add support for OpenOCD 2024-01-13 12:03:15 +01:00
Benjamin Valentin
235d3f059c boards/samd2x-xpro: enable riotboot 2024-01-11 14:38:35 +01:00
Gunar Schorcht
517cbc59ff boards/esp32-wrover-kit: add SDMMC support 2024-01-05 07:22:27 +01:00
Gunar Schorcht
7ba9cbe736 boards/esp32-olimex-evb: add SDMMC support 2024-01-05 07:22:27 +01:00
Gunar Schorcht
a376b3c915 boards/common/esp32x: add sanity check for SPI in case SDMMC is used 2024-01-05 07:22:27 +01:00
Gunar Schorcht
c4de343577 board/esp32-mh-et-live-minikit: improve the use of SPI SD Card module 2024-01-05 07:22:27 +01:00
Gunar Schorcht
5646cc02e4 boards/common/esp32x: add SDMMC support 2024-01-05 07:22:27 +01:00
Marian Buschsieweke
866f2a00c0
Merge pull request #20226 from maribu/boards/generic-cc2538-cc2592-dk
boards/generic-cc2538-cc2592-dk: add board support
2024-01-05 00:35:11 +00:00
Marian Buschsieweke
947d05ed77
boards/generic-cc2538-cc2592-dk: add board support
The CC2538-CC2592-DK is one of the few readily available and
affordable boards featuring a legacy CC2538 MCU. This should make
maintaining RIOT support for that legacy MCU more affordable :-)
2024-01-05 00:00:48 +01:00
benpicco
a04167004f
Merge pull request #20225 from MrKevinWeiss/pr/nucleo413/dmafix
boards/nucleo-f413zh: Fix DMA mapping
2024-01-03 14:07:37 +00:00
MrKevinWeiss
9f04b78c2e
boards/nucleo-f413zh: Fix DMA mapping 2024-01-03 14:20:20 +01:00
Marian Buschsieweke
f860d96a25
Merge pull request #19891 from chrysn-pull-requests/ws2181x_timer
drivers/ws281x: Add gpio_ll and timer based driver
2024-01-03 09:22:26 +00:00
Marian Buschsieweke
0aa87aa242
Merge pull request #20215 from benpicco/tests/native-term
makefiles/tests/tests.inc.mk: use native term for tests
2024-01-02 10:35:36 +00:00
krzysztof-cabaj
3326b0cd5b boards/nucleo: fix typo - or RAM 2024-01-01 13:07:49 +01:00
benpicco
7c2f091b39
Merge pull request #19540 from gschorcht/cpu/stm32/periph/sdmmc
cpu/stm32/periph: add low-level SDMMC peripheral driver
2023-12-23 21:25:59 +00:00
Oleg Hahm
59b687cf68 boards/native: forward eeprom flags to pyterm 2023-12-23 20:27:47 +01:00
Gunar Schorcht
b3f3e16771 boards/stm32f7508-dk: add SDMMC support 2023-12-23 17:18:37 +01:00
Oleg Hahm
c0e71b0592
Merge pull request #20172 from OlegHahm/pr/pyterm_native_pipe
pyterm: add native support
2023-12-21 23:08:22 +00:00
Gunar Schorcht
2c2e70fb17 boards/stm32l496g-disco: add SDMMC support 2023-12-21 18:37:43 +01:00
Gunar Schorcht
ae4ba633d9 boards/stm32f746g-disco: add SD Card interface support 2023-12-21 18:37:43 +01:00
krzysztof-cabaj
d8423cb4d6 boards/nucleo-l452re: fix typo 2023-12-20 19:48:43 +01:00
krzysztof-cabaj
fb07cc054a boards/nucleo-l452re: doc update 2023-12-20 16:56:01 +01:00
MrKevinWeiss
6a0b1c59c5
boards/nrf9160dk: Override WS281X_TIMER_* 2023-12-19 11:13:45 +01:00
MrKevinWeiss
fb5ebea1a5
boards/common/e104-bt50xxa-tb: Override WS281X_TIMER_* 2023-12-19 11:13:44 +01:00
MrKevinWeiss
0d31432cb3
boards/nrf51: Defined TIMER_x_MAX_VALUE 2023-12-19 11:13:44 +01:00
chrysn
d32c32ffae
boards/nrf52: Defined TIMER_x_MAX_VALUE
The macro's presence is documented in `timer_init`, but was missing from
this platform.
2023-12-19 11:13:41 +01:00
Oleg Hahm
dd184614d8 pyterm: native: remove superfluous tap argument 2023-12-18 20:00:44 +01:00
Oleg Hahm
075f2ffd6a pyterm: label pyterm arg for native generically 2023-12-18 20:00:44 +01:00
Oleg Hahm
273486be78 examples: tests: unify native arguments for ZEP 2023-12-18 20:00:44 +01:00
Oleg Hahm
2b779fc5a9 native: only set TERMFLAGS for pyterm
If TERMPROG is unset the default is pyterm. If TERMPROG is pyterm we
need to set the native flag.
2023-12-18 13:44:20 +01:00
Oleg Hahm
66343e3bc7 pyterm: add native support
Start RIOT native as a subprocess and communicate to it via a pipe.
2023-12-18 13:44:20 +01:00
Dylan Laduranty
75c27f8c31
Merge pull request #20183 from benpicco/boards/same54-xpro-uart_hw_fc
boards/same54-xpro: configure pins for UART HW flow control & ethernet LED
2023-12-14 19:55:08 +00:00
Benjamin Valentin
8db01f6df1 boards/same54-xpro: configure orange ethernet LED
There is a software controlled LED on the RJ45 connector.
Export it via SAUL.
2023-12-14 15:21:54 +01:00
Benjamin Valentin
fb6e3c01c7 boards/same54-xpro: configure pins for UART HW flow control 2023-12-14 15:07:10 +01:00
Marian Buschsieweke
1d11a2a281
boards/wemos-zero: fix flashing and doc
Fix flashing with `MOST_RECENT_PORT=1` by detecting the board when
either in RIOT mode or in bootloader mode (which matches different
USB vendor and model strings).

Support for programming with the nrf52-u2f bootloader was dropped
apparently, but the documentation still recommends that over the
Arduino Bootloader. This brings doc and code in sync.
2023-12-13 15:40:41 +01:00
Marian Buschsieweke
bb07bb6613
Merge pull request #20160 from maribu/cpu/msp430/timer
cpu/msp430: improve periph_timer
2023-12-10 13:02:30 +00:00
Marian Buschsieweke
b51ea4ca24
boards: clean up MSP430 board configuration
Move common configuration for MSP430 based boards to
`boards/common/msp430` and make use of that.
2023-12-10 09:11:24 +01:00
Marian Buschsieweke
7044699388
cpu/msp430: improve periph_timer
- add support for multiple timers
- add support for selecting clock source in the board's `periph_conf.h`
- add support for the prescaler
- implement `periph_timer_query_freqs`
- add a second timer to all MSP430 boards
    - the first timer is fast ticking, high-power
    - the second is slow ticking, low-power
2023-12-10 09:11:23 +01:00
Gunar Schorcht
26030e28af boards: remove extern mtd_dev_t* Declarations 2023-12-07 15:32:49 +01:00
Gunar Schorcht
8f01dbfecb
Merge pull request #20153 from maribu/boards/esp32-ethernet-kit/board-filter
boards/esp32*: add TTY board filter
2023-12-06 10:41:29 +00:00
Marian Buschsieweke
f80f47ccf6
boards/esp32s2-lilygo-ttgo-t8: add TTY board filter
When using `make flash` or `make term` with `MOST_RECENT_PORT=1`, RIOT
should now only consider plausible TTYs and select the most recently
connected one. The filter is a bit broad, though, and will match
any board with a CH430 UART2USB bridge. But depending on the boards
attached, it might be good enough to reliably tell it apart from
other boards.
2023-12-06 11:14:22 +01:00
Marian Buschsieweke
9dcbab218a
boards/esp32-olimex-evb,esp32-wemos-lolin-d32-pro: add TTY board filter
When using `make flash` or `make term` with `MOST_RECENT_PORT=1`, RIOT
should now only consider plausible TTYs and select the most recently
connected one. The filter is a bit broad, though, and will match
any board with a CH430 USB 2.0 UART2USB bridge. But depending on the
boards attached, it might be good enough to reliably tell it apart from
other boards.
2023-12-06 11:14:22 +01:00
Marian Buschsieweke
9308a6f526
boards/esp32-mh-et-live-minikit,esp32-ttgo-t-beam: add TTY board filter
When using `make flash` or `make term` with `MOST_RECENT_PORT=1`, RIOT
should now only consider plausible TTYs and select the most recently
connected one. The filter is a bit broad, though, and will match
any board with a CP2104 USB2UART bridge. But depending on the boards
attached, it might be good enough to reliably tell it apart from other
boards.
2023-12-06 11:14:21 +01:00
Marian Buschsieweke
7228cf1108
boards/esp32*-devkit: add TTY board filter
When using `make flash` or `make term` with `MOST_RECENT_PORT=1`, RIOT
should now only consider plausible TTYs and select the most recently
connected one. The filter is a bit broad, though, and will match
any board with a CP2102N USB2UART bridge. But depending on the boards
attached, it might be good enough to reliably tell it apart from other
boards.
2023-12-06 11:14:21 +01:00
Marian Buschsieweke
03a1a02ec2
boards/esp32-wroom-32: add TTY board filter
When using `make flash` or `make term` with `MOST_RECENT_PORT=1`, RIOT
should now only consider plausible TTYs and select the most recently
connected one. The filter is a bit broad, though, and will match
any board with a CP2102 USB2UART bridge. But depending on the boards
attached, it might be good enough to reliably tell it apart from other
boards.
2023-12-06 11:14:21 +01:00
Marian Buschsieweke
28a5ec3911
boards/esp32-*-kit*: add TTY board filter
When using `make flash` or `make term` with `MOST_RECENT_PORT=1`, RIOT
should now select relatively robustly the most recently connected
ESP32 Ethernet Kit / ESP32 Wrover Kit board, even with other TTYs
present. This is because the FTDI Dual RS232-HS with two USB2UART
bridges in the chip would be an expensive overkill for most boards,
unless one is using the FTDI chip to big-bang JTAG as well - as done
on the Ethernet Kit and Wrover Kit boards.
2023-12-06 11:14:21 +01:00
Gunar Schorcht
6c1b93d2a7 boards/esp32s3-usb-otg: fix table of contents in doc 2023-12-06 08:02:48 +01:00
Gerson Fernando Budke
859d587afd
boards/atmega328p-xplained-mini: Add BTN0 and LED0
The board have one user button and a user led but are not enabled.
This add necessary support to use the button and the led. It include
the configs to use with SAUL and button interrupt.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2023-12-01 14:12:24 +01:00
krzysztof-cabaj
c0a4b9c3a5 boards/p-nucleo-wb55: doc update concerning PWM 2023-11-29 19:45:37 +01:00
krzysztof-cabaj
4a2ea66e16 boards/p-nucleo-wb55: full PWM config in periph_conf.h 2023-11-29 19:43:06 +01:00
krzysztof-cabaj
2e4018ea57 boards/p-nucleo-wb55: PWM config: Kconfig, Makefile.features, periph_conf.h 2023-11-29 19:43:06 +01:00
benpicco
0306600c84
Merge pull request #20115 from krzysztof-cabaj/nucleo-wb55-DOC
boards/p-nucleo-wb55: documentation update
2023-11-28 17:44:12 +00:00
krzysztof-cabaj
e73c18167a boards/p-nucleo-wb55: documentation update 2023-11-27 20:22:20 +01:00
benpicco
c93a5b84a3
Merge pull request #20020 from gompper/periph/freqm
drivers/include/periph: add FREQM peripheral driver
2023-11-27 16:06:52 +00:00
Marian Buschsieweke
73bde97e9d
Merge pull request #20102 from maribu/cpu/nrf5x_common/clean_up_uart
cpu/nrf5x: clean up periph_uart
2023-11-26 20:43:29 +00:00
Marian Buschsieweke
63faa5f162
cpu/nrf5x: clean up periph_uart
- nRF51: Use `uart_conf_t` for consistency with nRF52
- nRF52832: Use UARTE (UART with EasyDMA) over UART (without DMA), as
  done for all other nRF52 family members
- use `UARTE_PRESENT` to detect whether an UARTE can be used, rather
  than family names
2023-11-26 21:33:23 +01:00
Marian Buschsieweke
f55af92735
boards/nrf51dk: add arduino features 2023-11-24 09:49:19 +01:00
Marian Buschsieweke
fa0b6824d2
boards/nrf51dk: add periph_adc 2023-11-24 09:49:11 +01:00
Urs Gompper
a2e4fa30fd boards/same54-xpro: overwrite GCLK definitions 2023-11-23 21:00:16 +01:00
Urs Gompper
6849ef9827 boards/same54-xpro: added FREQM peripheral configuration 2023-11-23 21:00:16 +01:00
Urs Gompper
82f803b7cf boards/same54-xpro: add freqm peripheral to Kconfig 2023-11-23 20:53:15 +01:00
Urs Gompper
c2f7aa66f9 boards/same54-xpro: add periph_freqm to Makefile.features 2023-11-23 20:53:14 +01:00
Marian Buschsieweke
1cdd114e6c
Merge pull request #20097 from maribu/boards/nucleo-f303re
boards/nucleo-f303re: add more timers
2023-11-21 12:59:09 +00:00
Marian Buschsieweke
2853e9b59c
Merge pull request #20098 from krzysztof-cabaj/nucleo-l433rc-DOC
boards/nucleo-l433rc: doc update - image and MCU table
2023-11-21 09:06:43 +00:00
Marian Buschsieweke
3848a37d14
boards/nucleo-f303re: add more timers 2023-11-21 09:02:31 +01:00
krzysztof-cabaj
04d08e4c2e boards/nucleo-l433rc: doc update - image and MCU table 2023-11-20 21:34:13 +01:00
Marian Buschsieweke
f9e4affd19
Merge pull request #19792 from kyleb29/bugfix-19787
cpu/stm32/periph_i2c: prevent corrupting AFIO->MAPR
2023-11-20 20:33:16 +00:00
Kyle Burk
986488db85
cpu/stm32/f1: prevent corrupting AFIO->MAPR
The `SWJ_CFG` field of the `AFIO_MAPR` register is write only and values
read are undefined (random). Hence, using `AFIO->MAPR |= mask;` to
enable flags can corrupt the state of the `SWJ_CFG` (configure it to
an unintended value).

Two helper functions have been introduced:
- `afio_mapr_read()` reads the value, but sanitizes the `SWJ_CFG` field
  to zero
- `afio_mapr_write()` writes the given value, but applies the `SWJ_CFG`
  configured by the board before writing.

Finally, the `nucleo-f103rb` and `bluepill*`/`blackpill*` boards have
been updated to no longer specify `STM32F1_DISABLE_JTAG`, as this
is handled by the `SWJ_CFG` setting (which defaults to disabling JTAG).
2023-11-20 20:28:52 +01:00
Marian Buschsieweke
61af0f38f8
boards/p-nucleo-wb55: Add pinout and clean up doc 2023-11-16 11:14:45 +01:00
Marian Buschsieweke
7446cf543a
boards/common/nucleo64: fix doc 2023-11-15 09:57:42 +01:00
Marian Buschsieweke
08379cde27
boards/p-nucleo-wb55: provide Arduino features
This provides the features:
- `arduino_i2c`
- `arduino_spi`
- `arduino_uart`
2023-11-15 09:56:45 +01:00
Marian Buschsieweke
c7ded84e0c
boards/nucleo-wl55jc: Fix Arduino SPI bus
The macro `ARDUINO_SPI_D11D12D13` is used to refer to the SPI bus
on the pins D11/D12/D13 on Arduino UNO compatible boards. For all
Nucleo64 boards this is `SPI_DEV(0)`, but for this board `SPI_DEV(0)`
is internally connected to the radio. Instead `SPI_DEV(1)` is connected
to the correct pins. This provides the macro explicitly in
`periph_conf.h`, which takes preference over the fallback in
`boards/common/nucleo64` when provided.
2023-11-14 16:16:28 +01:00
benpicco
a24066be93
Merge pull request #20082 from maribu/board/nucleo-f030r8
boards/nucleo-f030r8: enable SPI and I2C
2023-11-14 13:18:35 +00:00
Marian Buschsieweke
882ab0059a
boards/nucleo-f030r8: enable SPI and I2C
The SPI configuration was already provided, but the feature never
exposed. The common PB8/PB9 I2C config is used to for I2C.
2023-11-13 16:18:04 +01:00
Gunar Schorcht
4e85968145 boards/esp32s3-wt32-sc01-plus: enable LCD parallel interface 2023-11-13 13:01:57 +01:00
benpicco
5e0968a6f6
Merge pull request #20075 from krzysztof-cabaj/nucleo-f070-SPI
boards/nucleo-f070rb: add SPI configuration
2023-11-10 23:06:38 +00:00
krzysztof-cabaj
ca93d1793e boards/nucleo-f070rb: full SPI config in periph_conf.h 2023-11-10 16:31:23 +01:00
Marian Buschsieweke
fe6c94070b
boards/nucleo-wl55jc: Add missing ARDUINO_I2C_UNO
The feature `arduino_i2c` was already provided, but the define this
feature indicates to be present is missing.
2023-11-10 16:29:51 +01:00
krzysztof-cabaj
d97ea9dbd3 boards/nucleo-f070rb: SPI config: Kconfig, Makefile.features, periph_conf.h 2023-11-10 14:05:14 +01:00
fce429d19f
Merge pull request #20072 from gschorcht/boards/esp32/fix_doc
boards/common/esp32x: fix doxygen group
2023-11-09 18:54:17 +00:00
Gunar Schorcht
03e2537be5 boards/common/esp32x: fix doxygen group 2023-11-09 16:46:09 +01:00
bors[bot]
c0ae75b339
Merge #20003 #20028 #20036 #20041
20003: coap: create typedef for CoAP methods r=benpicco a=benpicco



20028: nanocoap: fix incorrect uses of coap_get_code() r=benpicco a=benpicco



20036: boards/nucleo-l4r5zi : add PWM configuration r=benpicco a=krzysztof-cabaj

### Contribution description

This PR adds to the Nucleo-l4r5zi PWM configuration

### Testing procedure

Flash the board using `tests/periph/pwm` program. Check if you could, for example, change LED 
intensity using PWM. 

### Issues/PRs references

None.

20041: pkg/littlefs2: bump to v2.8.1 r=benpicco a=bergzand

### Contribution description

Minor version number bump.

### Testing procedure

- Check if I copied the correct commit hash.
- Run the tests.


### Issues/PRs references

None

Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
Co-authored-by: krzysztof-cabaj <kcabaj@gmail.com>
Co-authored-by: Koen Zandberg <koen@bergzand.net>
2023-11-02 11:01:23 +00:00
krzysztof-cabaj
8899a5996f boards/nucleo-l4r5zi: full PWM config in periph_conf.h 2023-11-01 18:33:44 +01:00
MrKevinWeiss
acd33c6588
boards/feather-nrf52840-sense: Add bootloader info 2023-11-01 14:56:35 +01:00
bors[bot]
6763992940
Merge #20032
20032: boards/nucleo-l552ze: add PWM configuration r=benpicco a=krzysztof-cabaj

### Contribution description

This PR adds to the Nucleo-l552ze-q PWM configuration

### Testing procedure

Flash the board using `tests/periph/pwm` program. Check if you could, for example, change LED 
intensity using PWM. 

### Issues/PRs references

None.

Co-authored-by: krzysztof-cabaj <kcabaj@gmail.com>
2023-10-31 23:11:01 +00:00
krzysztof-cabaj
b88b53b1f3 boards/nucleo-l4r5zi:PWM config: Kconfig, Makefile.features, periph_conf.h 2023-10-31 21:04:27 +01:00
krzysztof-cabaj
1549aa1bc0 boards/nucleo-l552ze-q: add PWM configuration to Kconfig 2023-10-31 13:55:17 +01:00
krzysztof-cabaj
2ae74371dd boards/nucleo-l552ze-q: initial PWM config 2023-10-31 13:55:17 +01:00
Michel Rottleuthner
7842b709bf boards: add support for Adafruit Feather nRF52840 Sense 2023-10-30 09:31:12 +01:00
bors[bot]
03d3874e51
Merge #19465 #19981 #19995
19465: drivers/mtd: use XFA for pointers to defined MTDs r=benpicco a=gschorcht

### Contribution description

This PR provides the support to hold pointers to defined MTDs within a XFA. The XFA allows
- to access MTDs of different types (`mtd_flashpage`, `mtd_sdcard`, `mtd_emulated`, ...) by an index
- to determine the number of MTDs defined in the system.

### Testing procedure

To be defined once PR #19443 is merged because emulated MTDs will allow to test this PR on arbitrary boards.

### Porting Guide

For external boards:
 - remove the `MTD_NUMOF` definition from `board.h`
 - add `MTD_XFA_ADD(<mtd_dev>, <idx>);` to the definition of `<mtd_dev>`.
 - `MTD_0`, `MTD_1`, … defines are no longer needed.

### Issues/PRs references

 Related to PR #19443

19981: Fletcher32: Add incremental API r=benpicco a=bergzand

### Contribution description

This PR extends the current fletcher32 checksum with an incremental API mode. This way the bytes to be checksummed can be supplied via multiple successive calls and do not have to be provided in a single consecutive buffer.

I've also rephrased the warning with the original function a bit as that function uses an `unaligned_get_u16` to access the data. The data thus does not require alignment, but the length does need to be supplied as number of 16 bit words.

### Testing procedure

The test has been extended


### Issues/PRs references

None

19995: sys/psa_crypto: Fix macro for public key max size and SE example r=benpicco a=Einhornhool

### Contribution description
#### 1. Wrong public key size when using secure elements, introduced by  #19954
Fixed conditions for key size macros in `crypto_sizes.h`.

#### 2. EdDSA and ECDSA examples fail when using a secure element because of unsopported changes introduced by #19954
Updated `example/psa_crypto` to use only supported functions for secure elements.

### Testing procedure
Build `example/psa_crypto` for secure elements and run application

Output on master:
```
2023-10-19 14:33:24,372 # main(): This is RIOT! (Version: 2019.07-devel-22378-gb6772)
2023-10-19 14:33:24,372 # HMAC SHA256 took 56393 us
2023-10-19 14:33:24,372 # Cipher AES 128 took 68826 us
2023-10-19 14:33:24,372 # *** RIOT kernel panic:
2023-10-19 14:33:24,373 # HARD FAULT HANDLER
2023-10-19 14:33:24,373 # 
2023-10-19 14:33:24,373 # *** rebooting...

```
Output with fixes:
```
2023-10-19 13:35:24,715 # main(): This is RIOT! (Version: 2019.07-devel-22384-g8ef66-dev/psa-crypto-fixes)
2023-10-19 13:35:24,715 # HMAC SHA256 took 56374 us
2023-10-19 13:35:24,715 # Cipher AES 128 took 68805 us
2023-10-19 13:35:24,715 # ECDSA took 281164 us
2023-10-19 13:35:24,715 # All Done
```


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
Co-authored-by: Koen Zandberg <koen@bergzand.net>
Co-authored-by: Lena Boeckmann <lena.boeckmann@haw-hamburg.de>
2023-10-19 19:01:12 +00:00
bors[bot]
554efb7040
Merge #19943 #19978
19943: cpu/stm32: FMC used for low-level LCD parallel interface r=maribu a=gschorcht

### Contribution description

This PR provides the implementation of the LCD low-level MCU 8080 parallel interface using the FMC peripheral.

### Testing procedure

```
BOARD=stm32f723e-disco make -C tests/drivers/st77xx flash
```
and
```
BOARD=stm32l496g-disco make -C tests/drivers/st77xx flash
```
should work on top of PR #19941. Drawing operations should be much faster.

### Issues/PRs references

Depends on PR #19941


19978: treewide: fix typos to make codespell happy r=maribu a=maribu

### Contribution description

- fixes typos in comments and docs (no generated firmware changes expected)
- fixes a typo in a string in a GUI of a utility program
- add some false positives to the ignore list

### Testing procedure

- No generated binaries (except for the GUI version of the utility program to flash the MSB-A2) should change
- The diff should not look too scary

### Issues/PRs references

None

Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
Co-authored-by: Marian Buschsieweke <marian.buschsieweke@posteo.net>
2023-10-16 11:12:04 +00:00
Marian Buschsieweke
edc43201db
tree-wide: fix typos in doc and comments
This should not change any generated binary
2023-10-16 12:17:48 +02:00
Marian Buschsieweke
4452f0729b
boards/lsn50: change image
Either the wiki is down, or the image was removed from upstream. This
replaces it with the same image hosted on the zephyr doc. As a site
effect, code spell likes the new URL much more.
2023-10-16 12:01:15 +02:00
Gunar Schorcht
eb9515132c boards/stm32l496g-disco: enable FMC support for LCD 2023-10-12 18:19:03 +02:00
Gunar Schorcht
71a97c2ee9 boards/stm32f723e-disco: enable FMC support for LCD 2023-10-12 18:19:03 +02:00
Gunar Schorcht
46040a4361 boards: use XFA with MTD pointers for defined MTDs 2023-10-02 12:28:08 +02:00
bors[bot]
149cee491e
Merge #19760 #19946 #19956 #19957
19760: cpu/sam0_common/periph: add low-level SDMMC peripheral driver for SDHC r=benpicco a=gschorcht

### Contribution description

This PR implements the low-level SDIO/SDMMC peripheral driver for SAM0 SDHC according to the definition in #19539.

### Testing procedure

```
BOARD=same54-xpro make -C tests/drivers/sdmmc
```
```
BOARD=same54-xpro make -C tests/sys/vfs_default
```

### Issues/PRs references

~Depends on PR #19539~
Depends on PR #19899

19946: posix_sockets.c: Fix 2 byte int compilation errors r=benpicco a=mrdeep1



19956: cpu/esp32: fix heap definition for ESP32-S2 and ESP32-S3 r=benpicco a=gschorcht

### Contribution description

For ESP32-S2 and ESP32-S3 the symbol `_heap_end` must not be used as `_eheap` for the newlibc `malloc` and function `sbrk`.

`_heap_end` is used by the ESP-IDF heap implementation `esp-idf-heap` and points to the highest possible address (0x40000000) that could be used for the heap in ESP-IDF. It doesn't point to the top address of the unused SRAM area that can be used in newlibc `malloc` and function `sbrk`. Instead, the origin and the length of `dram0_0_seg` must be used to calculate the end of the heap `_eheap`.

The problem only occurs for the newlibc `malloc` when the `sbrk` function is used but not for the ESP-IDF heap implementation `esp_idf_heap`.

### Testing procedure

Use any ESP32-S2 or ESP32-S3 board and flash `tests/sys/malloc`, e.g.
```
CFLAGS='-DCHUNK_SIZE=16384' USEMODULE='stdio_uart' BOARD=esp32s3-pros3 make -j8 -C tests/sys/malloc flash
```
Without the PR the `nm` command will give the wrong address 
```
nm -s tests/sys/malloc/bin/esp32s3-pros3/tests_malloc.elf | grep _eheap
40000000 A _eheap
```
The test will stuck, i.e. the allocation of memory stops when the top of unused SRAM is reached and the board restarts when the watchdog timer expires. With the PR it should work as expected
```
Help: Press s to start test, r to print it is ready
START
main(): This is RIOT! (Version: 2023.10-devel-309-g4669e)
calloc(zu, zu) = 0x10000000
CHUNK_SIZE: 16384
NUMBER_OF_TESTS: 3
Allocated 16384 Bytes at 0x3fc8c4b0, total 16384
...
Allocated 16384 Bytes at 0x3fcec6f0, total 409792
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x7 (TG0WDT_SYS_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
Saved PC:0x403763e3
```

With this PR the `nm` command should give a address in unused SRAM address space
```
nm -s tests/sys/malloc/bin/esp32s3-pros3/tests_malloc.elf | grep _eheap
3fcca000 A _eheap
```
and the test should pass.

### Issues/PRs references


19957: cpu/esp32: fix Octal SPI RAM for ESP32-S3 r=benpicco a=gschorcht

### Contribution description

This PR fixes Octal SPI RAM handling for ESP32-S3.

Functions that are used during the initialization of the Octal SPI RAM must reside in IRAM instead of Flash. Otherwise, the system stucks during boot once the Octal SPI RAM is enabled. The reason is that the Flash is not available during the initialization of the Octal SPI RAM and the functions that are called during that initialization can't be accessed in Flash. As a result the call of such a function leads to code that is messed up and the system crashes.

The PR also includes the documentation fixe for the `esp32s3-box`. It also includes a small documentation fix regarding the SPI RAM for the `esp32s3-pros3` board.

### Testing procedure

Use a board that has Octal SPI RAM and flash `tests/sys/malloc`, e.g.:
```
CFLAGS='-DCHUNK_SIZE=16384' USEMODULE='stdio_uart esp_spi_ram esp_log_startup' \
BOARD=esp32s3-box make -C tests/sys/malloc
```
Without the PR, the system stuck during boot once the information for the Octal SPI RAM is print
```
ESP-ROM:esp32s3-20210327
...
I (133) boot: Loaded app from partition at offset 0x10000
I (134) boot: Disabling RNG early entropy source...
vendor id : 0x0d (AP)
dev id    : 0x02 (generation 3)
density   : 0x03 (64 Mbit)
good-die  : 0x01 (Pass)
Latency   : 0x01 (Fixed)
VCC       : 0x01 (3V)
SRF       : 0x01 (Fast Refresh)
BurstType : 0x01 (Hybrid Wrap)
BurstLen  : 0x01 (32 Byte)
Readlatency  : 0x02 (10 cycles@Fixed)
DriveStrength: 0x00 (1/1)
```
and the board restarts when the watchdog timer expires.

With this PR, the system starts as expected.
```
ESP-ROM:esp32s3-20210327
...
I (132) boot: Loaded app from partition at offset 0x10000
I (133) boot: Disabling RNG early entropy source...
vendor id : 0x0d (AP)
dev id    : 0x02 (generation 3)
density   : 0x03 (64 Mbit)
good-die  : 0x01 (Pass)
Latency   : 0x01 (Fixed)
VCC       : 0x01 (3V)
SRF       : 0x01 (Fast Refresh)
BurstType : 0x01 (Hybrid Wrap)
BurstLen  : 0x01 (32 Byte)
Readlatency  : 0x02 (10 cycles@Fixed)
DriveStrength: 0x00 (1/1)
Found 64MBit SPI RAM device
SPI RAM mode: sram 40m
PSRAM initialized, cache is in normal (1-core) mode.
Pro cpu up.
Single core mode
SPI SRAM memory test OK
Initializing. RAM available for dynamic allocation:
At 3FC8C150 len 00053EB0 (335 KiB): D/IRAM
At 3FCE0000 len 0000EE34 (59 KiB): STACK/DRAM
At 3FCF0000 len 00008000 (32 KiB): DRAM

Starting ESP32x with ID: f412fafd0f8c
ESP-IDF SDK Version v4.4.1

Current clocks in Hz: CPU=80000000 APB=80000000 XTAL=40000000 SLOW=150000
PRO cpu is up (single core mode, only PRO cpu is used)
PRO cpu starts user code
Adding pool of 8192K of external SPI memory to heap allocator
Used clocks in Hz: CPU=80000000 APB=80000000 XTAL=40000000 FAST=8000000 SLOW=150000
XTAL calibration value: 3643448
Heap free: 8754851 bytes

Board configuration:
	UART_DEV(0)	txd=43 rxd=44
	LED		pins=[ ]
	BUTTONS		pins=[ 0 ]

Starting RIOT kernel on PRO cpu
Help: Press s to start test, r to print it is ready
```

### Issues/PRs references


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
Co-authored-by: Jon Shallow <supjps-libcoap@jpshallow.com>
2023-09-29 08:36:50 +00:00
Gunar Schorcht
459bc120df boards/esp32s3-pros: fix documentation 2023-09-29 09:01:12 +02:00
Gunar Schorcht
e8c14803a2 boards/esp32s3-box: fix documentation 2023-09-29 09:01:12 +02:00
bors[bot]
6a826fa1e0
Merge #19953
19953: boards/esp32s3-wt32-sc01-plus: fix Kconfig r=aabadie a=gschorcht

### Contribution description

This PR fixes a remaining Kconfig mismatch. It should fix the last compilation problem of the nightly.

### Testing procedure

```
python3 dist/tools/compile_test/compile_like_murdock.py -a tests/drivers/ili9341/ -b esp32s3-wt32-sc01-plus
```
should fail w/o this PR but should succeed with this PR.

### Issues/PRs references


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-09-28 22:02:52 +00:00
Gunar Schorcht
952bb26464 boards/esp32s3-wt32-sc01-plus: fix Kconfig 2023-09-28 11:59:21 +02:00
Gunar Schorcht
9a72d6cc55 boards: fix inches unit in documentation 2023-09-27 09:12:06 +02:00
Gunar Schorcht
c80591779f boards: fix references in documentation 2023-09-27 09:12:06 +02:00
Gunar Schorcht
7a94c74a59 boards/esp32s3-wt32-sc01-plus: fix I2C driver selection in Kconfig 2023-09-26 04:14:52 +02:00
Gunar Schorcht
4cda0e41cb boards/sam54-xpro: enable SDMMC support 2023-09-23 19:26:30 +02:00
Gunar Schorcht
1b2b17df16 boards/stm32l496g-disco: fix LCD doc 2023-09-22 15:52:37 +02:00
Gunar Schorcht
95d1e47b9a boards/stm32f723e-disco: enable ST7789 display
fixup! boards/stm32f723e-disco: enable ST7789 display
2023-09-22 15:49:54 +02:00
Gunar Schorcht
fef50d428e boards/stm32l496g-disco: enable touch panel 2023-09-22 12:18:47 +02:00
Gunar Schorcht
5dcac23173 boards/stm32l496g-disco: enable ST7789 display 2023-09-22 12:18:47 +02:00
Gunar Schorcht
9b30c65467 boards: add ESP32-S3-WT32-SC01-Plus support 2023-09-21 12:14:48 +02:00
bors[bot]
1691dbe0d3
Merge #19914 #19915
19914: boards: complete SD Card MTD definition for several bords r=benpicco a=gschorcht

### Contribution description

This PR completes the MTD definition for the following boards:
- `seeedstudio-gd32`
- `sipeed-longan-nano` including `sipeed-longan-nano-tft`
- `waveshare-nrf52840-eval-kit`
- ESP32x boards that have an SPI SD Card interface and use `mtd_sdcard_default`

### Testing procedure

Green CI

### Issues/PRs references#19465 

Prerequisite for PR #19465 

19915: drivers/lcd: support MCU 8080 8-bit parallel mode r=benpicco a=gschorcht

### Contribution description

LCD driver ICs usually support
- SPI serial mode,
- MCU 8080 8-bit parallel mode and
- MCU 8080 16-bit parallel mode.

This PR extends the LCD display driver API to support the MCU 8080 8-/16-bit parallel modes and implements a GPIO-driven MCU 8080 8-bit parallel mode.

The following features are already working locally and will be provided as follow-on PRs for which this PR is a prerequisite.

- GPIO-driven bit-banging implementation of the 16-bit mode of the MCU 8080 parallel interface
- Enabling the display on `stm32f723e-disco` and `stm32l496g-disco` using the feature above
- Definition of a low-level API for the parallel modes using the LCD controller of the MCU
- Using FMC for the display on `stm32f723e-disco` and `stm32l496g-disco`
- Using LCD controller for the display of `esp32-wt32-sc01-plus` (PR #19917)

### Testing procedure

The PR can be tested with PR #19917 on top of this PR.
```
BOARD=esp32s3-wt32-sc01-plus make -j8 -C tests/drivers/st77xx flash
```
The following video shows the test.

**Please note** The test is pretty slow because the display has 480 x 320 pixels and the MCU 8080 8-bit parallel interface is realized by a GPIO-driven bit-banging implementation where each GPIO of the data bus is set separately. A follow-up PR will use the ESP32-S3 LCD controller and DMA for this board. This PR just defines the extension of the driver by the parallel interface and provides the bit-banging implementation for MCUs that don't have a LCD controller on chip.

https://github.com/RIOT-OS/RIOT/assets/31932013/c1e3e3d7-05d9-4ca5-8fff-9a5eaca50fba

### Issues/PRs references

Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-09-20 15:55:34 +00:00
Gunar Schorcht
bf981c81ba boards: complete SD Card MTD definition 2023-09-20 14:15:42 +02:00
bors[bot]
ec69cfde6f
Merge #19919 #19931 #19935
19919: drivers/st77xx: introduce rotation defines r=benpicco a=gschorcht

### Contribution description

The PR introduces counterclockwise rotations for the definition of parameter `ST77XX_PARAM_ROTATION`.

It is more intuitive and universal to use `ST77XX_ROTATION_{0,90,180,270}` instead of `ST77XX_ROTATION_{ST77XX_ROTATION_{VERT,VERT_FLIP,HORZ,HORZ_FLIP}`, especially because the orientation of the display may vary with respect to the orientation of the board.

### Testing procedure

`tests/drivers/st77xx` should still work, for example:
```
BOARD=adafruit-pybadge make -C tests/drivers/st77xx flash
```
```
BOARD=esp32s3-usb-otg make -j8 -C tests/drivers/st77xx flash
```

### Issues/PRs references


19931: boards: fix documentation for GD32V boards and doxygen 1.9.4 r=benpicco a=gschorcht

### Contribution description

This PR fixes some small problems in documentation of `sipeed-longan-nano`, `sipeed-longan-nano-tft` and `seeedstudio-gd32` for doxygen 1.9.4 that is used on `doc.riot-os.org`.

Doxygen version 1.9.4 doesn't like anymore
- single double quotes as symbol for the inches unit in the text
- line breaks in `[]()` to avoid exhausting the 100 characters per line.

See https://doc.riot-os.org/group__boards__sipeed__longan__nano.html for example.

Doxygen 1.9.1 which is part of `riot-docker` container didn't have theses problems 😟

### Testing procedure

Documentation should be fixed.

### Issues/PRs references


19935: boards/nucleo64: fix SPI Arduino mapping for most boards r=benpicco a=maribu

### Contribution description

Before, the Arduino SPI mapping for all Nucleo-64 boards was incorrect. With this, the situation improves to the following:

- [x] nucleo-f030r8
- [ ] nucleo-f070rb
    - No SPI buses provided.
- [x] nucleo-f072rb
- [x] nucleo-f091rc
- [x] nucleo-f103rb
- [ ] nucleo-f302r8
    - No SPI bus at D11, D12, D13 provided
- [x] nucleo-f303re
- [x] nucleo-f334r8
- [x] nucleo-f401re
- [x] nucleo-f410rb
- [x] nucleo-f411re
- [x] nucleo-f446re
- [x] nucleo-g070rb
- [x] nucleo-g071rb
- [x] nucleo-g431rb
- [x] nucleo-g474re
- [x] nucleo-l053r8
- [x] nucleo-l073rz
- [x] nucleo-l152re
    - No SPI bus at D11, D12, D13 provided
- [x] nucleo-l452re
- [x] nucleo-l476rg
- [x] nucleo-wl55jc

The remaining offenders still need to be fixed, but that is better done one PR at a time.

### Testing procedure

- Check if the SPI device provided in the given `boards/<BOARD_NAME>/incude/periph_conf.h` is indeed `SPI_DEV(0)`, or in `periph_conf.h` the correct SPI dev is found
    - this should be fine for all boards above, except for the unchecked ones

or:

- run https://github.com/RIOT-OS/RIOT/pull/19932: The SPI test should pass now

### Issues/PRs references

Bug found in https://github.com/RIOT-OS/RIOT/pull/19932#issuecomment-1726305437

Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
Co-authored-by: Marian Buschsieweke <marian.buschsieweke@posteo.net>
2023-09-20 11:42:38 +00:00
Marian Buschsieweke
4524880581
boards/nucleo64: fix SPI Arduino mapping for most boards
Before, the Arduino SPI mapping for all Nucleo-64 boards was
incorrect. With this, the situation improves to the following:

- [x] nucleo-f030r8
- [ ] nucleo-f070rb
    - No SPI buses provided
- [x] nucleo-f072rb
- [x] nucleo-f091rc
- [x] nucleo-f103rb
- [ ] nucleo-f302r8
    - No SPI bus at D11, D12, D13 provided
- [x] nucleo-f303re
- [x] nucleo-f334r8
- [x] nucleo-f401re
- [x] nucleo-f410rb
- [x] nucleo-f411re
- [x] nucleo-f446re
- [x] nucleo-g070rb
- [x] nucleo-g071rb
- [x] nucleo-g431rb
- [x] nucleo-g474re
- [x] nucleo-l053r8
- [x] nucleo-l073rz
- [x] nucleo-l152re
- [ ] nucleo-l433rc
    - No SPI bus at D11, D12, D13 provided
- [x] nucleo-l452re
- [x] nucleo-l476rg
- [x] nucleo-wl55jc

The remaining offenders still need to be fixed, but that is better done
one PR at a time.
2023-09-20 10:49:40 +02:00
bors[bot]
e688211541
Merge #19923
19923: boards: add Silabs EFM32 Giant Gecko GG11 Starter Kit r=miri64 a=gschorcht

### Contribution description

The PR adds the support for the EFM32GG11B family and the Silabs EFM32 Giant Gecko GG11 Starter Kit board.

The Silabs EFM32 Giant Gecko GG11 has the following on-board features:

- EFM32GG11B MCU with 2 MB flash and 512 kB RAM
- J-Link USB debugger
- 176x176 RGB LCD (not supported)
- 2 user buttons, 2 user RGB LEDs and a touch slider
- Si7021 Relative Humidity and Temperature Sensor
- Si7210 Hall-Effect Sensor (not supported)
- USB OTG interface (Device mode supported)
- 32 MByte Quad-SPI Flash (not supported yet)
- SD card slot (not supported yet, follow-up PR based on PR #19760)
- RJ-45 Ethernet (not supported)
- Dual microphones (not supported)

### Testing procedure

Basic tests should work.

### Issues/PRs references

Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-09-19 19:10:14 +00:00
Gunar Schorcht
c58d71a2ef boards/seeedstudio-gd32: fix doc for doxygen 1.9.4 2023-09-18 18:25:51 +02:00
Gunar Schorcht
64a95a29b0 boards/sipeed-longan-nano-tft: fix doc for doxygen 1.9.4 2023-09-18 18:25:42 +02:00
Gunar Schorcht
ac52818a81 boards/sipeed-longan-nano: fix doc for doxygen 1.9.4 2023-09-18 18:25:36 +02:00
Gunar Schorcht
77769905cd boards/slstk3701a: add Silabs EFM32 Giant Gecko GG11 Starter Kit 2023-09-18 12:40:33 +02:00
Marian Buschsieweke
0ae471116e
boards/msb-430: Fix periph config & improve doc
The pins P5.2, P5.1, P5.3 configured as SPI pins are only routed to
USART1 and not to USART0, but previously USART0 was configured as
peripheral backing the bus. This fixes the peripheral configuration by
changing it to USART1.

This is quite unfortunate as USART1 is also used to provide the UART
interface used for `stdio`. Hence, one can either use `stdio` or SPI.
A feature conflict between UART and SPI has therefore been added.

Note that while it would be possible to use P3.2, P3.1, P3.3 to provide
SPI with USART0, this would not work in practise: P3.1 and P3.3 are
connected to the CC1020 transceiver.

Switching to P3.4/P3.5 for UART to provide it using USART 0 would also
resolve the resource conflict. However, these pins are not available
via any of the header and would require soldering the UART<->USB
adapter directly to the pins of the MCU chip on the PCB. It is therefore
much more user friendly to keep the UART bus backed by USART1 to use
pins P3.6 and P3.7 that are easily accessible via the pin header.
2023-09-14 14:38:05 +02:00
Gunar Schorcht
af9e1207d0 boards/sipeed-longan-nano: use ST77xx rotation in degree 2023-09-08 12:01:41 +02:00
Gunar Schorcht
a14d71ee83 boards/esps3-usb-otg: use ST77xx rotation in degree 2023-09-08 12:01:30 +02:00
Gunar Schorcht
2784288506 boards/esp32s2-lilygo-ttgo-t8: use ST77xx rotation in degree 2023-09-08 12:01:20 +02:00
Gunar Schorcht
1f41d19c89 boards/adafruit-pybadge: use ST77xx rotation in degree 2023-09-08 12:01:00 +02:00
bors[bot]
85c7bd937c
Merge #19825
19825: drivers: rename st7735 to more generic st77xx r=aabadie a=gschorcht

### Contribution description

This PR provides the following changes:
- renames the driver `st7735` to `st77xx`
- renames the test `st7735` to `st77xx`
- models controller variants as pseudomodules `st7735`, `st7789` and `st7796`
- removes the buggy initialization as a workaround to use reset defaults, see issue #19818 
- adds backward compatibility header files for `ST7735_PARAM_*` symbols
- adds a test board for compilation test of backward compatibility
- updates the corresponding board definitions

The PR should solve the remaining dependency issues in KConfig we had by using `st7735` module for different controller variants. The backward compatibility header files should work for boards that still use `ST7735_PARAM_*` in their board definitions so that the board defintions at user's side use shouldn't be affected.

~To be compilable, the PR includes PR #19824.~

### Testing procedure

- Green CI
- `tests/drivers/disp_dev` and `tests/drivers/st77xx` should still work for all boards using a ST77xx display.
- The PR was already tested for these tests for:
   - [x] `adafruit-pybadge`
   - [x] `esp32s2-lilygo-ttgo-t8`
   - [x] `esp32s3-usb-otg`
   - [x] `sipeed-longan-nano`

### Issues/PRs references

Workaround for issue #19818
Preqruisite for PR #19827 

Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-09-06 10:19:01 +00:00
Gunar Schorcht
cb1c972dc2 boards/sipeed-longan-nano: update for st77xx driver 2023-09-06 11:52:11 +02:00
Gunar Schorcht
1e99e9a9ce boards/esp32s3-usb-otg: update for st77xx driver 2023-09-06 11:52:11 +02:00
Gunar Schorcht
f8c9770db0 boards/esp32s2-lilygo-ttgo-t8: update for st77xx driver 2023-09-06 11:52:11 +02:00
Gunar Schorcht
5406793bff boards/adafruit-pybadge: update for st77xx driver 2023-09-06 11:52:10 +02:00
bors[bot]
7c04094430
Merge #19910
19910: boards/stm32f469i-disco: enable FMC with SDRAM support r=aabadie a=gschorcht

### Contribution description

This PR enables the FMC support on the `stm32f469i-disco` board and the on-board SDRAM ISSI IS42S32400F-6BL with 16 MByte.

### Testing procedure

1. `tests/periph/fmc` should succeed, just compile and flash the app with
   
   ```
   BOARD=stm32f469i-disco make -C tests/periph/fmc flash term
   ```
2. `tests/sys/malloc` should also use the SDRAM. Use
   
   ```
   USEMODULE=periph_fmc_sdram CFLAGS='-DCHUNK_SIZE=131072' \
   BOARD=stm32f469i-disco make -C tests/sys/malloc flash term
   ```
   and check that the heap also uses the memory in the range from `0xc0000000` to `0xc0fffffff`.

### Issues/PRs references



Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-09-06 09:42:58 +00:00
bors[bot]
9be022afd8
Merge #18547
18547: sys: PSA Crypto API implementation r=MrKevinWeiss a=Einhornhool

### Contribution description
This adds an implementation of the ARM [PSA Crypto API](https://armmbed.github.io/mbed-crypto/html/index.html) specification to RIOT. 

It is a cryptographic API that supports software and hardware backends as well as the use of multiple secure elements, which can be configured with Kconfig.
It integrates indirect, identifier based key management to support persistent storage of key material in local memory and devices with protected key storage.

A description of the implementation design and an evaluation of the processing time and memory overhead in RIOT has been published here: [Usable Security for an IoT OS: Integrating the Zoo of Embedded Crypto Components Below a Common API](https://arxiv.org/abs/2208.09281)

#### Implementation status
So far this implementation supports the following operations:
- Volatile key storage
- AES in CBC mode
- Hashes (MD5, SHA1, SHA224, SHA256)
- HMAC SHA256
- ECDSA with NIST P192 and P256 curves

The following backends are supported so far:
- RIOT Cipher Module
- RIOT Hash Module
- Micro ECC library package
- Cryptocell 310 hardware accelerator on the Nordic NRF52840dk
- Microchip ATECC608A secure element

Other operations and backends as well as persistent key storage can and will be implemented by me and anyone who wants to contribute in the future.

### Testing procedure
So far there is a show case application in `examples/psa_crypto` to demonstrate the usage and configuration of different backends of the API (refer to the application README for more information). 


Co-authored-by: Lena Boeckmann <lena.boeckmann@haw-hamburg.de>
2023-09-04 08:15:08 +00:00
Gunar Schorcht
5f97873a57 boards/stm32f469i-disco: add FMC with SDRAM support 2023-09-03 11:29:15 +02:00
bors[bot]
949dcd3ee5
Merge #19851
19851: boards/stm32f769i-disco: enable FMC with SDRAM support r=aabadie a=gschorcht

### Contribution description

This PR enables the FMC support on the `stm32f769i-disco` board and the on-board SDRAM MT48LC4M32B2B5-6A with 16 MByte.

The PR also includes a very small documentation fix for the `stm32f746g-disco` board (commit
f761e2d616c861e4857563bae26152bc1f1699d7) and removes double empy line in the test app `tests/periph/fmc`.

### Testing procedure

1. `tests/periph/fmc` should succeed, just compile and flash the app with
   
   ```
   BOARD=stm32f769i-disco make -C tests/periph/fmc flash term
   ```
2. `tests/sys/malloc` should also use the SDRAM. Use
   
   ```
   USEMODULE=periph_fmc_sdram CFLAGS='-DCHUNK_SIZE=131072' \
   BOARD=stm32f769i-disco make -C tests/sys/malloc flash term
   ```
   and check that the heap also uses the memory in the range from `0xc0000000` to `0xc0fffffff`.

**UPDATE:** Tested with a `stm32f769i-disco` board.

<details>
<summary>Output from <b>tests/periph/fmc</b></summary>

```
Help: Press s to start test, r to print it is ready
START
main(): This is RIOT! (Version: 2023.10-devel-88-gdcecc-boards/stm32f769i_disco_fmc)
FMC HCLK freq 216 MHz
8-bit data `@0xc0000000,` 16-bit data `@0xc0000100,` 32-bit data `@0xc0ffff00`
------------------------------------------------------------------------
C0000000  00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F
C0000010  10  11  12  13  14  15  16  17  18  19  1A  1B  1C  1D  1E  1F
C0000020  20  21  22  23  24  25  26  27  28  29  2A  2B  2C  2D  2E  2F
C0000030  30  31  32  33  34  35  36  37  38  39  3A  3B  3C  3D  3E  3F
C0000040  40  41  42  43  44  45  46  47  48  49  4A  4B  4C  4D  4E  4F
C0000050  50  51  52  53  54  55  56  57  58  59  5A  5B  5C  5D  5E  5F
C0000060  60  61  62  63  64  65  66  67  68  69  6A  6B  6C  6D  6E  6F
C0000070  70  71  72  73  74  75  76  77  78  79  7A  7B  7C  7D  7E  7F
C0000080  80  81  82  83  84  85  86  87  88  89  8A  8B  8C  8D  8E  8F
C0000090  90  91  92  93  94  95  96  97  98  99  9A  9B  9C  9D  9E  9F
C00000A0  A0  A1  A2  A3  A4  A5  A6  A7  A8  A9  AA  AB  AC  AD  AE  AF
C00000B0  B0  B1  B2  B3  B4  B5  B6  B7  B8  B9  BA  BB  BC  BD  BE  BF
C00000C0  C0  C1  C2  C3  C4  C5  C6  C7  C8  C9  CA  CB  CC  CD  CE  CF
C00000D0  D0  D1  D2  D3  D4  D5  D6  D7  D8  D9  DA  DB  DC  DD  DE  DF
C00000E0  E0  E1  E2  E3  E4  E5  E6  E7  E8  E9  EA  EB  EC  ED  EE  EF
C00000F0  F0  F1  F2  F3  F4  F5  F6  F7  F8  F9  FA  FB  FC  FD  FE  FF
------------------------------------------------------------------------
C0000100  00  80  01  81  02  82  03  83  04  84  05  85  06  86  07  87
C0000110  08  88  09  89  0A  8A  0B  8B  0C  8C  0D  8D  0E  8E  0F  8F
C0000120  10  90  11  91  12  92  13  93  14  94  15  95  16  96  17  97
C0000130  18  98  19  99  1A  9A  1B  9B  1C  9C  1D  9D  1E  9E  1F  9F
C0000140  20  A0  21  A1  22  A2  23  A3  24  A4  25  A5  26  A6  27  A7
C0000150  28  A8  29  A9  2A  AA  2B  AB  2C  AC  2D  AD  2E  AE  2F  AF
C0000160  30  B0  31  B1  32  B2  33  B3  34  B4  35  B5  36  B6  37  B7
C0000170  38  B8  39  B9  3A  BA  3B  BB  3C  BC  3D  BD  3E  BE  3F  BF
C0000180  40  C0  41  C1  42  C2  43  C3  44  C4  45  C5  46  C6  47  C7
C0000190  48  C8  49  C9  4A  CA  4B  CB  4C  CC  4D  CD  4E  CE  4F  CF
C00001A0  50  D0  51  D1  52  D2  53  D3  54  D4  55  D5  56  D6  57  D7
C00001B0  58  D8  59  D9  5A  DA  5B  DB  5C  DC  5D  DD  5E  DE  5F  DF
C00001C0  60  E0  61  E1  62  E2  63  E3  64  E4  65  E5  66  E6  67  E7
C00001D0  68  E8  69  E9  6A  EA  6B  EB  6C  EC  6D  ED  6E  EE  6F  EF
C00001E0  70  F0  71  F1  72  F2  73  F3  74  F4  75  F5  76  F6  77  F7
C00001F0  78  F8  79  F9  7A  FA  7B  FB  7C  FC  7D  FD  7E  FE  7F  FF
------------------------------------------------------------------------
C0FFFF00  00  40  80  C0  01  41  81  C1  02  42  82  C2  03  43  83  C3
C0FFFF10  04  44  84  C4  05  45  85  C5  06  46  86  C6  07  47  87  C7
C0FFFF20  08  48  88  C8  09  49  89  C9  0A  4A  8A  CA  0B  4B  8B  CB
C0FFFF30  0C  4C  8C  CC  0D  4D  8D  CD  0E  4E  8E  CE  0F  4F  8F  CF
C0FFFF40  10  50  90  D0  11  51  91  D1  12  52  92  D2  13  53  93  D3
C0FFFF50  14  54  94  D4  15  55  95  D5  16  56  96  D6  17  57  97  D7
C0FFFF60  18  58  98  D8  19  59  99  D9  1A  5A  9A  DA  1B  5B  9B  DB
C0FFFF70  1C  5C  9C  DC  1D  5D  9D  DD  1E  5E  9E  DE  1F  5F  9F  DF
C0FFFF80  20  60  A0  E0  21  61  A1  E1  22  62  A2  E2  23  63  A3  E3
C0FFFF90  24  64  A4  E4  25  65  A5  E5  26  66  A6  E6  27  67  A7  E7
C0FFFFA0  28  68  A8  E8  29  69  A9  E9  2A  6A  AA  EA  2B  6B  AB  EB
C0FFFFB0  2C  6C  AC  EC  2D  6D  AD  ED  2E  6E  AE  EE  2F  6F  AF  EF
C0FFFFC0  30  70  B0  F0  31  71  B1  F1  32  72  B2  F2  33  73  B3  F3
C0FFFFD0  34  74  B4  F4  35  75  B5  F5  36  76  B6  F6  37  77  B7  F7
C0FFFFE0  38  78  B8  F8  39  79  B9  F9  3A  7A  BA  FA  3B  7B  BB  FB
C0FFFFF0  3C  7C  BC  FC  3D  7D  BD  FD  3E  7E  BE  FE  3F  7F  BF  FF
------------------------------------------------------------------------
fill complete memory of 16384 kByte, a . represents a 16 kByte block
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
ready
check memory content, a + represents one 16 kByte block of matching data
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ready
------------------------------------------------------------------------
Doing some benchmarks

              write 8 bit:    233018us  ---   0.013us per call  ---   71999656 calls per sec
             write 16 bit:    116510us  ---   0.013us per call  ---   71999038 calls per sec
             write 32 bit:    563125us  ---   0.134us per call  ---    7448264 calls per sec
               read 8 bit:    900066us  ---   0.053us per call  ---   18639984 calls per sec
              read 16 bit:   1165181us  ---   0.138us per call  ---    7199403 calls per sec
              read 32 bit:    225729us  ---   0.053us per call  ---   18581148 calls per sec

ready
------------------------------------------------------------------------
print first and last memory block after benchmark, should be 0xaa

C0000000  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA
C0000010  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA
C0000020  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA
C0000030  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA
C0000040  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA
C0000050  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA
C0000060  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA
C0000070  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA
C0000080  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA
C0000090  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA
C00000A0  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA
C00000B0  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA
C00000C0  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA
C00000D0  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA
C00000E0  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA
C00000F0  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA

C0FFFF00  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA
C0FFFF10  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA
C0FFFF20  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA
C0FFFF30  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA
C0FFFF40  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA
C0FFFF50  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA
C0FFFF60  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA
C0FFFF70  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA
C0FFFF80  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA
C0FFFF90  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA
C0FFFFA0  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA
C0FFFFB0  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA
C0FFFFC0  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA
C0FFFFD0  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA
C0FFFFE0  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA
C0FFFFF0  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA
------------------------------------------------------------------------

[SUCCESS]

{ "threads": [{ "name": "main", "stack_size": 1536, "stack_used": 412}]}
```

</details>

<details>
<summary>Output from <b>tests/sys/malloc</b></summary>

```
Help: Press s to start test, r to print it is ready
START
main(): This is RIOT! (Version: 2023.10-devel-88-gdcecc-boards/stm32f769i_disco_fmc)
calloc(zu, zu) = 0x10000000
CHUNK_SIZE: 131072
NUMBER_OF_TESTS: 3
Allocated 131072 Bytes at 0x200013a8, total 131072
Allocated 131072 Bytes at 0x200213c0, total 262152
Allocated 131072 Bytes at 0x200413d8, total 393232
Allocated 131072 Bytes at 0xc0000008, total 524312
Allocated 131072 Bytes at 0xc0020010, total 655392
Allocated 131072 Bytes at 0xc0040018, total 786472
Allocated 131072 Bytes at 0xc0060020, total 917552
Allocated 131072 Bytes at 0xc0080028, total 1048632
Allocated 131072 Bytes at 0xc00a0030, total 1179712
Allocated 131072 Bytes at 0xc00c0038, total 1310792
Allocated 131072 Bytes at 0xc00e0040, total 1441872
Allocated 131072 Bytes at 0xc0100048, total 1572952
Allocated 131072 Bytes at 0xc0120050, total 1704032
Allocated 131072 Bytes at 0xc0140058, total 1835112
Allocated 131072 Bytes at 0xc0160060, total 1966192
Allocated 131072 Bytes at 0xc0180068, total 2097272
Allocated 131072 Bytes at 0xc01a0070, total 2228352
Allocated 131072 Bytes at 0xc01c0078, total 2359432
Allocated 131072 Bytes at 0xc01e0080, total 2490512
Allocated 131072 Bytes at 0xc0200088, total 2621592
Allocated 131072 Bytes at 0xc0220090, total 2752672
Allocated 131072 Bytes at 0xc0240098, total 2883752
Allocated 131072 Bytes at 0xc02600a0, total 3014832
Allocated 131072 Bytes at 0xc02800a8, total 3145912
Allocated 131072 Bytes at 0xc02a00b0, total 3276992
Allocated 131072 Bytes at 0xc02c00b8, total 3408072
Allocated 131072 Bytes at 0xc02e00c0, total 3539152
Allocated 131072 Bytes at 0xc03000c8, total 3670232
Allocated 131072 Bytes at 0xc03200d0, total 3801312
Allocated 131072 Bytes at 0xc03400d8, total 3932392
Allocated 131072 Bytes at 0xc03600e0, total 4063472
Allocated 131072 Bytes at 0xc03800e8, total 4194552
Allocated 131072 Bytes at 0xc03a00f0, total 4325632
Allocated 131072 Bytes at 0xc03c00f8, total 4456712
Allocated 131072 Bytes at 0xc03e0100, total 4587792
Allocated 131072 Bytes at 0xc0400108, total 4718872
Allocated 131072 Bytes at 0xc0420110, total 4849952
Allocated 131072 Bytes at 0xc0440118, total 4981032
Allocated 131072 Bytes at 0xc0460120, total 5112112
Allocated 131072 Bytes at 0xc0480128, total 5243192
Allocated 131072 Bytes at 0xc04a0130, total 5374272
Allocated 131072 Bytes at 0xc04c0138, total 5505352
Allocated 131072 Bytes at 0xc04e0140, total 5636432
Allocated 131072 Bytes at 0xc0500148, total 5767512
Allocated 131072 Bytes at 0xc0520150, total 5898592
Allocated 131072 Bytes at 0xc0540158, total 6029672
Allocated 131072 Bytes at 0xc0560160, total 6160752
Allocated 131072 Bytes at 0xc0580168, total 6291832
Allocated 131072 Bytes at 0xc05a0170, total 6422912
Allocated 131072 Bytes at 0xc05c0178, total 6553992
Allocated 131072 Bytes at 0xc05e0180, total 6685072
Allocated 131072 Bytes at 0xc0600188, total 6816152
Allocated 131072 Bytes at 0xc0620190, total 6947232
Allocated 131072 Bytes at 0xc0640198, total 7078312
Allocated 131072 Bytes at 0xc06601a0, total 7209392
Allocated 131072 Bytes at 0xc06801a8, total 7340472
Allocated 131072 Bytes at 0xc06a01b0, total 7471552
Allocated 131072 Bytes at 0xc06c01b8, total 7602632
Allocated 131072 Bytes at 0xc06e01c0, total 7733712
Allocated 131072 Bytes at 0xc07001c8, total 7864792
Allocated 131072 Bytes at 0xc07201d0, total 7995872
Allocated 131072 Bytes at 0xc07401d8, total 8126952
Allocated 131072 Bytes at 0xc07601e0, total 8258032
Allocated 131072 Bytes at 0xc07801e8, total 8389112
Allocated 131072 Bytes at 0xc07a01f0, total 8520192
Allocated 131072 Bytes at 0xc07c01f8, total 8651272
Allocated 131072 Bytes at 0xc07e0200, total 8782352
Allocated 131072 Bytes at 0xc0800208, total 8913432
Allocated 131072 Bytes at 0xc0820210, total 9044512
Allocated 131072 Bytes at 0xc0840218, total 9175592
Allocated 131072 Bytes at 0xc0860220, total 9306672
Allocated 131072 Bytes at 0xc0880228, total 9437752
Allocated 131072 Bytes at 0xc08a0230, total 9568832
Allocated 131072 Bytes at 0xc08c0238, total 9699912
Allocated 131072 Bytes at 0xc08e0240, total 9830992
Allocated 131072 Bytes at 0xc0900248, total 9962072
Allocated 131072 Bytes at 0xc0920250, total 10093152
Allocated 131072 Bytes at 0xc0940258, total 10224232
Allocated 131072 Bytes at 0xc0960260, total 10355312
Allocated 131072 Bytes at 0xc0980268, total 10486392
Allocated 131072 Bytes at 0xc09a0270, total 10617472
Allocated 131072 Bytes at 0xc09c0278, total 10748552
Allocated 131072 Bytes at 0xc09e0280, total 10879632
Allocated 131072 Bytes at 0xc0a00288, total 11010712
Allocated 131072 Bytes at 0xc0a20290, total 11141792
Allocated 131072 Bytes at 0xc0a40298, total 11272872
Allocated 131072 Bytes at 0xc0a602a0, total 11403952
Allocated 131072 Bytes at 0xc0a802a8, total 11535032
Allocated 131072 Bytes at 0xc0aa02b0, total 11666112
Allocated 131072 Bytes at 0xc0ac02b8, total 11797192
Allocated 131072 Bytes at 0xc0ae02c0, total 11928272
Allocated 131072 Bytes at 0xc0b002c8, total 12059352
Allocated 131072 Bytes at 0xc0b202d0, total 12190432
Allocated 131072 Bytes at 0xc0b402d8, total 12321512
Allocated 131072 Bytes at 0xc0b602e0, total 12452592
Allocated 131072 Bytes at 0xc0b802e8, total 12583672
Allocated 131072 Bytes at 0xc0ba02f0, total 12714752
Allocated 131072 Bytes at 0xc0bc02f8, total 12845832
Allocated 131072 Bytes at 0xc0be0300, total 12976912
Allocated 131072 Bytes at 0xc0c00308, total 13107992
Allocated 131072 Bytes at 0xc0c20310, total 13239072
Allocated 131072 Bytes at 0xc0c40318, total 13370152
Allocated 131072 Bytes at 0xc0c60320, total 13501232
Allocated 131072 Bytes at 0xc0c80328, total 13632312
Allocated 131072 Bytes at 0xc0ca0330, total 13763392
Allocated 131072 Bytes at 0xc0cc0338, total 13894472
Allocated 131072 Bytes at 0xc0ce0340, total 14025552
Allocated 131072 Bytes at 0xc0d00348, total 14156632
Allocated 131072 Bytes at 0xc0d20350, total 14287712
Allocated 131072 Bytes at 0xc0d40358, total 14418792
Allocated 131072 Bytes at 0xc0d60360, total 14549872
Allocated 131072 Bytes at 0xc0d80368, total 14680952
Allocated 131072 Bytes at 0xc0da0370, total 14812032
Allocated 131072 Bytes at 0xc0dc0378, total 14943112
Allocated 131072 Bytes at 0xc0de0380, total 15074192
Allocated 131072 Bytes at 0xc0e00388, total 15205272
Allocated 131072 Bytes at 0xc0e20390, total 15336352
Allocated 131072 Bytes at 0xc0e40398, total 15467432
Allocated 131072 Bytes at 0xc0e603a0, total 15598512
Allocated 131072 Bytes at 0xc0e803a8, total 15729592
Allocated 131072 Bytes at 0xc0ea03b0, total 15860672
Allocated 131072 Bytes at 0xc0ec03b8, total 15991752
Allocated 131072 Bytes at 0xc0ee03c0, total 16122832
Allocated 131072 Bytes at 0xc0f003c8, total 16253912
Allocated 131072 Bytes at 0xc0f203d0, total 16384992
Allocated 131072 Bytes at 0xc0f403d8, total 16516072
Allocated 131072 Bytes at 0xc0f603e0, total 16647152
Allocated 131072 Bytes at 0xc0f803e8, total 16778232
Allocated 131072 Bytes at 0xc0fa03f0, total 16909312
Allocated 131072 Bytes at 0xc0fc03f8, total 17040392
Allocations count: 130
Free 131072 Bytes at 0x200013a8, total 16909328
Free 131072 Bytes at 0x200213c0, total 16778248
Free 131072 Bytes at 0x200413d8, total 16647168
Free 131072 Bytes at 0xc0000008, total 16516088
Free 131072 Bytes at 0xc0020010, total 16385008
Free 131072 Bytes at 0xc0040018, total 16253928
Free 131072 Bytes at 0xc0060020, total 16122848
Free 131072 Bytes at 0xc0080028, total 15991768
Free 131072 Bytes at 0xc00a0030, total 15860688
Free 131072 Bytes at 0xc00c0038, total 15729608
Free 131072 Bytes at 0xc00e0040, total 15598528
Free 131072 Bytes at 0xc0100048, total 15467448
Free 131072 Bytes at 0xc0120050, total 15336368
Free 131072 Bytes at 0xc0140058, total 15205288
Free 131072 Bytes at 0xc0160060, total 15074208
Free 131072 Bytes at 0xc0180068, total 14943128
Free 131072 Bytes at 0xc01a0070, total 14812048
Free 131072 Bytes at 0xc01c0078, total 14680968
Free 131072 Bytes at 0xc01e0080, total 14549888
Free 131072 Bytes at 0xc0200088, total 14418808
Free 131072 Bytes at 0xc0220090, total 14287728
Free 131072 Bytes at 0xc0240098, total 14156648
Free 131072 Bytes at 0xc02600a0, total 14025568
Free 131072 Bytes at 0xc02800a8, total 13894488
Free 131072 Bytes at 0xc02a00b0, total 13763408
Free 131072 Bytes at 0xc02c00b8, total 13632328
Free 131072 Bytes at 0xc02e00c0, total 13501248
Free 131072 Bytes at 0xc03000c8, total 13370168
Free 131072 Bytes at 0xc03200d0, total 13239088
Free 131072 Bytes at 0xc03400d8, total 13108008
Free 131072 Bytes at 0xc03600e0, total 12976928
Free 131072 Bytes at 0xc03800e8, total 12845848
Free 131072 Bytes at 0xc03a00f0, total 12714768
Free 131072 Bytes at 0xc03c00f8, total 12583688
Free 131072 Bytes at 0xc03e0100, total 12452608
Free 131072 Bytes at 0xc0400108, total 12321528
Free 131072 Bytes at 0xc0420110, total 12190448
Free 131072 Bytes at 0xc0440118, total 12059368
Free 131072 Bytes at 0xc0460120, total 11928288
Free 131072 Bytes at 0xc0480128, total 11797208
Free 131072 Bytes at 0xc04a0130, total 11666128
Free 131072 Bytes at 0xc04c0138, total 11535048
Free 131072 Bytes at 0xc04e0140, total 11403968
Free 131072 Bytes at 0xc0500148, total 11272888
Free 131072 Bytes at 0xc0520150, total 11141808
Free 131072 Bytes at 0xc0540158, total 11010728
Free 131072 Bytes at 0xc0560160, total 10879648
Free 131072 Bytes at 0xc0580168, total 10748568
Free 131072 Bytes at 0xc05a0170, total 10617488
Free 131072 Bytes at 0xc05c0178, total 10486408
Free 131072 Bytes at 0xc05e0180, total 10355328
Free 131072 Bytes at 0xc0600188, total 10224248
Free 131072 Bytes at 0xc0620190, total 10093168
Free 131072 Bytes at 0xc0640198, total 9962088
Free 131072 Bytes at 0xc06601a0, total 9831008
Free 131072 Bytes at 0xc06801a8, total 9699928
Free 131072 Bytes at 0xc06a01b0, total 9568848
Free 131072 Bytes at 0xc06c01b8, total 9437768
Free 131072 Bytes at 0xc06e01c0, total 9306688
Free 131072 Bytes at 0xc07001c8, total 9175608
Free 131072 Bytes at 0xc07201d0, total 9044528
Free 131072 Bytes at 0xc07401d8, total 8913448
Free 131072 Bytes at 0xc07601e0, total 8782368
Free 131072 Bytes at 0xc07801e8, total 8651288
Free 131072 Bytes at 0xc07a01f0, total 8520208
Free 131072 Bytes at 0xc07c01f8, total 8389128
Free 131072 Bytes at 0xc07e0200, total 8258048
Free 131072 Bytes at 0xc0800208, total 8126968
Free 131072 Bytes at 0xc0820210, total 7995888
Free 131072 Bytes at 0xc0840218, total 7864808
Free 131072 Bytes at 0xc0860220, total 7733728
Free 131072 Bytes at 0xc0880228, total 7602648
Free 131072 Bytes at 0xc08a0230, total 7471568
Free 131072 Bytes at 0xc08c0238, total 7340488
Free 131072 Bytes at 0xc08e0240, total 7209408
Free 131072 Bytes at 0xc0900248, total 7078328
Free 131072 Bytes at 0xc0920250, total 6947248
Free 131072 Bytes at 0xc0940258, total 6816168
Free 131072 Bytes at 0xc0960260, total 6685088
Free 131072 Bytes at 0xc0980268, total 6554008
Free 131072 Bytes at 0xc09a0270, total 6422928
Free 131072 Bytes at 0xc09c0278, total 6291848
Free 131072 Bytes at 0xc09e0280, total 6160768
Free 131072 Bytes at 0xc0a00288, total 6029688
Free 131072 Bytes at 0xc0a20290, total 5898608
Free 131072 Bytes at 0xc0a40298, total 5767528
Free 131072 Bytes at 0xc0a602a0, total 5636448
Free 131072 Bytes at 0xc0a802a8, total 5505368
Free 131072 Bytes at 0xc0aa02b0, total 5374288
Free 131072 Bytes at 0xc0ac02b8, total 5243208
Free 131072 Bytes at 0xc0ae02c0, total 5112128
Free 131072 Bytes at 0xc0b002c8, total 4981048
Free 131072 Bytes at 0xc0b202d0, total 4849968
Free 131072 Bytes at 0xc0b402d8, total 4718888
Free 131072 Bytes at 0xc0b602e0, total 4587808
Free 131072 Bytes at 0xc0b802e8, total 4456728
Free 131072 Bytes at 0xc0ba02f0, total 4325648
Free 131072 Bytes at 0xc0bc02f8, total 4194568
Free 131072 Bytes at 0xc0be0300, total 4063488
Free 131072 Bytes at 0xc0c00308, total 3932408
Free 131072 Bytes at 0xc0c20310, total 3801328
Free 131072 Bytes at 0xc0c40318, total 3670248
Free 131072 Bytes at 0xc0c60320, total 3539168
Free 131072 Bytes at 0xc0c80328, total 3408088
Free 131072 Bytes at 0xc0ca0330, total 3277008
Free 131072 Bytes at 0xc0cc0338, total 3145928
Free 131072 Bytes at 0xc0ce0340, total 3014848
Free 131072 Bytes at 0xc0d00348, total 2883768
Free 131072 Bytes at 0xc0d20350, total 2752688
Free 131072 Bytes at 0xc0d40358, total 2621608
Free 131072 Bytes at 0xc0d60360, total 2490528
Free 131072 Bytes at 0xc0d80368, total 2359448
Free 131072 Bytes at 0xc0da0370, total 2228368
Free 131072 Bytes at 0xc0dc0378, total 2097288
Free 131072 Bytes at 0xc0de0380, total 1966208
Free 131072 Bytes at 0xc0e00388, total 1835128
Free 131072 Bytes at 0xc0e20390, total 1704048
Free 131072 Bytes at 0xc0e40398, total 1572968
Free 131072 Bytes at 0xc0e603a0, total 1441888
Free 131072 Bytes at 0xc0e803a8, total 1310808
Free 131072 Bytes at 0xc0ea03b0, total 1179728
Free 131072 Bytes at 0xc0ec03b8, total 1048648
Free 131072 Bytes at 0xc0ee03c0, total 917568
Free 131072 Bytes at 0xc0f003c8, total 786488
Free 131072 Bytes at 0xc0f203d0, total 655408
Free 131072 Bytes at 0xc0f403d8, total 524328
Free 131072 Bytes at 0xc0f603e0, total 393248
Free 131072 Bytes at 0xc0f803e8, total 262168
Free 131072 Bytes at 0xc0fa03f0, total 131088
Free 131072 Bytes at 0xc0fc03f8, total 8
Free count: 130
...
Free 131072 Bytes at 0xc0fc03f8, total 8
Free count: 130
[SUCCESS]
{ "threads": [{ "name": "main", "stack_size": 1536, "stack_used": 396 }]}
```

</details>

### Issues/PRs references

Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-09-02 21:21:08 +00:00
bors[bot]
51a39d0127
Merge #19355 #19883
19355: boards/adafruit-itsybitsy-m4: configure littleFS on external flash r=aabadie a=benpicco



19883: drivers/stmpe811: introduce conversion for X and Y coordinates r=aabadie a=gschorcht

### Contribution description

To obtain coordinates from the touch panel that correspond to the display coordinates, it is often necessary to convert the coordinates by swapping and mirroring. Instead of hard coding this conversion, it is now controlled by an additional conversion parameter. For the sake of simplicity, possible rotations are predefined.

The PR fixes `tests/pkg/lgvl_touch` for the `stm32f429i-disc1`  board where the coordinates from the touch panel seem to be mirrored in relation to the screen coordinates at the vertical axis.

### Testing procedure

Flash `tests/pkg/lvgl_touch`. Without this PR the coordinates of the button don't correspond to the touch panel coordinates once the button has been pressed. Instead they seem to be mirrored at the vertical axis. With this PR, the coordinates should be correct.

### Issues/PRs references


Co-authored-by: Benjamin Valentin <benpicco@beuth-hochschule.de>
Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-09-02 17:47:18 +00:00
Lena Boeckmann
40902cd947 pkg/cryptoauthlib: Add PSA Wrappers 2023-08-31 14:38:50 +02:00
bors[bot]
26cb4db130
Merge #19887 #19898
19887: cpu/efm32/periph: add DAC support for EFM32 Series 1 (VDAC) r=aabadie a=gschorcht

### Contribution description

This PR provides a small change for `periph_dac` to support the VDACs of EFM32 Series 1 MCUs. It was tested with `sltb009a` board for which this PR includes the DAC configuration.

### Testing procedure

`tests/periph/dac` should work for the `sltb009a` board. I've tested it already.
```
BOARD=sltb009a make -j8 -C tests/periph/dac flash
```

### Issues/PRs references

Depends on PR #19886 

19898: tests/net/gcoap_fileserver: disable test on CI r=aabadie a=benpicco




Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
2023-08-30 17:35:08 +00:00
Gunar Schorcht
e04e8ee128 boards/sltb009a: enable DAC support 2023-08-30 16:47:52 +02:00
Gunar Schorcht
26ed7e6955 boards/stm32f723e-disco: add touch panel conversion config 2023-08-26 17:49:29 +02:00
Gunar Schorcht
a61d4be36a boards/stm32f746g-disco: add touch panel conversion config 2023-08-26 17:49:29 +02:00
bors[bot]
2a4496b32a
Merge #19539 #19815 #19860 #19886
19539: drivers/periph_sdmmc: define a High-level SDIO/SD/MMC API and low-level SDMMC periperal driver interface r=benpicco a=gschorcht

### Contribution description

This PR provides a SDIO/SD/MMC Device API (SDMMC). It implements a SD host controller driver that provides a high-level functions using a low-level SDIO/SD/MMC peripheral driver for accessing

- MultiMediaCards (MMC) and Embedded MultiMediaCards (eMMC)
- SD Memory Cards (SD Cards) with Standard Capacity (SDSC), High Capacity (SDHC) or Extended Capacity (SDXC).

It supports:

- 1-bit, 4-bit and 8-bit data bus width
- Default Speed and High Speed
- Auto-CLK

The SDIO/SD/MMC device API (SDMMC) is divided into two parts:

1. The high-level API that implements the SD Host Controller driver and allows
   - to inititialize and identify different types of cards,
   - to access them either blockwise or bytewise,
   - to get information about the used card, and
   - to send single commands or application specific commands to the card.

2. The low-level SDIO/SD/MMC peripheral driver implements the low-level functions required by the high-level device API. It has to be implemented for each MCU.

### Limitations:

- Only one card per SDIO/SD/MMC device is supported.
- eMMCs specific features are not supported.
- UHS-I, UHS-II and UHS-III are not supported.

### Testing procedure

PR #19540, PR #19760 or PR #19786 is needed to test this PR.

### Issues/PRs references

Prerequisite for PR #19540
Prerequisite for PR #19760
Prerequisite for PR #19786

19815: cpu/sam0_common/periph/sdhc: busy waiting and clock fixes r=benpicco a=benpicco



19860: drivers/ft5x06: fix vendor ID for FT6xx6 and FTxxxx register addresses r=benpicco a=gschorcht

### Contribution description

This PR provides a fix of the vendor ID for FT6xx6 touch panel driver ICs and a fix of register addresses for FTxxxx.

According to the [Application Note for FT6x06 CTPM](https://cdn-shop.adafruit.com/datasheets/FT6x06_AN_public_ver0.1.3.pdf), the vendor ID of FT6x06 touch panel driver ICs is `0x11` instead of `0xcd`. Although there are no information found in the Web about the FT6x36, the FT6336U touch panel of a ESP32-S3 WT32 SC01 Plus is also working with `0x11` as vendor ID so that it seems that FT6x36 is also using `0x11` as vendor ID.

Figured out with a `stm32f723e-disco` board (revision D03). Without this PR, `tests/drivers/ft5x06` gives:
```
+------------Initializing------------+
[ft5x06] init: invalid vendor ID: '0x11' (expected: 0xcd)
[Error] Initialization failed
```
With this PR it works as expected.
```
+------------Initializing------------+
Initialization successful
main(): This is RIOT! (Version: 2023.10-devel-96-gbb9011-drivers/ft5x06_fix_vendor_id)
FT5x06 test application

+------------Initializing------------+
[ft5x06] init: configuring touchscreen interrupt
Initialization successful
1 touch detected
[ft5x06] read gesture_id '0x00'
Touch 1 - X: 151, Y:138
[ft5x06] read gesture_id '0x00'
```

Some background information found in the Web:

- According to the [STM32CubeF7](c20e6dd15b/Drivers/BSP/STM32F723E-Discovery/stm32f723e_discovery_ts.c (L24-L27)) the FRIDA LCD panel mounted on the `stm32f723e-disco` board either uses FT6x36 (prior revision D) or FT3x67 (revision D). However, the FT5x06 driver type for the card is defined as FT6x06, which does not seem correct: bb9011c3fb/boards/stm32f723e-disco/include/board.h (L59)
- According to the [STM32CubeF7](c20e6dd15b/Drivers/BSP/Components/ft6x06/ft6x06.h (L269-L270)), the vendor ID for FT6x36 should be `0xcd`. However, the FT6336U on ESP32-S3 WT32 SC01 Plus works with vendor ID `0x11`.
- The [Adafruit FT6206 library](95118cd983/Adafruit_FT6206.h (L28)) uses `0x11` as vendor id.
- The `stm32l496g-disco` board uses a FT6236 which has vendor ID `0xcd`.

So the information available on the web is confusing. Maybe, a better solution would be to accept `0x11` as well as `0xcd` as vendor ID for FT6xxx touch panels. Unfortunately, there are no documents available on the registers directly from FocalTech 😟 so it seems to be more speculation than knowledge.

### Testing procedure


### Issues/PRs references



19886: cpu/efm32: fix DAC configuration r=benpicco a=gschorcht

### Contribution description

The EFM32 MCU allows the reference voltage to be configured per DAC device, not per DAC channel. Also, the DAC reference voltage was defined in the configuration but not used anywhere.

At the moment we have only defined one board (`stwstk6220a`) that uses the DAC, so changing the configuration interface shouldn't be critical.

### Testing procedure

`tests/periph/dac` should still work for the `stwstk6220a`
```
BOARD=slwstk6220a make -j8 -C tests/periph/dac flash
```
I don't have a `stwstk6220a` board (EFM32 Series 0) so that I can't test it. I could only test it for the `sltb009a` board (EFM32 Series 1) with the change for VDAC in PR #19887.

### Issues/PRs references


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
2023-08-23 16:55:09 +00:00
Gunar Schorcht
76bbae90ff boards/stk3700: fix DAC configuration 2023-08-23 12:11:21 +02:00
Gunar Schorcht
5796abd4ae boards/stk3600: fix DAC configuration 2023-08-23 12:11:21 +02:00
Gunar Schorcht
059bcafd74 boards/slwstk6220a: fix DAC configuration 2023-08-23 12:11:21 +02:00
Gunar Schorcht
bb216c0a36 boards/sltb009a: complete and fix documentation
The documentation was still in the state as generated automatically by `efm2riot`.
2023-08-15 14:44:53 +02:00
Gunar Schorcht
bab54f37b6 boards/sltb009a: fix config for second UART device 2023-08-15 14:44:53 +02:00
Gunar Schorcht
41daa18e5d boards/sipeed-longan-nano: cleanup peripheral config
After cleaning up the default config of SPI, this commit cleans up the configuration for `sipeed-longan-nano` a bit:
- PA4 is no longer used as default CS for `SPI_DEV(1)`
- At least one DAC channel PA4 is always available if DAC is used.
- PA4 is always available as ADC channel if DAC is not used.
- The order of ADC and DAC channels has been changed accordingly.
2023-08-07 12:48:15 +02:00
Gunar Schorcht
4074431e42 boards/seeedstudio-gd32: update due to I2C/SPI default config cleanup 2023-08-07 12:48:15 +02:00
Gunar Schorcht
367d94a80b boards/sipeed-longan-nano: update due to I2C/SPI default config cleanup 2023-08-07 12:48:15 +02:00
Gunar Schorcht
89846f8cea boards/common/gd32v: cleanup default I2C and SPI config
This commit includes the following cleanups:
- The macros `I2C_DEV_1_USED` and `SPI_DEV_1_USED` are now used with the values 0 and 1. This allows to enable but also to disable the second interface even if the board definition enables it by default.
- The second I2C device `I2C_DEV(1)` and the second SPI device `SPI_DEV(1)` are now disabled by default.
- The second SPI device `SPI_DEV(1)` now uses PB5 as default CS signal instead of PA4 to keep PA4 free for ADC or DAC even if `SPI_DEV(1)` is used, for example for the TFT display.
2023-08-07 12:48:15 +02:00
Gunar Schorcht
d24a4eedee boards/sipeed-longan-nano: remove TFT display handling 2023-08-06 12:56:36 +02:00
Gunar Schorcht
086e7bc35c boards/sipeed-longan-nano-tft: add board definition for the TFT version
This commit introduces a separate board definition based on the `sipeed-longan-nano` board definition for the TFT version of the Sipeed Longan Nano board.
2023-08-06 12:56:36 +02:00
Gunar Schorcht
dcecc411d3 boards/stm32f769i-disco: add FMC with SDRAM support 2023-07-28 14:50:06 +02:00
Gunar Schorcht
0ba1998e4c board/stm32f746g-disco: doc fix for SDRAM 2023-07-28 14:50:06 +02:00
Gunar Schorcht
d5f4b6491d boards/stm32f7508-dk: add FMC support 2023-07-26 23:25:06 +02:00
Gunar Schorcht
bb85d5a239 boards/stm32l496g-disco: add FMC support 2023-07-26 23:25:06 +02:00
Gunar Schorcht
31c29c1e74 boards/stm32f746g-disco: add FMC support 2023-07-26 23:24:53 +02:00
Gunar Schorcht
d75736b8ba boards/stm32f723e-disco: add FMC support
f
2023-07-26 23:24:53 +02:00
Gunar Schorcht
aaaf961de3 boards/stm32f429i-disc1: add FMC support 2023-07-26 09:02:11 +02:00
Jim Porter
a712d29dc8 boards/adafruit-itsybitsy-nrf52: Add configuration for DotStar LED 2023-07-21 19:16:47 -07:00
bors[bot]
0f50a8fa00
Merge #19798
19798: cpu/nrf53: add I2C and SPI support r=benpicco a=dylad

### Contribution description

This PR provides support for nRF53 SPI and I2C.
It also moves common structs from each nRF CPU folder to `cpu/nrf5x_common` to avoid duplication.
Moreover, since nRF9160 and nRF5340 have shared IRQ for UART/SPI/I2C. Both this families now use a common file to register and manage these interrupts. Note that nRF9160 have different name for its interrupts than nRF5340 but they have the same purpose.

### Testing procedure

Since some structs were moved around, I think this PR should be carefully tested against nRF52, nRF53 and nRF9160 to avoid any issues.
On nRF5340DK-APP, SPI can be tested with its onboard SPI flash.

### Issues/PRs references



Co-authored-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2023-07-13 12:08:04 +00:00
bors[bot]
7dd7d1e3a7
Merge #19806 #19814
19806: ztimer/periodic: remove timer on init if already running r=kaspar030 a=benpicco



19814: boards/sipeed-longan-nano: revert default to variant with TFT r=benpicco a=gschorcht

### Contribution description

This PR reverts commit 69fb00bdfa to fix CI compilation.

### Testing procedure

Green CI with full build.

### Issues/PRs references


Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
Co-authored-by: Marian Buschsieweke <marian.buschsieweke@posteo.net>
Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-07-12 20:03:13 +00:00
Dylan Laduranty
b050ad3631 boards/nrf9160dk: remove unneeded UART ISR macros
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2023-07-12 21:51:51 +02:00
Dylan Laduranty
fdbba517a2 boards/nrf5340dk-app: add SPI flash configuration and I2C pins
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2023-07-12 21:51:50 +02:00
Gunar Schorcht
ce653b74cd boards/sipeed-longan-nano: default to TFT version if st7735 is used 2023-07-12 15:56:20 +02:00
Gunar Schorcht
3f389d0b15 boards/sipeed-longan-nano: fix Kconfig for disp_dev driver 2023-07-12 15:53:36 +02:00
Dylan Laduranty
f27bde3f37 cpu/nrf53: enable I2C/SPI support
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2023-07-11 23:43:35 +02:00
Dylan Laduranty
5811c847ad cpu/nrfxx: use shared serial IRQ
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2023-07-11 22:42:10 +02:00
Hugues Larrive
e8327a4a9a boards/atmega8: new board 2023-07-11 21:22:02 +02:00
Marian Buschsieweke
2fe9d9f755 Revert "boards/sipeed-longan-nano: default to variant with TFT"
This reverts commit 69fb00bdfa.
2023-07-10 14:56:01 +02:00
bors[bot]
37c6233bcb
Merge #19764 #19781
19764: drivers/shield_w5100: add module for the W5100 Ethernet Shield r=benpicco a=maribu

### Contribution description

This module provides no more than the correct configuration parameters for the `w5100` driver using the Arduino I/O mapping features. But by doing so, it will work out of the box with every mechanically and electrically compatible board for which the Arduino I/O mapping features are implemented.


19781: cpu/nrf{53,9160}: add pwm support r=benpicco a=dylad

### Contribution description

This PR moves the nRF52 PWM driver to `cpu/nrf5x_common` to allow nRF9160 and nRF53 to use this driver.
IP is identical on these families.

I didn't test on nRF9160DK and I didn't test if there is any regression on nRF52-based board as I don't have any so tests are welcome !
However it works fine on nRF53-based board.


### Testing procedure

Flash the `tests/periph/pwm` test application on `nrf5340dk` or `nrf9160dk`.
You can then use the `osci` command to make the onboard LEDs "breath".
You can also attach an oscilloscope and/or logic analyzer to watch the signal.


### Issues/PRs references
~~Based on #19769~~

Co-authored-by: Marian Buschsieweke <marian.buschsieweke@posteo.net>
Co-authored-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
Co-authored-by: dylad <dylan.laduranty@mesotic.com>
2023-07-10 10:51:20 +00:00
Marian Buschsieweke
69fb00bdfa
boards/sipeed-longan-nano: default to variant with TFT
Without KConfig presence of the TFT is assumed in anycase, with KConfig
it is optional. This turns the opt-in into an opt-out to match behavior
with make by default, fixing the nightly breakage.
2023-07-09 11:36:12 +02:00
Marian Buschsieweke
cce395da89
boards/esp32s3-box: select ili9341 when disp_dev is used
This matches the behavior when KConfig is used.
2023-07-09 11:33:12 +02:00
Dylan Laduranty
328d84fcf1 boards/nrf9160dk: enable PWM support on onboard LEDs
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2023-07-08 17:19:57 +02:00
Dylan Laduranty
aeff14703b boards/nrf5340dk-app: enable PWM support on onboard LEDs
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2023-07-08 17:19:57 +02:00
bors[bot]
c19626c525
Merge #19811
19811: boards: add ESP32-S3-Box support r=gschorcht a=gschorcht

### Contribution description

This PR provides the support for the [ESP32-S3-Box](https://github.com/espressif/esp-box).

### Testing procedure

The board has been tested with all basic tests for supported hardware including `tests/drivers/ili9341`:

![IMG_20230707_113423](https://github.com/RIOT-OS/RIOT/assets/31932013/048d9b53-5fa2-4809-bfb8-28433d3d11ce)

- [x] tests/drivers/ili9341
- [x] tests/periph/gpio
- [x] tests/periph/i2c
- [x] tests/periph/spi
- [x] tests/periph/uart
- [x] tests/sys/usbus_cdc_ecm 

### Issues/PRs references


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-07-08 11:23:20 +00:00
bors[bot]
72ca81b65c
Merge #19487 #19808
19487: nanocoap: implement extended tokens (RFC 8974) r=benpicco a=benpicco



19808: boards: add ESP32-S3-USB-OTG support r=benpicco a=gschorcht

### Contribution description

This PR provides the support for the [ESP32-S3-USB-OTG](https://docs.espressif.com/projects/espressif-esp-dev-kits/en/latest/esp32s3/esp32-s3-usb-otg/user_guide.html) board.

The SD card can only be used in SPI mode at the moment. As soon as PR #19786 is merged, the SD/MMC support can be enabled and the SD card can then be used in SD mode with 4-bit data bus width.

The display uses uses the ST7789 driver IC that is compatible with the ST7735. For that purpose the ST7735 driver is extended by a pseudomodule definition `st7789` for the ST7789 which is enabled by the board and enables automatically the `st7789` (e57c48a33ee2a869c15603788e5306ba066f91cf). Vise versa, board's `Makefile.dep` enables automatically the `st7789` pseudomodule if the `st7735` is used. The pseudomodule `st7789` is just used to increase the upper limit for supported lines. This change is also part of PR #19807.

~The PR includes a very small documentation fix for ESP32-S3-DevKit board that was noticed during the development of this board definition (1155b6ac1b8efa39d8a0bd7150e602095159fdc1).~

### Testing procedure

The board has been tested with all basic tests for supported hardware including `tests/driver/st3375`:

![IMG_20230707_105556](https://github.com/RIOT-OS/RIOT/assets/31932013/88d4ac11-0c02-4339-a423-7900e1c0904c)

- [x] tests/drivers/st3375
- [x] tests/periph/gpio
- [x] tests/periph/pwm
- [x] tests/periph/spi
- [x] tests/periph/uart
- [x] tests/sys/usbus_cdc_ecm 

### Issues/PRs references


Co-authored-by: Benjamin Valentin <benpicco@beuth-hochschule.de>
Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-07-07 17:41:40 +00:00
Gunar Schorcht
2da568f484 boards: add ESP32-S3-Box support
fixup! boards: add ESP32-S3-Box support
2023-07-07 16:36:43 +02:00
bors[bot]
8707548104
Merge #19804 #19807 #19809
19804: cpu/nrf{53,9160}: add periph_rtt support r=benpicco a=dylad

### Contribution description

This PR enables support for `periph_rtt` on both nRF9160 and nRF53.
This PR is based on #19803 

I was only able to test on nrf5340dk-app as I don't have access to any nrf9160-based board.

Here is `test/periph/rtt` output for reference on `nrf5340dk-app`:

### Testing procedure
flash `tests/periph/rtt` on `nrf9160dk` or `nrf5340dk-app`  and check the results.
```
s
2023-07-06 16:11:16,471 # START
2023-07-06 16:11:16,479 # main(): This is RIOT! (Version: 2023.07-devel-765-g02c65-cpu/nrf53/add_rtt_support)
2023-07-06 16:11:16,480 # 
2023-07-06 16:11:16,482 # RIOT RTT low-level driver test
2023-07-06 16:11:16,483 # RTT configuration:
2023-07-06 16:11:16,485 # RTT_MAX_VALUE: 0x00ffffff
2023-07-06 16:11:16,487 # RTT_FREQUENCY: 1024
2023-07-06 16:11:16,487 # 
2023-07-06 16:11:16,494 # Testing the tick conversion (with rounding if RTT_FREQUENCY is not power of 2)
2023-07-06 16:11:16,498 # Trying to convert 1 to seconds and back
2023-07-06 16:11:16,501 # Trying to convert 256 to seconds and back
2023-07-06 16:11:16,505 # Trying to convert 65536 to seconds and back
2023-07-06 16:11:16,509 # Trying to convert 16777216 to seconds and back
2023-07-06 16:11:16,514 # Trying to convert 2147483648 to seconds and back
2023-07-06 16:11:16,514 # All ok
2023-07-06 16:11:16,514 # 
2023-07-06 16:11:16,517 # Initializing the RTT driver
2023-07-06 16:11:16,835 # This test will now display 'Hello' every 5 seconds
2023-07-06 16:11:16,835 # 
2023-07-06 16:11:16,836 # RTT now: 4
2023-07-06 16:11:16,840 # Setting initial alarm to now + 5 s (5124)
2023-07-06 16:11:16,841 # rtt_get_alarm() PASSED
2023-07-06 16:11:16,846 # Done setting up the RTT, wait for many Hellos
2023-07-06 16:11:16,852 # { "threads": [{ "name": "main", "stack_size": 1536, "stack_used": 404 }]}
2023-07-06 16:11:21,833 # Hello
2023-07-06 16:11:26,831 # Hello
2023-07-06 16:11:31,830 # Hello
2023-07-06 16:11:36,828 # Hello
2023-07-06 16:11:41,826 # Hello
2023-07-06 16:11:46,825 # Hello
2023-07-06 16:11:51,823 # Hello
2023-07-06 16:11:56,821 # Hello
2023-07-06 16:12:01,821 # Hello
2023-07-06 16:12:06,819 # Hello
2023-07-06 16:12:11,817 # Hello
2023-07-06 16:12:16,815 # Hello
2023-07-06 16:12:21,813 # Hello
2023-07-06 16:12:26,811 # Hello
```
### Issues/PRs references
based on #19803 

19807: boards/esp32s2-lilygo-ttgo-t8: fix display configuration r=benpicco a=gschorcht

### Contribution description

This PR fixes the display configuration for the ESP32-S2 LilyGO TTGO T8 (also known as LilyGo T-Display S2) which uses a ST7789 as display driver IC that is compatible with the ST7735.

For that purpose the ST7735 driver is extended by a pseudomodule definition `st7789` for the ST7789 which is enabled by the board and enables automatically the `st7789` (f57b6b70b8). Vise versa, board's `Makefile.dep` enables automatically the `st7789` pseudomodule if the `st7735` is used. The pseudomodule `st7789` is just used to increase the upper limit for supported lines.

### Testing procedure

```
BOARD=esp32s2-lilygo-ttgo-t8 make -C tests/drivers/st7735/ flash
```
should work:

![IMG_20230707_112616](https://github.com/RIOT-OS/RIOT/assets/31932013/4393866b-27d9-4a6a-96fc-7c460be35cde)

### Issues/PRs references

19809: cpu/nrf53: add usbdev support r=benpicco a=dylad

### Contribution description
This PR enables `periph_usbdev` support on nRF5340DK-app board. Since the IP is the same as nRF52, the driver and its related data and structs were moved from `cpu/nrf52` to `cpu/nrf5x_common`


### Testing procedure
Test any USBUS related test application on `nrf5340dk-app`

`CFLAGS='-DSECTOR_COUNT=64' USEMODULE='mtd_emulated' make BOARD=nrf5340dk-app -C tests/sys/usbus_msc flash`

dmesg output:
```
[ 7466.262760] usb 1-2.1: new full-speed USB device number 16 using xhci_hcd
[ 7466.483916] usb 1-2.1: New USB device found, idVendor=1209, idProduct=7d01, bcdDevice= 1.00
[ 7466.483925] usb 1-2.1: New USB device strings: Mfr=3, Product=2, SerialNumber=4
[ 7466.483928] usb 1-2.1: Product: nrf5340dk-app
[ 7466.483931] usb 1-2.1: Manufacturer: RIOT-os.org
[ 7466.483933] usb 1-2.1: SerialNumber: AD0FD4AE806080C2
[ 7466.487010] usb-storage 1-2.1:1.0: USB Mass Storage device detected
[ 7466.487348] scsi host2: usb-storage 1-2.1:1.0
[ 7467.516789] scsi 2:0:0:0: Direct-Access     RIOT-OS  RIOT_MSC_DISK     1.0 PQ: 0 ANSI: 1
[ 7467.517152] sd 2:0:0:0: Attached scsi generic sg3 type 0
[ 7467.517501] sd 2:0:0:0: [sdd] 64 512-byte logical blocks: (32.8 kB/32.0 KiB)
[ 7467.517732] sd 2:0:0:0: [sdd] Write Protect is off
[ 7467.517733] sd 2:0:0:0: [sdd] Mode Sense: 03 00 00 00
[ 7467.517906] sd 2:0:0:0: [sdd] No Caching mode page found
[ 7467.517910] sd 2:0:0:0: [sdd] Assuming drive cache: write through
[ 7467.532159] sd 2:0:0:0: [sdd] Attached SCSI removable disk
```

I also tested `tests/sys/usbus_cdc_ecm` and `tests/sys/usbus/usbus_hid` succesfully.


### Issues/PRs references



Co-authored-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-07-07 14:30:15 +00:00
Gunar Schorcht
d68c82661f boards: add support for ESP32-S3-USB-OTG 2023-07-07 15:34:45 +02:00
Dylan Laduranty
1f5414b3cd boards/nrf5340dk-app: enable periph_rtt and add its configuration
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2023-07-07 13:04:59 +02:00
Dylan Laduranty
f6286d8171 boards/nrf9160dk: enable periph_rtt and add its configuration
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2023-07-07 13:04:24 +02:00
Gunar Schorcht
13d080d15c boards/esp32s3-devkit: fix documentation 2023-07-07 11:11:41 +02:00
Dylan Laduranty
3ad31bbdf2 boards/nrf5340dk-app: enable periph_usbdev
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2023-07-07 10:58:41 +02:00
Gunar Schorcht
1a92c49b6c boards/esp32s2-lilygo-ttgo-t8: fix display config 2023-07-07 08:23:41 +02:00
bors[bot]
a345e00fa6
Merge #19789 #19796 #19802 #19803
19789: cpu/nrf5x/periph/wdt: enable support for nRF53/nRF9160 r=benpicco a=dylad

### Contribution description

This PR enables support for the watchdog driver on nRF53.
This MCU has two watchdog peripherals, for now, it only uses the first one.
The use of the second watchdog can be add in a followup PR later.


### Testing procedure
Flash and play with `tests/periph/wdt` application.


### Issues/PRs references
None.


19796: boards/b_u585i_ iot02a/periph usbdev r=benpicco a=gschorcht

### Contribution description

This PR adds the USB OTG support for STM32U5 and the `b_u585i_iot02a` board.

This PR includes PR #19795 since it uses directly the changes made in PR #19795.

### Testing procedure

Compile and flash
```
BOARD=b-u585i-iot02a make -C tests/sys/usbus_cdc_ecm/ flash term
```
Use the `sudo dmesg` command to get the kernel messages.
```pyhon
[766948.556645] usb 1-2.2: new full-speed USB device number 108 using xhci_hcd
[766948.658688] usb 1-2.2: New USB device found, idVendor=1209, idProduct=7d00, bcdDevice= 1.00
[766948.658696] usb 1-2.2: New USB device strings: Mfr=3, Product=2, SerialNumber=4
[766948.658699] usb 1-2.2: Product: b-u585i-iot02a
[766948.658702] usb 1-2.2: Manufacturer: RIOT-os.org
[766948.658704] usb 1-2.2: SerialNumber: AA140057DA41D467
[766948.668681] cdc_ether 1-2.2:1.0 usb0: register 'cdc_ether' at usb-0000:00:14.0-2.2, CDC Ethernet Device, ea:dc:44:71:d9:24
[766948.743250] cdc_ether 1-2.2:1.0 enxeadc4471d924: renamed from usb0
```
Use the `ifconfig` command on the node to determine the IPv6 LLUA and ping the node.
```
ping6 -c 3 fe80::e8dc:44ff:fe71:c524%enxeadc4471d924
PING fe80::e8dc:44ff:fe71:c524%enxeadc4471d924(fe80::e8dc:44ff:fe71:c524%enxeadc4471d924) 56 data bytes
64 bytes from fe80::e8dc:44ff:fe71:c524%enxeadc4471d924: icmp_seq=1 ttl=64 time=0.523 ms
64 bytes from fe80::e8dc:44ff:fe71:c524%enxeadc4471d924: icmp_seq=2 ttl=64 time=0.546 ms
64 bytes from fe80::e8dc:44ff:fe71:c524%enxeadc4471d924: icmp_seq=3 ttl=64 time=0.599 ms
```

### Issues/PRs references

Includes PR #19795 

19802: cpu/nrf53: enable flashpage support r=benpicco a=dylad

### Contribution description
This PR enables flashpage support on nRF53 family.
The peripheral is identical to nRF52, just add the flashpage configuration and enable the module in both Makefiles.features and Kconfig.


### Testing procedure
run `/tests/periph/flashpage` on `nrf5340dk-app`

output of `make BOARD=nrf5340dk-app flash test`


```
/home/dylan/work/RIOT/dist/tools/pyterm/pyterm -p "/dev/ttyACM0" -b "115200" --no-reconnect --noprefix --no-repeat-command-on-empty-line 
Twisted not available, please install it if you want to use pyterm's JSON capabilities
Connect to serial port /dev/ttyACM0
Welcome to pyterm!
Type '/exit' to exit.

> 
> 
test_last_raw

> test_last_raw
wrote raw short buffer to last flash page
> help
help
Command              Description
---------------------------------------
info                 Show information about pages
dump                 Dump the selected page to STDOUT
dump_local           Dump the local page buffer to STDOUT
read                 Copy the given page to the local page buffer and dump to STDOUT
write                Write the local page buffer to the given page
write_raw            Write (ASCII, max 64B) data to the given address
erase                Erase the given page buffer
edit                 Write bytes to the local page buffer
test                 Write and verify test pattern
test_last_pagewise   Write and verify test pattern on last page available
test_last_pagewise
test_reserved_pagewise Write and verify short write on reserved page
test_last_raw        Write and verify raw short write on last page available
> test_last_pagewise
wrote local page buffer to last flash page
> help
help
Command              Description
---------------------------------------
info                 Show information about pages
dump                 Dump the selected page to STDOUT
dump_local           Dump the local page buffer to STDOUT
read                 Copy the given page to the local page buffer and dump to STDOUT
write                Write the local page buffer to the given page
write_raw            Write (ASCII, max 64B) data to the given address
erase                Erase the given page buffer
edit                 Write bytes to the local page buffer
test                 Write and verify test pattern
test_last_pagewise   Write and verify test pattern on last page available
test_reserved_pagewise Write and verify short write on reserved page
test_reserved_pagewise
test_last_raw        Write and verify raw short write on last page available
> test_reserved_pagewise
Reserved page num: 5 
Since the last firmware update this test has been run 0 times 
wrote local page buffer to reserved flash page

When running on a bootloader, as an extra check, try restarting the board and check whether this application still comes up.
> help
help
Command              Description
---------------------------------------
info                 Show information about pages
dump                 Dump the selected page to STDOUT
dump_local           Dump the local page buffer to STDOUT
read                 Copy the given page to the local page buffer and dump to STDOUT
write                Write the local page buffer to the given page
write_raw            Write (ASCII, max 64B) data to the given address
erase                Erase the given page buffer
edit                 Write bytes to the local page buffer
test                 Write and verify test pattern
test_last_pagewise   Write and verify test pattern on last page available
test_reserved_pagewise Write and verify short write on reserved page
test_last_raw        Write and verify raw short write on last page available
> 
make : on quitte le répertoire « /home/dylan/work/RIOT/tests/periph/flashpage »

```
### Issues/PRs references
None.


19803: cpu/nrf5x_common: rework LFCLK source selection r=benpicco a=dylad

### Contribution description
This PR changes the source selection of LFCLK for all nRF families.
This idea is to use the values provided by Nordic vendor files to properly populate the source of the LFCLK. Then setup a per CPU check to ensure the value provided at board level is fine. In the end, the LFCLK source selection is a mere assignment.
The selection of the LFCLK source is still done at board level. I also add a bit of documentation to help users to select another value if needed.


I'll provide in a followup PR, `periph_rtt` support for both nRF9160 and nRF53.

### Testing procedure
CI should be enough I think. Otherwise, one can ran tests/periph/rtt on any nRF51-based board and any nRF52-based board.
You can also change the LFCLK source at board level to ensure the guards are doing their jobs.

### Issues/PRs references
None.

Co-authored-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-07-06 14:57:33 +00:00
Dylan Laduranty
0a5d07c391 boards/nrfxx: update LFCLK selection to be more generic
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2023-07-06 15:41:34 +02:00
bors[bot]
7cec79188b
Merge #19765
19765: boards/nrf52840dk: add Arduino I/O mapping r=maribu a=maribu



Co-authored-by: Marian Buschsieweke <marian.buschsieweke@posteo.net>
2023-07-06 08:04:10 +00:00
Marian Buschsieweke
c6d9f1749c
boards/nrf52840dk: add Arduino I/O mapping 2023-07-06 09:00:54 +02:00
bors[bot]
f0dc0e7c47
Merge #19606 #19753 #19757
19606: doc: add board selection guide r=benpicco a=maribu

### Contribution description

This adds a board selection guide to the documentation to aid new users picking good hardware for their use case.


19753: cpu/atmega8: new cpu r=benpicco a=hugueslarrive

### Contribution description
Splitted from:
- #19740

### Testing procedure
Tested on atmega8 with:
- #19755

### Issues/PRs references

Dependencies:
- #19752
- #19751


19757: core: fix null pointer dereference r=benpicco a=szsam

Check return values of following functions for null:
  - thread_get
  - thread_get_unchecked



Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
Co-authored-by: Hugues Larrive <hlarrive@pm.me>
Co-authored-by: Mingjie Shen <shen497@purdue.edu>
2023-07-05 21:36:31 +00:00
Gunar Schorcht
6f793c6901 boards/b-u585i-iot002a: add USB OTG FS support 2023-07-05 09:44:35 +02:00
Gunar Schorcht
db10337b11 boards/common/stm32: add common USB OTG FS config for U5 family 2023-07-05 09:41:15 +02:00
bors[bot]
ddf1fe252d
Merge #19733 #19747 #19769 #19782
19733: cpu/msp430: reorganize code r=maribu a=maribu

### Contribution description

RIOT supports two distinct families of the MSP430: The [MSP430 x1xx] MCU family and the [MSP430 F2xx/G2xx] MCU family. For both incompatible MCU families the code was located in the msp430fxyz folder, resulting in case of the UART driver in particularly bizarre code looking roughly like this:

```C
#ifndef UART_USE_USCI
/* implementation of x1xx peripheral ... */
#else
/* implementation of F2xx/G2xx peripheral ... */
#endif
/* zero shared code between both variants */
```

This moves peripheral drivers shared between the two families to msp430_common and splits the SPI and UART driver into two MCU families.

In addition, it cleans up the `msp430_regs.h` by dropping most of it and using the macros and symbols provided by the vendor header files. There is little reason for us to maintain constants when TI is already doing that.

[MSP430 x1xx]: https://www.ti.com/lit/ug/slau049f/slau049f.pdf
[MSP430 F2xx/G2xx]: https://www.ti.com/lit/ug/slau144k/slau144k.pdf


19747: gnrc/ipv6/nib: reset rs_sent counter also for not-6LN interfaces r=maribu a=fabian18



19769: cpu/nrf53: add initial support with nRF5340DK-APP board r=maribu a=dylad

### Contribution description

This PR adds support for nRF5340 MCU and its associated Nordic development board, nRF5340DK.
This MCU provides a dual Cortex-M33, one application core running at up to 128MHz, and one network core running at up to 64MHz.
Peripherals are inherited from others Nordic MCUs families so it shouldn't be hard to add more of them in followup PRs.

For now, only the minimal set of peripherals is supported:
- GPIO / GPIO_IRQ
- UART
- TIMER

### Testing procedure
Build the usual test application for the supported peripherals and flash the board.
nRF5340DK provides two serial ports on its embedded debugger. RIOT's shell should be available on the first one (/dev/ttyACM0)


### Issues/PRs references
#18576
#19267 


19782: cpu/msp430: fix for ti's msp430-gcc-opensource package ld version r=maribu a=hugueslarrive

### Contribution description
My msp430 toolchain (https://www.ti.com/tool/MSP430-GCC-OPENSOURCE) was broken by #19484:
```
hugues@p700:~/github/cpu_msp430_common/RIOT$ BOARD=msb-430 make -j64 -C examples/hello-world
make : on entre dans le répertoire « /home/hugues/github/cpu_msp430_common/RIOT/examples/hello-world »
Building application "hello-world" for "msb-430" with MCU "msp430fxyz".

"make" -C /home/hugues/github/cpu_msp430_common/RIOT/boards/common/init
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/boards/msb-430
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/core
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/core/lib
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/cpu/msp430fxyz
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/drivers
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/sys
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/boards/common/msb-430
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/drivers/periph_common
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/sys/auto_init
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/sys/div
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/sys/libc
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/sys/malloc_thread_safe
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/cpu/msp430_common
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/sys/newlib_syscalls_default
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/cpu/msp430fxyz/periph
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/sys/preprocessor
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/sys/stdio_uart
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/cpu/msp430_common/periph
/opt/ti/msp430-gcc/bin/../lib/gcc/msp430-elf/9.3.1/../../../../msp430-elf/bin/ld: .rodata not found for insert
collect2: error: ld returned 1 exit status
make: *** [/home/hugues/github/cpu_msp430_common/RIOT/examples/hello-world/../../Makefile.include:761 : /home/hugues/github/cpu_msp430_common/RIOT/examples/hello-world/bin/msb-430/hello-world.elf] Erreur 1
make : on quitte le répertoire « /home/hugues/github/cpu_msp430_common/RIOT/examples/hello-world »
hugues@p700:~/github/cpu_msp430_common/RIOT$ /opt/ti/msp430-gcc/msp430-elf/bin/ld --version
GNU ld (Mitto Systems Limited - msp430-gcc 9.3.1.11) 2.34
Copyright (C) 2020 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.
hugues@p700:~/github/cpu_msp430_common/RIOT$ /opt/ti/msp430-gcc/msp430-elf/bin/ld --version | grep -Eo '[0-9]\.[0-9]+'
9.3
1.11
2.34
hugues@p700:~/github/cpu_msp430_common/RIOT$ /opt/ti/msp430-gcc/msp430-elf/bin/ld --version | grep -Eo '[0-9]\.[0-9]+$'
2.34
```


### Testing procedure
```
hugues@p700:~/github/cpu_msp430_common/RIOT$ BOARD=msb-430 make -j64 -C examples/hello-world
make : on entre dans le répertoire « /home/hugues/github/cpu_msp430_common/RIOT/examples/hello-world »
Building application "hello-world" for "msb-430" with MCU "msp430fxyz".

"make" -C /home/hugues/github/cpu_msp430_common/RIOT/boards/common/init
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/boards/msb-430
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/core
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/core/lib
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/cpu/msp430fxyz
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/drivers
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/sys
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/boards/common/msb-430
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/drivers/periph_common
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/sys/auto_init
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/sys/div
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/sys/libc
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/sys/malloc_thread_safe
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/sys/newlib_syscalls_default
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/sys/preprocessor
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/cpu/msp430_common
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/sys/stdio_uart
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/cpu/msp430fxyz/periph
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/cpu/msp430_common/periph
   text	   data	    bss	    dec	    hex	filename
   8612	    722	    866	  10200	   27d8	/home/hugues/github/cpu_msp430_common/RIOT/examples/hello-world/bin/msb-430/hello-world.elf
make : on quitte le répertoire « /home/hugues/github/cpu_msp430_common/RIOT/examples/hello-world »
```


### Issues/PRs references
Introduced by #19484, highlighted in #16727.


Co-authored-by: Marian Buschsieweke <marian.buschsieweke@posteo.net>
Co-authored-by: Fabian Hüßler <fabian.huessler@ml-pa.com>
Co-authored-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
Co-authored-by: Hugues Larrive <hlarrive@pm.me>
2023-07-04 18:43:26 +00:00
Marian Buschsieweke
45b353c6ef
cpu/msp430: make use of vendor header files
The MSP430 vendor files already provide macros containing register
constants and symbols (provided via linker scripts) containing addresses
of peripheral registers. So lets make use of that rather than
maintaining a long list of constants.
2023-07-04 20:21:05 +02:00
Dylan Laduranty
aadb19e935 boards/nrf5340dk-app: add initial Kconfig
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2023-07-04 17:17:39 +02:00
Dylan Laduranty
f084f6e335 boards/nrf5340dk-app: add initial support
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2023-07-04 17:16:50 +02:00
bors[bot]
852e9c5512
Merge #19770 #19773 #19774 #19775
19770: cpu/nrf5x_common: reset all available CC channels r=maribu a=dylad

### Contribution description

Properly reset all CC channels of a given timer at initialization (except the last one which seems to be used for capture only in the driver).
The issue with the previous code was that some CCs were not clear on some nRF52 MCUs.
For instance, nRF52840 has 4 CCs for its two first timers, then 6 CCs for all others.
nRF9160 and nRF5340 also have 6 CCs for all its timer peripherals.
Thus, loop through the reported number of channels and clear the associated register instead of hardcoding the first 3 CC channels.


### Testing procedure
CI should be enough I think.

### Issues/PRs references
None.



19773: cpu/nrf{52,9160}: remove duplicate sevonpend bit r=maribu a=dylad

### Contribution description
This PR removes duplicate calls of `SCB_SCR_SEVONPEND` bit in nRF52 and nRF9160.
This call is already done [here](7c320055a1/cpu/cortexm_common/cortexm_init.c (L60)) 

### Testing procedure
Flash a nRF52 or nRF9160-based board and check that the board is still alive.


### Issues/PRs references
None. I notice this duplicate call when porting nRF53.


19774: boards/frdm-k22f: fixes long lines in periph_conf.h r=maribu a=hugueslarrive



19775: boards/frdm-k64f: fixes long lines and comma separated by whitespaces… r=maribu a=hugueslarrive

… warnings



Co-authored-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
Co-authored-by: dylad <dylan.laduranty@mesotic.com>
Co-authored-by: Hugues Larrive <hlarrive@pm.me>
2023-07-04 12:27:54 +00:00
bors[bot]
e0361abb3a
Merge #19771
19771: boards/nrf9160dk: use all available CC timer channels r=dylad a=dylad

### Contribution description
`nRF9160` has 6 CC per timer.
You can `grep -ra "CC_NUM" cpu/nrf9160 ` to check it.
So let's use all available CC.

### Testing procedure
You can run `tests/periph/timer` to see the new CC.


### Issues/PRs references
None.


Co-authored-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2023-07-04 12:03:43 +00:00
Dylan Laduranty
ff076fa54e boards/nrf9160dk: use all available CC timer channels
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2023-07-04 13:58:23 +02:00
Gunar Schorcht
199376651f boards/sipeed-longan-nano: fix TFT display config and documentation 2023-07-04 12:12:50 +02:00
Gunar Schorcht
7687c49120 boards/sipeed-longan-nano: documentation fix 2023-07-03 11:49:15 +02:00
Gunar Schorcht
e26f08d179 boards/seeedsudio-gd32: documentation fix 2023-07-03 11:48:39 +02:00
Marian Buschsieweke
e13b3c4d06
doc: add board selection guide
fixes https://github.com/RIOT-OS/RIOT/issues/18021
2023-06-29 22:36:35 +02:00
Hugues Larrive
d339437225 boards/frdm-k64f: fixes long lines and comma separated by whitespaces warnings 2023-06-29 15:33:18 +02:00
Hugues Larrive
fcc7ce5749 boards/frdm-k22f: fixes long lines in periph_conf.h 2023-06-29 15:02:02 +02:00
Marian Buschsieweke
4f0f1be1d2
boards: Fix I2C Arduino mapping
The correct macro name is `ARDUINO_I2C_UNO` for Arduino UNO compatible
I2C bus location, or `ARDUINO_I2C_NANO` for Arduino Nano compatible
I2C bus location.
2023-06-28 09:05:23 +02:00
Marian Buschsieweke
85c2f43415
boards: Remove W5100 configuration
Rather than providing this for every board (or group of boards)
individually, it is better to provide this once relying on the Arduino
I/O mapping features.
2023-06-27 10:03:41 +02:00
Marian Buschsieweke
043e8cc88e
boards,sys/arduino: major clean up
- Rename all `arduino_pinmap.h` to `arduino_iomap.h`
    - An empty `arduino_pinmap.h` that just includes `arduino_iomap.h`
      is provided for backward compatibility
    - Move all info from `arduino_board.h` into the new file as trivial
      macros, so that they can also be used outside of sketches
    - The new name reflects the fact not just pin mappings, but also
      other I/O features such as PWMs are mapped
- Drop all `arduino_board.h`
    - `arduino_board.h` and `arduino_iomap.h` now provide the exact
      same information, just in a different format
    - a generic `arduino_board.h` is provided instead that just
      uses the info in `arduinio_iomap.h` and provides them in the
      format the code in `sys/arduino` expects it
- Add fine grained features to indicate for mappings
    - availability of mappings for analog pins, DAC pins, PWM pins,
      UART devices, SPI/I2C buses to the corresponding RIOT
      identification can now be expressed:
        - `arduino_pins`: `ARDUINO_PIN_0` etc. are available
        - `arduino_analog`: `ARDUINO_A0` etc. are available
        - `arduino_pwm`: `ARDUINO_PIN_13_PWM_DEV` etc. are available
        - `arduino_dac`: `ARDUINO_DAC0` etc. are available
        - `arduino_uart`: `ARDUINO_UART_D0D1` or similar are available
        - `arduino_spi`: `ARDUINO_SPI_ISP` or similar are available
        - `arduino_i2c`: `ARDUINO_I2C_UNO` or similar are available
    - mechanical/electrical compatibility with specific form factors
      can now be expressed as features:
        - `aruino_shield_nano`: Arduino NANO compatible headers
        - `aruino_shield_uno`: Arduino UNO compatible headers
        - `aruino_shield_mega`: Arduino MEGA compatible headers
        - `aruino_shield_isp`: ISP header is available

This provides the groundwork to implement shield support as modules
that can rely on the I/O mappings, rather than having to provide a
configuration per board.
2023-06-26 17:24:07 +02:00
Marian Buschsieweke
ff7f8ae2f0
cpu/msp430: reorganize code
RIOT supports two distinct families of the MSP430: The [MSP430 x1xx]
MCU family and the [MSP430 F2xx/G2xx] MCU family. For both incompatible
MCU families the code was located in the msp430fxyz folder, resulting
in case of the UART driver in particularly bizarre code looking roughly
like this:

    #ifndef UART_USE_USCI
    /* implementation of x1xx peripheral ... */
    #else
    /* implementation of F2xx/G2xx peripheral ... */
    #endif
    /* zero shared code between both variants */

This splits the peripheral drivers for USCI and USART serial IP blocks
into separate files and relocates everything in cpu/msp430, similar to
how cpu/stm32 is organized.

[MSP430 x1xx]: https://www.ti.com/lit/ug/slau049f/slau049f.pdf
[MSP430 F2xx/G2xx]: https://www.ti.com/lit/ug/slau144k/slau144k.pdf
2023-06-19 17:14:57 +02:00
d4b35ec172
boards: fix periph_uart_hw_fc dependency resolution 2023-06-17 15:13:19 +02:00
bors[bot]
e2c5ea0009
Merge #19730 #19731
19730: boards/qn9080dk: fix periph conflict r=maribu a=maribu

### Contribution description

- Document which I2C/SPI/UART peripheral maps to which FLEXCONN IP block to easily detect potential overlap
- Switch conflict between SPI and I2C peripheral by using a different FLEXCONN for I2C


19731: boards/qn9080dk: update doc on flashing r=maribu a=maribu

### Contribution description

- update the doc on the internal programmer firmware:
    - not only switching to J-Link, but also just updating it does improve reliability of flashing
- give hints in how to get the ~~shitty~~ wonderful update process working
- update notes on OpenOCD requirements


Co-authored-by: Marian Buschsieweke <marian.buschsieweke@posteo.net>
2023-06-13 10:59:31 +00:00
Marian Buschsieweke
92a891aa2f
boards/qn9080dk: update doc on flashing
- update the doc on the internal programmer firmware:
    - not only switching to J-Link, but also just updating it does
      improve reliability of flashing
- give hints in how to get the ~~shitty~~ wonderful update process
  working
- update notes on OpenOCD requirements
2023-06-12 21:29:07 +02:00
Marian Buschsieweke
8e8f424922
boards/qn9080dk: fix periph conflict
- Document which I2C/SPI/UART peripheral maps to which FLEXCONN IP
  block to easily detect potential overlap
- Switch conflict between SPI and I2C peripheral by using a different
  FLEXCONN for I2C
2023-06-12 21:10:27 +02:00
Gunar Schorcht
3d9d93e0cd board: add Adafruit Grand Central M4 Express support 2023-06-09 16:28:19 +02:00
Marian Buschsieweke
498668af02
boards: drop unused INFOMEM define 2023-06-08 23:42:50 +02:00
Marian Buschsieweke
d28d4cdfa3
boards/olimex-msp430-h2618: add new board 2023-06-08 23:42:50 +02:00
bors[bot]
72914bb197
Merge #19717
19717: boards/rpi-pico: update openocd.cfg file r=aabadie a=dylad

### Contribution description

This PR fixes the use of openOCD to flash a rpi-pico board.
Currently on master, trying to flash this board with openOCD (v12) and a CMSIS-DAP probe fails.
with this PR, it now works as expected (even debugging)
Moreover, the configuration file used by RIOT is now deprecated on openOCD v12 so changes it while we're at it.


master:
```
### Flashing Target ###
Open On-Chip Debugger 0.12.0
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.org/doc/doxygen/bugs.html
swd
Warn : rp2040-core0.cfg configuration file is deprecated and will be
       removed in the next release. Use following parameters instead:
          -c 'set USE_CORE 0' -f target/rp2040.cfg
Warn : Transport "swd" was already selected
adapter speed: 4000 kHz

Info : Using CMSIS-DAPv2 interface with VID:PID=0x2e8a:0x000c, serial=E46170D59B552B2C
Info : CMSIS-DAP: SWD supported
Info : CMSIS-DAP: Atomic commands supported
Info : CMSIS-DAP: Test domain timer supported
Info : CMSIS-DAP: FW Version = 2.0.0
Info : CMSIS-DAP: Interface Initialised (SWD)
Info : SWCLK/TCK = 0 SWDIO/TMS = 0 TDI = 0 TDO = 0 nTRST = 0 nRESET = 0
Info : CMSIS-DAP: Interface ready
Info : clock speed 4000 kHz
Info : SWD DPIDR 0x0bc12477
Error: [rp2040.cpu] Could not find MEM-AP to control the core
Warn : target rp2040.cpu examination failed
Info : starting gdb server for rp2040.cpu on 0
Info : Listening on port 37347 for gdb connections
    TargetName         Type       Endian TapName            State       
--  ------------------ ---------- ------ ------------------ ------------
 0* rp2040.cpu         cortex_m   little rp2040.cpu         unknown

Error: [rp2040.cpu] Could not find MEM-AP to control the core
Error: [rp2040.cpu] Debug AP not available, reset NOT asserted!

make: *** [/home/dylan/work/RIOT/examples/blinky/../../Makefile.include:855: flash] Error 1
make: Leaving directory '/home/dylan/work/RIOT/examples/blinky'
```

with this PR:
```
### Flashing Target ###
Open On-Chip Debugger 0.12.0
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.org/doc/doxygen/bugs.html
swd
Warn : Transport "swd" was already selected
adapter speed: 4000 kHz

Info : Using CMSIS-DAPv2 interface with VID:PID=0x2e8a:0x000c, serial=E46170D59B552B2C
Info : CMSIS-DAP: SWD supported
Info : CMSIS-DAP: Atomic commands supported
Info : CMSIS-DAP: Test domain timer supported
Info : CMSIS-DAP: FW Version = 2.0.0
Info : CMSIS-DAP: Interface Initialised (SWD)
Info : SWCLK/TCK = 0 SWDIO/TMS = 0 TDI = 0 TDO = 0 nTRST = 0 nRESET = 0
Info : CMSIS-DAP: Interface ready
Info : clock speed 4000 kHz
Info : SWD DPIDR 0x0bc12477, DLPIDR 0x00000001
Info : SWD DPIDR 0x0bc12477, DLPIDR 0x10000001
Info : [rp2040.core0] Cortex-M0+ r0p1 processor detected
Info : [rp2040.core0] target has 4 breakpoints, 2 watchpoints
Info : [rp2040.core1] Cortex-M0+ r0p1 processor detected
Info : [rp2040.core1] target has 4 breakpoints, 2 watchpoints
Info : starting gdb server for rp2040.core0 on 0
Info : Listening on port 40985 for gdb connections
Info : starting gdb server for rp2040.core1 on 0
Info : Listening on port 39901 for gdb connections
    TargetName         Type       Endian TapName            State       
--  ------------------ ---------- ------ ------------------ ------------
 0* rp2040.core0       cortex_m   little rp2040.cpu         running
 1  rp2040.core1       cortex_m   little rp2040.cpu         running

[rp2040.core0] halted due to debug-request, current mode: Thread 
xPSR: 0xf1000000 pc: 0x000000ee msp: 0x20041f00
[rp2040.core1] halted due to debug-request, current mode: Thread 
xPSR: 0xf1000000 pc: 0x000000ee msp: 0x20041f00
Info : Found flash device 'win w25q16jv' (ID 0x001540ef)
Info : RP2040 B0 Flash Probe: 2097152 bytes `@0x10000000,` in 32 sectors

Info : Padding image section 2 at 0x10003190 with 112 bytes (bank write end alignment)
Warn : Adding extra erase range, 0x10003200 .. 0x1000ffff
auto erase enabled
wrote 12800 bytes from file /home/dylan/work/RIOT/tests/leds/bin/rpi-pico/tests_leds.elf in 1.516848s (8.241 KiB/s)

verified 12688 bytes in 0.089461s (138.503 KiB/s)

shutdown command invoked
Done flashing
```

### Testing procedure

Flash a `rpi-pico` board using openOCD.

### Issues/PRs references
None.


Co-authored-by: dylad <dylan.laduranty@mesotic.com>
2023-06-08 06:35:30 +00:00
dylad
bec9dee0b5 boards/rpi-pico: update openocd.cfg file
Signed-off-by: dylad <dylan.laduranty@mesotic.com>
2023-06-07 18:58:30 +02:00
bors[bot]
517abc787a
Merge #19705
19705: boards/z1: fix broken clock configuration r=maribu a=maribu

### Contribution description

The MSP430F2xx family has on RSEL bit more than the MSP430x1xxx family. The first commit updates the clock calibration accordingly.

df5c319978 from https://github.com/RIOT-OS/RIOT/pull/19558 broke the clock configuration of the Z1 by relying on the incorrect documentation of what clock is actually used. Closely reading the convoluted clock initialization code revealed that no XT2 crystal is present (as also indicated by some comments in `board.c`), contradicting the `#define MSP430_HAS_EXTERNAL_CRYSTAL 1` in the `board.h`.

The second commit should restore behavior (but with calibrated DCO than hard coded magic numbers).


Co-authored-by: Marian Buschsieweke <marian.buschsieweke@posteo.net>
2023-06-07 15:48:27 +00:00
Marian Buschsieweke
971dc880f6
boards/z1: fix broken clock configuration
df5c319978 from
https://github.com/RIOT-OS/RIOT/pull/19558 broke the clock
configuration of the Z1 by relying on the incorrect documentation of
what clock is actually used. Closely reading the convoluted clock
initialization code revealed that no XT2 crystal is present (as also
indicated by some comments in `board.c`), contradicting the
`#define MSP430_HAS_EXTERNAL_CRYSTAL 1` in the `board.h`.

This now should restore behavior (but with calibrated DCO than
hard coded magic numbers).
2023-06-07 15:45:44 +02:00
Marian Buschsieweke
c7f9237aa3
boards/olimex-msp430-h1611: fix doc
The statement about the missing pin 1 marking on the JTAG header is
not correct. It's just a bit hidden between the JTAG header and the
power selector jumper.
2023-06-07 15:19:50 +02:00
MrKevinWeiss
c7eadb2d3e
boards/esp32s3-pros3: Fix stdio kconfig model 2023-06-06 11:00:38 +02:00
77a11be676
drivers/kw41zrf: boards/openlabs-kw41z-mini: cleanup Kconfig 2023-06-01 12:19:44 +02:00
MrKevinWeiss
92794c0eca
boards/*: Model usb and stdio in Kconfig 2023-05-31 13:04:42 +02:00
Marian Buschsieweke
0051d4148c
boards/nucleo-l432kc: provide three periph_timer instances 2023-05-30 13:05:38 +02:00
Marian Buschsieweke
a6e8e1ff7e
boards/common/stm32: Add timer config based on TIM2,15,16
This adds the three general purpose timers on STM32L4 boards in a
central place so that STM32L4 boards can just include it.

Some other families may also have TIM15 and TIM16 and could use this,
but likely some generalization is needed to use this for other
families as well. This can be added later on.
2023-05-30 13:03:19 +02:00
Gunar Schorcht
f7e026ab6a boards: add stm32l496g-disco support 2023-05-27 10:46:47 +02:00
bors[bot]
f3150120f7
Merge #17425
17425: cpu/rpx0xx: initial PIO support r=maribu a=fabian18



Co-authored-by: Fabian Hüßler <fabian.huessler@st.ovgu.de>
2023-05-23 07:02:45 +00:00
Fabian Hüßler
116c579cb5 cpu/rpx0xx: Add PIO I2C implementation 2023-05-23 08:49:37 +02:00
Fabian Hüßler
a74379ef16 boards/rpi-pico: Add PIO configuration 2023-05-23 08:49:37 +02:00
d2628e89b4
boards/adafruit-clue: use shared usb_board_reset.mk for flashing 2023-05-18 21:37:19 +02:00
bors[bot]
91f8d0490a
Merge #19593 #19597
19593: boards/msb-430: add documentation r=maribu a=maribu

### Contribution description

This adds basic documentation, schematics, pinouts, and info how to get started with the `msb-430` board.


19597: sys/shell: Add coreclk command to shell_cmd_sys r=maribu a=maribu

### Contribution description

The coreclk shell command now prints the CPU frequency in Hz, which can be useful for boards with RC generated CPU frequency (e.g. RP2040, FE310, or MPS430Fx1xx MCUs allow this) which may quite a bit off the target frequency.


Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
2023-05-16 16:43:02 +00:00
Marian Buschsieweke
e7d1c4abc0
boards/olimex-msp430-h1611: new board 2023-05-16 15:03:12 +02:00
Marian Buschsieweke
df5c319978
cpu/msp430fxyz: clean up clock initialization
Provide a common clock initialization driver rather than leaving
clock initialization to the boards code. A declarative description of
the board's clock configuration using a struct does still allow to
fine-tune settings. In addition, a board is still allowed to just
provide a custom `void clock_init(void)` if there really is the need
to do crazy things.
2023-05-16 10:05:09 +02:00
Marian Buschsieweke
3656fdb9de
boards/msb-430: add documentation 2023-05-15 15:05:07 +02:00
ea9acf2e1c
boards/b-u585i-iot02a: fix path to malloc test in doc 2023-05-13 19:08:41 +02:00
Gunar Schorcht
e8af4f6d7a boards/p-l496g-cell02: fix UART_DEV(2) configuration 2023-05-10 12:21:11 +02:00
bors[bot]
fcb8283b4c
Merge #19552
19552: tests: move all periph applications to their own periphs/ folder r=gschorcht a=aabadie



Co-authored-by: Alexandre Abadie <alexandre.abadie@inria.fr>
2023-05-08 10:31:17 +00:00
f9d247791d
treewide: replace occurrences of tests/driver_ with new path 2023-05-06 15:38:21 +02:00
da95d2c56c
treewide: replace occurrences of tests/periph_ with new path 2023-05-06 15:33:03 +02:00
07d2e1c228
treewide: replace remaining occurrences of tests/pkg_* 2023-05-06 07:55:03 +02:00
bors[bot]
9c6291e19f
Merge #19548
19548: boards/telosb: minor clean ups r=maribu a=maribu

### Contribution description

This cleans up the documentation and the header files of the TelosB board. It is supposed to not changed the generated firmware (except for debug symbols).


Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
2023-05-04 20:20:25 +00:00
Marian Buschsieweke
81ebcb5b43
boards/telosb: clean up code
Move the periph configuration from board.h to periph_conf.h as indicated
by the todo note there.
2023-05-04 22:16:22 +02:00
Marian Buschsieweke
54abdff029
boards/telosb: clean up doc
- replace broken links with Wayback Machine links
- clean up markdown
2023-05-04 22:16:22 +02:00
Marian Buschsieweke
93561c740f
boards/rpi-pico: ELF format now is default, cleanup
Now that the ELF file format is the default anyway, we don't need to
specify this explicitly anymore.
2023-05-03 15:32:28 +02:00