1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/boards
bors[bot] e51d8285f3
Merge #19037
19037: sys/usb, pkg/tinyusb: move USB board reset from highlevel STDIO to CDC ACM r=dylad a=gschorcht

### Contribution description

The USB board reset function `usb_board_reset_coding_cb` can be used on any CDC-ACM interface, even if the CDC ACM interface is not used as high-level STDIO. Therefore, this PR provides the following changes:

- The call of the board reset function `usb_board_reset_coding_cb` from USBUS stack has been moved from the STDIO CDC ACM implementation to the CDC ACM implementation and is thus a feature of any USBUS CDC ACM interface which does not necessarily have to be used as highlevel STDIO.

- The call of the board reset function `usb_board_reset_coding_cb` from tinyUSB stack been moved from module `tinyusb_stdio_cdc_acm` to module `tinyusb_contrib` and is compiled in if the `tinyusb_class_cdc` module is used together the `tinyusb_device` module. Thus, it is now a feature of the tinyUSB CDC ACM interface, which does not necessarily have to be used as highlevel STDIO.
 
- The `usb_board_reset` module defines the `usb_board_reset_in_bootloader` function as a weak symbol to be used when reset in bootloader if no real implementation of this function is compiled in and the `riotboot_reset` module is not used. It only prints an error message that the reset in bootloader is not supported. This is necessary if the module `usb_board_reset` is used to be able to restart the board with an application via a USB CDC ACM interface, but the board's bootloader does not support the reset in bootloader feature.

- A test application has been added that either uses the highlevel STDIO `stdio_acm_cdc` or creates a CDC-ACM interface to enable board resets via USB. If the `usbus_dfu` module is used, it also initializes the DFU interface to be able to work together with the `riotboot_dfu` bootloader.

### Testing procedure

1. Use a board with a bootloader that supports the reset in bootloader via USB, but don't use the highlevel STDIO to check that it works with `usbus_cdc_acm`, for example:
   ```python
   USEMODULE=stdio_uart BOARD=arduino-mkr1000 make -C tests/usb_board_reset flash
   ```
   After reset in application with command
   ```python
   stty -F /dev/ttyACM0 raw ispeed 600 ospeed 600 cs8 -cstopb ignpar eol 255 eof 255
   ```
   command `dmesg` should give an output like the following with RIOT's test VID/PID:
   ```python
   dmesg
   [1745182.057403] usb 1-4.1.2: new full-speed USB device number 69 using xhci_hcd
   [1745182.160386] usb 1-4.1.2: New USB device found, idVendor=1209, idProduct=7d01, bcdDevice= 1.00
   [1745182.160390] usb 1-4.1.2: New USB device strings: Mfr=3, Product=2, SerialNumber=4
   [1745182.160392] usb 1-4.1.2: Product: arduino-mkr1000
   [1745182.160393] usb 1-4.1.2: Manufacturer: RIOT-os.org
   [1745182.160395] usb 1-4.1.2: SerialNumber: 6B6C2CA5229020D8
   [1745182.170982] cdc_acm 1-4.1.2:1.0: ttyACM0: USB ACM device
   ```
   After reset in bootloader with command
   ```python
   stty -F /dev/ttyACM0 raw ispeed 1200 ospeed 1200 cs8 -cstopb ignpar eol 255 eof 255
   ```
   command `dmesg` should give an output like the following with vendor VID/PID:
   ```python
   [1746220.443792] usb 1-4.1.2: new full-speed USB device number 70 using xhci_hcd
   [1746220.544705] usb 1-4.1.2: New USB device found, idVendor=2341, idProduct=024e, bcdDevice= 2.00
   [1746220.544708] usb 1-4.1.2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
   [1746220.553471] cdc_acm 1-4.1.2:1.0: ttyACM0: USB ACM device
   ```
   
2. Test the same as in 1., but this time use the highlevel STDIO to check that there is no regression and it still works with `stdio_cdc_acm`, for example:
   ```python
   BOARD=arduino-mkr1000 make -C tests/usb_board_reset flash
   ```
   
3. Use a board that supports `riotboot_dfu` but doesn't use the highlevel STDIO and flash the `riotboot_dfu` bootloader, for example:
   ```python
   BOARD=stm32f429i-disc1 make -C bootloaders/riotboot_dfu flash term
   ```
   Once the bootloader is flashed, command `dfu-util --list` should give something like the following:
   ```python
   Found DFU: [1209:7d02] ver=0100, devnum=14, cfg=1, intf=0, path="1-2", alt=1, name="RIOT-OS Slot 1", serial="6591620BCB270283"
   Found DFU: [1209:7d02] ver=0100, devnum=14, cfg=1, intf=0, path="1-2", alt=0, name="RIOT-OS Slot 0", serial="6591620BCB270283"
   ```
   If the output gives only
   ```python
   Found Runtime: [1209:7d00] ver=0100, devnum=123, cfg=1, intf=0, path="1-2", alt=0, name="RIOT-OS bootloader", serial="6591620BCB270283"
   ```
   an application is already running in DFU Runtime mode. Use `dfu-util -e` to restart it in bootloader DFU mode.
   Then flash the test application, for example:
   ```python
   FEATURES_REQUIRED=riotboot USEMODULE='usbus_dfu riotboot_reset' \
   BOARD=stm32f429i-disc1 make -C tests/usbus_board_reset PROGRAMMER=dfu-util riotboot/flash-slot0
   ```
   Once the test application is flashed, command `dfu-util --list` should give:
   ```python
   Found Runtime: [1209:7d00] ver=0100, devnum=123, cfg=1, intf=0, path="1-2", alt=0, name="RIOT-OS bootloader", serial="6591620BCB270283"
   ```
   Now, use command
   ```python
   stty -F /dev/ttyACM1 raw ispeed 600 ospeed 600 cs8 -cstopb ignpar eol 255 eof 255
   ``` 
   to restart the board in application. Command `dfu-util --list` should give again the following:
   ```python
   Found Runtime: [1209:7d00] ver=0100, devnum=123, cfg=1, intf=0, path="1-2", alt=0, name="RIOT-OS bootloader", serial="6591620BCB270283"
   ```
   That is, the application is running in DFU Runtime mode. Then use command
   ```python
   stty -F /dev/ttyACM1 raw ispeed 1200 ospeed 1200 cs8 -cstopb ignpar eol 255 eof 255
   ```
   to restart the board in bootloader DFU mode. Command  `dfu-util --list` should now give the following:
   ```python
   Found DFU: [1209:7d02] ver=0100, devnum=50, cfg=1, intf=0, path="1-2", alt=1, name="RIOT-OS Slot 1", serial="7D156425A950A8EB"
   Found DFU: [1209:7d02] ver=0100, devnum=50, cfg=1, intf=0, path="1-2", alt=0, name="RIOT-OS Slot 0", serial="7D156425A950A8EB"
   ```
   That is, the bootloader is in DFU mode and another application can be flash.
   
4. After a hard reset of the board under 3., try the commands `reboot` and `bootloader`. 

5. To check the same for tinyUSB, use the existing tinyUSB application with a CDC ACM interface and add module `usb_board_reset`, for example:
   ```python
   USEMODULE=usb_board_reset BOARD=stm32f429i-disc1 make -C tests/pkg_tinyusb_cdc_msc flash term
   ```
   After flashing, it should be possible to restart the application with command:
   ```python
   stty -F /dev/ttyACM1 raw ispeed 600 ospeed 600 cs8 -cstopb ignpar eol 255 eof 255
   ```
   When using command
   ```python
   stty -F /dev/ttyACM1 raw ispeed 1200 ospeed 1200 cs8 -cstopb ignpar eol 255 eof 255
   ```
   the following error message should be shown in terminal
   ```python
   [cdc-acm] reset in bootloader is not supported
   ```
   
### Issues/PRs references


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-01-03 19:36:16 +00:00
..
acd52832 boards: drop board_init() from board.h 2022-02-25 15:08:58 +01:00
adafruit-clue doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
adafruit-itsybitsy-m4 boards: convert sam0 boards to new adc_conf_chan_t 2022-09-27 22:43:31 +02:00
adafruit-itsybitsy-nrf52 doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
adafruit-pybadge boards: convert sam0 boards to new adc_conf_chan_t 2022-09-27 22:43:31 +02:00
airfy-beacon doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
alientek-pandora boards/common/stm32: clean up LED definitions 2022-08-08 23:35:06 +02:00
arduino-due boards/arduino-due: Add Kconfig symbols 2020-07-16 15:35:25 +02:00
arduino-duemilanove boards: model avr-based boards Kconfig 2021-11-22 12:25:30 +01:00
arduino-leonardo boards: drop LED init 2022-02-18 14:35:43 +01:00
arduino-mega2560 boards/arduino-mega2560: add TTY_BOARD_FILTER 2022-12-11 18:58:19 +01:00
arduino-mkr1000 boards/samd21-based: model Kconfig 2021-12-15 10:31:18 +01:00
arduino-mkrfox1200 boards/samd21-based: model Kconfig 2021-12-15 10:31:18 +01:00
arduino-mkrwan1300 boards/samd21-based: model Kconfig 2021-12-15 10:31:18 +01:00
arduino-mkrzero boards/samd21-based: model Kconfig 2021-12-15 10:31:18 +01:00
arduino-nano boards: model avr-based boards Kconfig 2021-11-22 12:25:30 +01:00
arduino-nano-33-ble doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
arduino-nano-33-iot boards: convert sam0 boards to new adc_conf_chan_t 2022-09-27 22:43:31 +02:00
arduino-uno boards: update CONFIG_ZTIMER_USEC_ADJUST% values 2022-02-18 13:07:49 +01:00
arduino-zero boards/arduino-zero: move tinusb_device feature 2022-12-07 13:56:24 +01:00
atmega256rfr2-xpro doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
atmega328p doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
atmega328p-xplained-mini doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
atmega1284p doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
atxmega-a1-xplained boards: model avr-based boards Kconfig 2021-11-22 12:25:30 +01:00
atxmega-a1u-xpro cpu/atxmega: fix building with avr-libc 2.1.0 2022-09-22 13:56:53 +02:00
atxmega-a3bu-xplained boards: model avr-based boards Kconfig 2021-11-22 12:25:30 +01:00
avr-rss2 doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
avsextrem boards: select 868 MHz band for CC110x 2021-09-17 12:58:10 +02:00
b-l072z-lrwan1 boards/common/stm32: clean up LED definitions 2022-08-08 23:35:06 +02:00
b-l475e-iot01a boards: enable feature tinyusb_device for STM32 boards 2022-09-30 19:05:51 +02:00
b-u585i-iot02a boards/common/stm32: clean up LED definitions 2022-08-08 23:35:06 +02:00
bastwan boards: convert sam0 boards to new adc_conf_chan_t 2022-09-27 22:43:31 +02:00
blackpill-stm32f103c8 boards/{bluepill*,blackpill*}: rename and improve doc 2023-01-02 16:23:10 +01:00
blackpill-stm32f103cb boards/{bluepill*,blackpill*}: rename and improve doc 2023-01-02 16:23:10 +01:00
bluepill-stm32f030c8 boards/common/stm32: clean up LED definitions 2022-08-08 23:35:06 +02:00
bluepill-stm32f103c8 boards/{bluepill*,blackpill*}: rename and improve doc 2023-01-02 16:23:10 +01:00
bluepill-stm32f103cb boards/{bluepill*,blackpill*}: rename and improve doc 2023-01-02 16:23:10 +01:00
calliope-mini boards: drop manual button auto-init 2022-02-26 22:51:50 +01:00
cc1312-launchpad boards/cc1312: remove broken HTML links and headings in doc 2022-10-28 08:57:17 -04:00
cc1350-launchpad boards/cc1350-lauchpad: fix conflict with PR #18808 2022-10-28 09:27:55 -04:00
cc1352-launchpad boards/cc1352: remove broken HTML links and headings from doc 2022-10-28 08:57:17 -04:00
cc1352p-launchpad boards/cc1350-lauchpad: fix conflict with PR #18808 2022-10-28 09:27:55 -04:00
cc2538dk boards select cc2538 Kconfig feature 2022-07-28 09:32:25 +02:00
cc2650-launchpad boards/cc1350-lauchpad: fix conflict with PR #18808 2022-10-28 09:27:55 -04:00
cc2650stk Documentation: Renaming OS X to macOS 2022-06-23 17:25:48 +02:00
common Merge #19037 2023-01-03 19:36:16 +00:00
derfmega128 doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
derfmega256 doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
dwm1001 boards/dwm1001: use lis2dh12_i2c instead of lis2dh12_spi 2022-11-09 09:36:09 +00:00
e104-bt5010a-tb cpu/nrf52/Makefile.dep: move radio dependencies from boards/common 2021-09-29 10:16:31 +02:00
e104-bt5011a-tb boards/e104-bt50xxa-tb: move default module to Makefile.default 2021-01-25 09:17:00 +01:00
e180-zg120b-tb cpu/efm32: provide periph_uart_modecfg feature for every board 2022-11-21 23:20:19 +01:00
ek-lm4f120xl doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
esp32-ethernet-kit-v1_0 doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
esp32-ethernet-kit-v1_1 boards/esp32: replace HAS_PERIPH_ETH by HAS_ESP_ETH in Kconfig 2022-08-03 09:01:05 +02:00
esp32-ethernet-kit-v1_2 boards/esp32: replace HAS_PERIPH_ETH by HAS_ESP_ETH in Kconfig 2022-08-03 09:01:05 +02:00
esp32-heltec-lora32-v2 boards/esp*: replace FLASH_MODE_* by CONFIG_*FLASHMODE_* defines 2022-08-02 07:24:30 +02:00
esp32-mh-et-live-minikit treewide: fix typos found by recent codespell 2022-11-24 14:53:48 +01:00
esp32-olimex-evb Merge pull request #18394 from gschorcht/cpu/esp32/fix_kconfig_for_esp_eth 2022-08-05 19:47:03 +02:00
esp32-ttgo-t-beam boards/esp32: cleanup board_init_common 2022-06-21 16:21:10 +02:00
esp32-wemos-lolin-d32-pro boards/esp32: PWM configuration cleanup 2022-07-14 15:50:47 +02:00
esp32-wroom-32 boards/esp*: replace FLASH_MODE_* by CONFIG_*FLASHMODE_* defines 2022-08-02 07:24:30 +02:00
esp32-wrover-kit boards/esp32: PWM configuration cleanup 2022-07-14 15:50:47 +02:00
esp32c3-devkit boards/esp32c3: add ESP32-C3-DevKit board definition 2022-08-05 22:26:22 +02:00
esp32s2-devkit boards: enable feature tinyusb_device for ESP32 boards 2022-09-30 19:05:51 +02:00
esp32s3-devkit boards: enable feature tinyusb_device for ESP32 boards 2022-09-30 19:05:51 +02:00
esp8266-esp-12x boards/esp*: replace FLASH_MODE_* by CONFIG_*FLASHMODE_* defines 2022-08-02 07:24:30 +02:00
esp8266-olimex-mod boards/esp*: replace FLASH_MODE_* by CONFIG_*FLASHMODE_* defines 2022-08-02 07:24:30 +02:00
esp8266-sparkfun-thing boards/esp*: replace FLASH_MODE_* by CONFIG_*FLASHMODE_* defines 2022-08-02 07:24:30 +02:00
f4vi1 boards: Remove PLL overrides in kconfig 2022-11-03 13:38:09 +01:00
feather-m0 boards: convert sam0 boards to new adc_conf_chan_t 2022-09-27 22:43:31 +02:00
feather-m0-lora boards/feather-m0*: base board definition in Kconfig 2021-12-24 12:59:30 +01:00
feather-m0-wifi boards/feather-m0*: base board definition in Kconfig 2021-12-24 12:59:30 +01:00
feather-nrf52840 boards: add some missing whitespaces for static tests 2022-09-14 15:11:14 +02:00
firefly Documentation: Renaming OS X to macOS 2022-06-23 17:25:48 +02:00
frdm-k22f boards: drop board_init() from board.h 2022-02-25 15:08:58 +01:00
frdm-k64f boards: drop board_init() from board.h 2022-02-25 15:08:58 +01:00
frdm-kl43z boards: drop board_init() from board.h 2022-02-25 15:08:58 +01:00
frdm-kw41z boards/kinetis: replace GPIO_UNDEF with SPI_CS_UNDEF 2022-01-06 12:34:09 +01:00
hamilton boards: convert sam0 boards to new adc_conf_chan_t 2022-09-27 22:43:31 +02:00
hifive1 boards: drop board_init() from board.h 2022-02-25 15:08:58 +01:00
hifive1b boards: drop board_init() from board.h 2022-02-25 15:08:58 +01:00
i-nucleo-lrwan1 boards: drop board_init() from board.h 2022-02-25 15:08:58 +01:00
ikea-tradfri cpu/efm32: provide periph_uart_modecfg feature for every board 2022-11-21 23:20:19 +01:00
im880b boards: Remove PLL overrides in kconfig 2022-11-03 13:38:09 +01:00
iotlab-a8-m3 boards/stm32: replace GPIO_UNDEF with SPI_CS_UNDEF 2022-01-06 12:34:09 +01:00
iotlab-m3 Documentation: Renaming OS X to macOS 2022-06-23 17:25:48 +02:00
limifrog-v1 boards/common/stm32: clean up LED definitions 2022-08-08 23:35:06 +02:00
lobaro-lorabox boards/common/stm32: clean up LED definitions 2022-08-08 23:35:06 +02:00
lora-e5-dev boards: Remove PLL overrides in kconfig 2022-11-03 13:38:09 +01:00
lsn50 boards: drop board_init() from board.h 2022-02-25 15:08:58 +01:00
maple-mini doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
mbed_lpc1768 boards: drop board_init() from board.h 2022-02-25 15:08:58 +01:00
mcb2388 boards: add some missing whitespaces for static tests 2022-09-14 15:11:14 +02:00
mega-xplained doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
microbit boards: drop manual button auto-init 2022-02-26 22:51:50 +01:00
microbit-v2 lsm303agr: New sensor driver using external Rust crate 2022-07-10 21:27:12 +02:00
microduino-corerf boards: drop board_init() from board.h 2022-02-25 15:08:58 +01:00
msb-430 doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
msb-430h doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
msba2 boards/msba2: provide TTY_BOARD_FILTER 2022-06-07 09:18:58 +02:00
msbiot boards: Remove PLL overrides in kconfig 2022-11-03 13:38:09 +01:00
mulle doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
native Merge pull request #18124 from miri64/release-tests/fix/install-libasan 2022-05-23 12:20:31 +02:00
nrf51dk boards: drop manual button auto-init 2022-02-26 22:51:50 +01:00
nrf51dongle boards: drop empty custom board_init & empty board.c 2022-02-22 18:27:37 +01:00
nrf52dk boards/nrf52dk: fix doc 2022-09-26 14:10:57 +02:00
nrf6310 boards: drop board_init() from board.h 2022-02-25 15:08:58 +01:00
nrf9160dk boards: drop manual button auto-init 2022-02-26 22:51:50 +01:00
nrf52832-mdk boards: add some missing whitespaces for static tests 2022-09-14 15:11:14 +02:00
nrf52840-mdk boards: enable feature tinyusb_device for nRF52 boards 2022-10-21 18:09:38 +02:00
nrf52840-mdk-dongle doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
nrf52840dk boards: enable feature tinyusb_device for nRF52 boards 2022-10-21 18:09:38 +02:00
nrf52840dongle doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
nucleo-f030r8 boards/nucleo64: change all memory sizes to KiB 2022-08-04 15:49:42 -04:00
nucleo-f031k6 boards/nucleo32: fix static test issues 2022-06-17 03:41:22 -04:00
nucleo-f042k6 boards/nucleo32: fix static test issues 2022-06-17 03:41:22 -04:00
nucleo-f070rb boards/nucleo64: change all memory sizes to KiB 2022-08-04 15:49:42 -04:00
nucleo-f072rb boards/nucleo64: change all memory sizes to KiB 2022-08-04 15:49:42 -04:00
nucleo-f091rc boards/nucleo64: change all memory sizes to KiB 2022-08-04 15:49:42 -04:00
nucleo-f103rb boards/nucleo64: change all memory sizes to KiB 2022-08-04 15:49:42 -04:00
nucleo-f207zg boards/nucleo-f207zg: add ADC support 2022-11-04 18:02:28 -04:00
nucleo-f302r8 boards/nucleo64: change all memory sizes to KiB 2022-08-04 15:49:42 -04:00
nucleo-f303k8 boards/nucleo: change all memory size to KiB 2022-06-16 12:46:42 -04:00
nucleo-f303re boards/nucleo64: change all memory sizes to KiB 2022-08-04 15:49:42 -04:00
nucleo-f303ze boards/nucleo-f303ze: enable tinyUSB support 2022-10-23 22:33:51 +02:00
nucleo-f334r8 boards/nucleo64: change all memory sizes to KiB 2022-08-04 15:49:42 -04:00
nucleo-f401re boards/nucleo64: change all memory sizes to KiB 2022-08-04 15:49:42 -04:00
nucleo-f410rb boards/nucleo64: change all memory sizes to KiB 2022-08-04 15:49:42 -04:00
nucleo-f411re boards/nucleo64: change all memory sizes to KiB 2022-08-04 15:49:42 -04:00
nucleo-f412zg boards: enable feature tinyusb_device for STM32 boards 2022-09-30 19:05:51 +02:00
nucleo-f413zh boards: enable feature tinyusb_device for STM32 boards 2022-09-30 19:05:51 +02:00
nucleo-f429zi boards: enable feature tinyusb_device for STM32 boards 2022-09-30 19:05:51 +02:00
nucleo-f439zi boards: enable feature tinyusb_device for STM32 boards 2022-09-30 19:05:51 +02:00
nucleo-f446re boards/nucleo64: change all memory sizes to KiB 2022-08-04 15:49:42 -04:00
nucleo-f446ze boards: enable feature tinyusb_device for STM32 boards 2022-09-30 19:05:51 +02:00
nucleo-f722ze boards: enable feature tinyusb_device for STM32 boards 2022-09-30 19:05:51 +02:00
nucleo-f746zg boards: enable feature tinyusb_device for STM32 boards 2022-09-30 19:05:51 +02:00
nucleo-f767zi boards: enable feature tinyusb_device for STM32 boards 2022-09-30 19:05:51 +02:00
nucleo-g070rb boards/nucleo-g070rb: improve ADC doc 2022-11-28 05:07:25 -05:00
nucleo-g071rb boards/nucleo-g071rb: improve ADC doc 2022-11-28 05:07:25 -05:00
nucleo-g431rb boards/g431rb: add short board info and flashing commands 2022-08-04 13:49:35 -04:00
nucleo-g474re boards/nucleo-g474re: add short board info and flashing commands 2022-08-05 17:01:50 -04:00
nucleo-l4r5zi boards/nucleo-l4r5zi: add doxygen info about Vbat divider 2022-11-26 17:30:47 -05:00
nucleo-l011k4 boards/nucleo: change all memory size to KiB 2022-06-16 12:46:42 -04:00
nucleo-l031k6 boards/nucleo: change all memory size to KiB 2022-06-16 12:46:42 -04:00
nucleo-l053r8 boards/nucleo-l053r8: add short board info and flashing commands 2022-08-05 17:11:54 -04:00
nucleo-l073rz boards/nucleo64: change all memory sizes to KiB 2022-08-04 15:49:42 -04:00
nucleo-l152re boards/nucleo-l152re: add short info and flashing commands 2022-08-06 10:32:44 -04:00
nucleo-l412kb boards/nucleo-l412kb: add board short description and flashing command 2022-06-17 03:21:40 -04:00
nucleo-l432kc boards/nucleo: change all memory size to KiB 2022-06-16 12:46:42 -04:00
nucleo-l433rc boards/nucleo-l433rc: add short board info and flashing commands 2022-08-08 05:59:24 -04:00
nucleo-l452re boards/nucleo-l452re: add cpy2remed flashing commands 2022-08-08 11:51:46 -04:00
nucleo-l476rg boards/nucleo-l476rg: improve ADC doc 2022-11-26 17:30:47 -05:00
nucleo-l496zg boards/nucleo-l496zg: doc improvement 2022-12-10 11:41:45 -05:00
nucleo-l552ze-q boards/nucleo144: fix all memory sizes to KiB and MiB 2022-07-04 14:03:44 -04:00
nucleo-wl55jc boards: Remove PLL overrides in kconfig 2022-11-03 13:38:09 +01:00
nz32-sc151 boards: make DFU_USB_ID and DFU_USE_DFUSE overridable 2022-11-30 19:28:14 +01:00
olimexino-stm32 boards/common/stm32: clean up LED definitions 2022-08-08 23:35:06 +02:00
omote boards select cc2538 Kconfig feature 2022-07-28 09:32:25 +02:00
opencm904 doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
openlabs-kw41z-mini doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
openlabs-kw41z-mini-256kib boards/kinetis: model Kconfig 2021-12-07 11:33:24 +01:00
openmote-b doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
openmote-cc2538 boards select cc2538 Kconfig feature 2022-07-28 09:32:25 +02:00
p-l496g-cell02 boards: enable feature tinyusb_device for STM32 boards 2022-09-30 19:05:51 +02:00
p-nucleo-wb55 boards: Remove PLL overrides in kconfig 2022-11-03 13:38:09 +01:00
particle-argon boards: add some missing whitespaces for static tests 2022-09-14 15:11:14 +02:00
particle-boron boards: add some missing whitespaces for static tests 2022-09-14 15:11:14 +02:00
particle-xenon boards: add some missing whitespaces for static tests 2022-09-14 15:11:14 +02:00
pba-d-01-kw2x boards: drop unused BTN0_PORT define 2022-09-20 18:08:55 +02:00
phynode-kw41z doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
pinetime doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
pyboard boards: make DFU_USB_ID and DFU_USE_DFUSE overridable 2022-11-30 19:28:14 +01:00
qn9080dk boards/qn9080dk: add default OPENOCD_DEBUG_ADAPTER 2022-11-28 13:38:59 +01:00
reel boards: enable feature tinyusb_device for nRF52 boards 2022-10-21 18:09:38 +02:00
remote-pa Documentation: Renaming OS X to macOS 2022-06-23 17:25:48 +02:00
remote-reva boards/remote-revb: fix pinout image in doc.txt 2022-09-21 09:21:35 +02:00
remote-revb boards/remote-revb: define default MTD device 2022-09-26 13:46:14 +02:00
rpi-pico boards/rpi-pico: doc - fix link to datasheet 2022-12-12 06:02:55 -05:00
ruuvitag boards/{thingy52,ruuvitag}: allow OpenOCD as programmer 2022-06-21 15:04:13 +02:00
samd10-xmini boards: convert sam0 boards to new adc_conf_chan_t 2022-09-27 22:43:31 +02:00
samd20-xpro boards: convert sam0 boards to new adc_conf_chan_t 2022-09-27 22:43:31 +02:00
samd21-xpro boards/samd21-xpro: fix style of PWM config 2022-11-23 14:06:30 +01:00
same54-xpro boards/same54-xpro: fix style of PWM config 2022-11-23 13:53:46 +01:00
saml10-xpro boards/saml10-xpro: Add Kconfig symbols 2020-07-16 18:09:59 +02:00
saml11-xpro boards/saml11-xpro: update doc for SERCOM1 fuse 2022-07-28 22:42:26 +02:00
saml21-xpro boards/saml21-xpro: fix style of PWM config 2022-11-23 13:53:32 +01:00
samr21-xpro boards/samr21-xpro: fix style of PWM config 2022-11-23 13:53:14 +01:00
samr30-xpro boards/sam0-based: enable tinyusb_device support in Kconfig 2022-10-05 20:14:02 +02:00
samr34-xpro boards/sam0-based: enable tinyusb_device support in Kconfig 2022-10-05 20:14:02 +02:00
seeedstudio-gd32 boards: drop board_init() from board.h 2022-02-25 15:08:58 +01:00
seeeduino_arch-pro boards: drop board_init() from board.h 2022-02-25 15:08:58 +01:00
seeeduino_xiao boards: convert sam0 boards to new adc_conf_chan_t 2022-09-27 22:43:31 +02:00
sensebox_samd21 boards: convert sam0 boards to new adc_conf_chan_t 2022-09-27 22:43:31 +02:00
serpente boards: convert sam0 boards to new adc_conf_chan_t 2022-09-27 22:43:31 +02:00
slstk3400a cpu/efm32: provide periph_uart_modecfg feature for every board 2022-11-21 23:20:19 +01:00
slstk3401a cpu/efm32: provide periph_uart_modecfg feature for every board 2022-11-21 23:20:19 +01:00
slstk3402a cpu/efm32: provide periph_uart_modecfg feature for every board 2022-11-21 23:20:19 +01:00
sltb001a cpu/efm32: provide periph_uart_modecfg feature for every board 2022-11-21 23:20:19 +01:00
sltb009a board/sltb009a: enable feature periph_usbdev 2022-12-07 16:34:34 +01:00
slwstk6000b-slwrb4150a boards/slwstk600b-based/kconfig: select common module 2021-12-08 21:22:50 +01:00
slwstk6000b-slwrb4162a boards/slwstk600b-based/kconfig: select common module 2021-12-08 21:22:50 +01:00
slwstk6220a cpu/efm32: provide periph_uart_modecfg feature for every board 2022-11-21 23:20:19 +01:00
sodaq-autonomo boards: convert sam0 boards to new adc_conf_chan_t 2022-09-27 22:43:31 +02:00
sodaq-explorer boards: convert sam0 boards to new adc_conf_chan_t 2022-09-27 22:43:31 +02:00
sodaq-one boards: convert sam0 boards to new adc_conf_chan_t 2022-09-27 22:43:31 +02:00
sodaq-sara-aff boards: convert sam0 boards to new adc_conf_chan_t 2022-09-27 22:43:31 +02:00
sodaq-sara-sff boards: convert sam0 boards to new adc_conf_chan_t 2022-09-27 22:43:31 +02:00
spark-core boards: make DFU_USB_ID and DFU_USE_DFUSE overridable 2022-11-30 19:28:14 +01:00
stk3200 cpu/efm32: provide periph_uart_modecfg feature for every board 2022-11-21 23:20:19 +01:00
stk3600 board/stk3600: enable feature periph_usbdev 2022-12-07 16:34:34 +01:00
stk3700 board/stk3700: enable feature periph_usbdev 2022-12-07 16:34:34 +01:00
stm32f0discovery doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
stm32f3discovery doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
stm32f4discovery boards: enable feature tinyusb_device for STM32 boards 2022-09-30 19:05:51 +02:00
stm32f030f4-demo boards/common/stm32: clean up LED definitions 2022-08-08 23:35:06 +02:00
stm32f429i-disc1 boards/stm32f429i-disc1: disable tinyusb feature for stm32f429i-disco 2022-12-12 06:37:53 +01:00
stm32f429i-disco boards: Use BOARD.config pattern for kconfig 2022-02-14 13:10:09 +01:00
stm32f469i-disco boards: Remove PLL overrides in kconfig 2022-11-03 13:38:09 +01:00
stm32f723e-disco boards/stm32f723e-disco: fix periph_uart_hw_fc use 2022-12-04 16:06:14 +01:00
stm32f746g-disco boards: Remove PLL overrides in kconfig 2022-11-03 13:38:09 +01:00
stm32f769i-disco boards: Remove PLL overrides in kconfig 2022-11-03 13:38:09 +01:00
stm32f7508-dk boards: Remove PLL overrides in kconfig 2022-11-03 13:38:09 +01:00
stm32g0316-disco boards/common/stm32: clean up LED definitions 2022-08-08 23:35:06 +02:00
stm32l476g-disco boards: enable feature tinyusb_device for STM32 boards 2022-09-30 19:05:51 +02:00
stm32l0538-disco boards: drop unused BTN0_PORT define 2022-09-20 18:08:55 +02:00
stm32mp157c-dk2 doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
teensy31 boards: drop board_init() from board.h 2022-02-25 15:08:58 +01:00
telosb doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
thingy52 boards/{thingy52,ruuvitag}: allow OpenOCD as programmer 2022-06-21 15:04:13 +02:00
ublox-c030-u201 boards: Remove PLL overrides in kconfig 2022-11-03 13:38:09 +01:00
udoo boards/udoo: Add Kconfig symbols 2020-07-16 15:35:25 +02:00
usb-kw41z boards/kinetis: replace GPIO_UNDEF with SPI_CS_UNDEF 2022-01-06 12:34:09 +01:00
waspmote-pro boards/waspmote-pro: add sdcard configuration 2022-09-23 18:09:12 +02:00
waveshare-nrf52840-eval-kit boards: enable feature tinyusb_device for nRF52 boards 2022-10-21 18:09:38 +02:00
weact-f401cc boards: Remove PLL overrides in kconfig 2022-11-03 13:38:09 +01:00
weact-f401ce boards: Remove PLL overrides in kconfig 2022-11-03 13:38:09 +01:00
weact-f411ce boards: Remove PLL overrides in kconfig 2022-11-03 13:38:09 +01:00
wemos-zero boards/samd21-based: model Kconfig 2021-12-15 10:31:18 +01:00
xg23-pk6068a boards/xg23-pk6068a: add ADC lines 2022-11-22 14:44:56 +01:00
yarm boards: convert sam0 boards to new adc_conf_chan_t 2022-09-27 22:43:31 +02:00
yunjia-nrf51822 doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
z1 doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
zigduino doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
doc.txt boards/doc: Add a guide to find physical board pins 2019-07-09 10:11:59 +02:00
Kconfig sys/board_common: add generic board_init() function 2022-02-22 10:04:44 +01:00
README.md

Platform configurations for RIOT-OS

This directory contains existing configuration and initialization files for platforms supported by RIOT-OS.