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

6404 Commits

Author SHA1 Message Date
Gunar Schorcht
1e983f3833 boards/common/gd32v: enable usb_board_reset if USB CDC ACM is used 2023-04-16 23:24:23 +02:00
Gunar Schorcht
c92b981581 boards/spieed-longan-nano: use stdio_cdc_acm by default 2023-04-16 23:24:23 +02:00
Gunar Schorcht
ff6e3d4f6d boards/seeedstudio-gd32: use stdio_cdc_acm by default 2023-04-16 23:24:23 +02:00
Gunar Schorcht
6d7c6c1957 boards/seeedstudio-gd32: add periph_usbdev support 2023-04-16 23:24:23 +02:00
Gunar Schorcht
ac8f221c1f boards/sipeed-longan-nano: add periph_usbdev support 2023-04-16 23:24:23 +02:00
bors[bot]
99b13cbb1b
Merge #19432 #19461
19432: boards/esp32: deduplication in common ESP32x board definitions r=benpicco a=gschorcht

### Contribution description

The PR reduced code duplication in `boards/common/esp32*`.

The PR moves the header files from `boards/common/esp32s3/include` that can be used for all types of ESP32x SoCs to a new common ESP32x board definition which is then included by all common ESP32x board definitions.

### Testing procedure

Green CI.

### Issues/PRs references


19461: drivers/enc28j60: fix ISR routine and bth r=benpicco a=peteut



Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
Co-authored-by: Alain Péteut <alain.peteut@yahoo.com>
2023-04-12 14:06:06 +00:00
329727784b
Revert "boards/stm32f429-disc*: do not use periph_usbdev_hs"
This reverts commit 05160f9c2a.
2023-03-31 16:43:51 +02:00
Gunar Schorcht
05160f9c2a boards/stm32f429-disc*: do not use periph_usbdev_hs
The board uses the USB OTG HS peripheral together with the on-hip FS PHY. Using the `periph_usbdev_hs` module increases the EP data size for the CDC ECM bulk endpoint to 512 bytes, which does not work for the FS interface. Module `periph_usbdev_hs` is therefore not used.
2023-03-31 12:21:41 +02:00
bors[bot]
a7c857dd60
Merge #19417
19417: boards/esp32c3-wemos-mini: add support for Wemos ESP32-C3 mini r=benpicco a=gschorcht

### Contribution description

This PR provides the support for the [Wemos ESP32-C3 mini](https://www.wemos.cc/en/latest/c3/c3_mini.html) board.

### Testing procedure

The board should work for provided features.

The board was already tested with:
- [x] `tests/driver_sht3x` using I2C
- [x] `tests/driver_l3gxxxx` using SPI
- [x] `tests/periph_adc`
- [x] `tests/periph_pwm`
- [ ] `tests/driver_ws281x`

### Issues/PRs references


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-03-30 16:51:46 +00:00
Gunar Schorcht
79fc49cc76 boards/esp32c3-wemos-mini: add support for Wemos ESP32-C3 mini 2023-03-30 18:41:08 +02:00
Gunar Schorcht
128a633296 boards/common/esp32: use boards_common_esp32x 2023-03-30 07:27:13 +02:00
Gunar Schorcht
f8dd7e55d5 boards/common/esp32c3: use boards_common_esp32x 2023-03-30 07:06:13 +02:00
Gunar Schorcht
a2661b7f8f boards/common/esp32s2: use boards_common_esp32x 2023-03-29 18:42:34 +02:00
Gunar Schorcht
f80b6a1f92 boards/common/esp32s3: use boards_common_esp32x 2023-03-29 18:42:34 +02:00
Gunar Schorcht
cb1ebda475 boards/common: add module boards_common_esp32x
The commit moves the header files from `boards/common/esp32s3/include` that can be used for all types of ESP32x SoCs to a new common ESP32x board module.
2023-03-29 18:42:34 +02:00
Gunar Schorcht
b2f9cdac23 boards/common/esp32x: add RMT configuration 2023-03-29 00:47:35 +02:00
bors[bot]
50cd32fbbf
Merge #19397 #19416 #19418 #19419
19397: drivers/usbdev_synopsys_dwc2: fix and reenable DMA mode r=benpicco a=gschorcht

### Contribution description

This PR fixes the DMA mode for all STM32 USB OTG HS cores (including that for STM32F4xx CID 1.xxx) and reenables it. It fixes remaining problems in issue #19359.

This PR includes also includes some changes that are needed to use the DMA mode:
- EP number is used as defined in CMSIS (if defined) for STM32
- `periph_usbdev_hs` feature is added in Kconfig
- `periph_usbdev_hs` feature is added in board definition of `stm32f429i-disc1`
- largest number of available EPs is used for STM32 instead of the smallest number (to be able to use all EPs of HS peripheral)
- `stm32f429i-disco` is removed from blacklist in `tests/usbus_cdc_ecm` since it uses the HS peripheral

### Testing procedure

The following tests should work
```python
USEMODULE=stdio_cdc_acm BOARD=stm32f429i-disc1 make -j8 -C tests/usbus_cdc_ecm flash
```
<details>
<summary>Test results</summary>

```python
[526755.875691] usb 1-2.2: new full-speed USB device number 106 using xhci_hcd
[526755.977853] usb 1-2.2: config 1 interface 3 altsetting 1 endpoint 0x84 has invalid maxpacket 512, setting to 64
[526755.977856] usb 1-2.2: config 1 interface 3 altsetting 1 endpoint 0x2 has invalid maxpacket 512, setting to 64
[526755.978762] usb 1-2.2: New USB device found, idVendor=1209, idProduct=7d01, bcdDevice= 1.00
[526755.978764] usb 1-2.2: New USB device strings: Mfr=3, Product=2, SerialNumber=4
[526755.978766] usb 1-2.2: Product: stm32f429i-disc1
[526755.978768] usb 1-2.2: Manufacturer: RIOT-os.org
[526755.978769] usb 1-2.2: SerialNumber: 7C156425A950A8EB
[526755.991190] cdc_acm 1-2.2:1.0: ttyACM1: USB ACM device
[526755.998131] cdc_ether 1-2.2:1.2 usb0: register 'cdc_ether' at usb-0000:00:14.0-2.2, CDC Ethernet Device, a6:f6:4a:85:1d:c9
[526756.044150] cdc_ether 1-2.2:1.2 enp0s20f0u2u2i2: renamed from usb0
```

</details>

```python
USEMODULE='stdio_cdc_acm periph_usbdev_hs_utmi' BOARD=stm32f723e-disco make -j8 -C tests/usbus_cdc_ecm flash
```
<details>
<summary>Test results</summary>

```python
[528733.480207] usb 1-4.3.4: reset high-speed USB device number 32 using xhci_hcd
[528733.707800] usb 1-4.4: new high-speed USB device number 111 using xhci_hcd
[528733.808257] usb 1-4.4: config 1 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 255, changing to 11
[528733.808260] usb 1-4.4: config 1 interface 1 altsetting 0 bulk endpoint 0x1 has invalid maxpacket 64
[528733.808263] usb 1-4.4: config 1 interface 1 altsetting 0 bulk endpoint 0x82 has invalid maxpacket 64
[528733.808642] usb 1-4.4: New USB device found, idVendor=1209, idProduct=7d01, bcdDevice= 1.00
[528733.808645] usb 1-4.4: New USB device strings: Mfr=3, Product=2, SerialNumber=4
[528733.808647] usb 1-4.4: Product: stm32f723e-disco
[528733.808649] usb 1-4.4: Manufacturer: RIOT-os.org
[528733.808651] usb 1-4.4: SerialNumber: A6BAC4E1B1E0806B
[528733.811988] cdc_acm 1-4.4:1.0: ttyACM1: USB ACM device
[528733.814456] cdc_ether 1-4.4:1.2 usb0: register 'cdc_ether' at usb-0000:00:14.0-4.4, CDC Ethernet Device, e6:75:97:3a:74:ba
[528733.854371] cdc_ether 1-4.4:1.2 enp0s20f0u4u4i2: renamed from usb0
```

</details>

```python
USEMODULE='stdio_cdc_acm periph_usbdev_hs_ulpi' BOARD=stm32f746g-disco make -j8 -C tests/usbus_cdc_ecm flash
```
<details>
<summary>Test results</summary>

```python
[529000.944482] usb 1-4.3.4: reset high-speed USB device number 32 using xhci_hcd
[529003.728260] usb 1-4.4: new high-speed USB device number 114 using xhci_hcd
[529003.833107] usb 1-4.4: config 1 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 255, changing to 11
[529003.833111] usb 1-4.4: config 1 interface 1 altsetting 0 bulk endpoint 0x1 has invalid maxpacket 64
[529003.833113] usb 1-4.4: config 1 interface 1 altsetting 0 bulk endpoint 0x82 has invalid maxpacket 64
[529003.833743] usb 1-4.4: New USB device found, idVendor=1209, idProduct=7d00, bcdDevice= 1.00
[529003.833747] usb 1-4.4: New USB device strings: Mfr=3, Product=2, SerialNumber=4
[529003.833749] usb 1-4.4: Product: stm32f746g-disco
[529003.833751] usb 1-4.4: Manufacturer: RIOT-os.org
[529003.833753] usb 1-4.4: SerialNumber: 66FE8934D1A363E0
[529003.837143] cdc_acm 1-4.4:1.0: ttyACM1: USB ACM device
[529003.839755] cdc_ether 1-4.4:1.2 usb0: register 'cdc_ether' at usb-0000:00:14.0-4.4, CDC Ethernet Device, 6a:88:1f:1f:b1:f0
[529003.879025] cdc_ether 1-4.4:1.2 enp0s20f0u4u4i2: renamed from usb0```
```
</details>

### Issues/PRs references

Fixes #19359


19416: cpu/rpx0xx/cmsis: Update vendor header files r=benpicco a=maribu

### Contribution description

Generated new vendor header files from upstream SVD files using:

    ./SVDConv "$PICO_SDK_DIR"/src/rp2040/hardware_regs/rp2040.svd \
        --generate=header --fields=macro --fields=enum

Note: The missing `--fields=struct` flag resulted in the header no longer containing bit-fields to represent different fields within registers. While this would generally ease writing code, the RP2040 has the unpleasant feature of corrupting the remaining bits of the register when a write access that is not word-sized occurs in the memory mapped I/O area. This could happen e.g. when a bit field is byte-sized and byte-aligned.
### Testing procedure

No binary changes (hopefully).

### Issues/PRs references

This adds a few additional vendor defines, notably for USB. If anyone were to implement USB, this would be a requirement.

19418: cpu/gd32v: fix gpio_read in periph_gpio r=benpicco a=gschorcht

### Contribution description

This PR fixes a bug in `gpio_read` which made `gpio_read` completely unusable!

A small bug with big consequences. In `gpio_read` the combined port | pin_num parameter `pin` was used instead of the pin number `pin_num` for the call of `_pin_is_input`. This caused the problem that for example instead of accessing GPIOA->CTL0 with address 0x40010800, address 0x60018c00 was accessed. As a result, a pin was randomly detected as input or output and thus a result was arbitrarily returned. Approx. 50% of all inputs always returned LOW.

I found this error by coincidence when I tried to find out why the BOOT0 button on a Sipeed Longan Nano is not usable as a button in RIOT.

### Testing procedure

Flash `tests/periph_gpio`
```
BOARD=sipeed-longan-nano make -j8 -C tests/periph_gpio flash
```
and use commands
```
init_in 0 8
read 0 8
```
Without this PR, the pin is always LOW. With the PR, the pin should be HIGH when the BOOT button is pressed.

### Issues/PRs references

19419: boards/sipeed-longan-nano: add BOOT as user button r=benpicco a=gschorcht

### Contribution description

This PR makes the BOOT button usable as a user button.

### Testing procedure

The test requires PR #19418 to work.

Flash and test:
```
BOARD=sipeed-longan-nano make -j8 -C tests/saul flash term
```
The output
```
Dev: BOOT	Type: SENSE_BTN
Data:	              0 
```
should change to
```
Dev: BOOT	Type: SENSE_BTN
Data:	              1 
```
when the BOOT button is pressed.

### Issues/PRs references

Depends on PR #19418 


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
2023-03-24 08:38:06 +00:00
Gunar Schorcht
f7b039f589 boards/sipeed-longan-nano: add BOOT as user button 2023-03-24 08:12:03 +01:00
Marian Buschsieweke
bf96c28889
cpu/rpx0xx: Update vendor header files
Generated new vendor header files from upstream SVD files using:

    ./SVDConv "$PICO_SDK_DIR"/src/rp2040/hardware_regs/rp2040.svd \
        --generate=header --fields=macro --fields=enum

Note: The missing `--fields=struct` flag resulted in the header no
      longer containing bit-fields to represent different fields
      within registers. While this would generally ease writing code,
      the RP2040 has the unpleasant feature of corrupting the
      remaining bits of the register when a write access that is not
      word-sized occurs in the memory mapped I/O area. This could
      happen e.g. when a bit field is byte-sized and byte-aligned.
2023-03-22 19:34:29 +01:00
bors[bot]
9b347690ef
Merge #19410
19410: boards/common/gd32v: improve openocd config r=benpicco a=gschorcht

### Contribution description

This PR improves the OpenOCD config for GD32V.

To restart GD32V after flashing, a special magic procedure has to be used. For short:
```python
    halt
    gd32vf103.cpu mww 0xe004200c 0x4b5a6978      # unlock 0xe0042008, the next write triggers a reset
    riscv set_mem_access abstract                # set abstract memory access
    gd32vf103.cpu mww 0xe0042008 0x1             # write to 0xe0042008 to triggers a reset
    riscv set_mem_access progbuf                 # set memory access mode back
    resume
```

The final `resume` was missing so that a timeout with an error message happened after flashing, for example:
```python
wrote 14692 bytes from file tests/shell/bin/sipeed-longan-nano/tests_shell.elf in 1.845550s (7.774 KiB/s)

verified 14692 bytes in 0.071006s (202.063 KiB/s)

Info : JTAG tap: gd32vf103.cpu tap/device found: 0x1000563d (mfg: 0x31e (Andes Technology Corporation), part: 0x0005, ver: 0x1)
Info : JTAG tap: auto0.tap tap/device found: 0x790007a3 (mfg: 0x3d1 (GigaDevice Semiconductor (Beijing) Inc), part: 0x9000, ver: 0x7)
Error: Timed out after 2s waiting for busy to go low (abstractcs=0x2001004). Increase the timeout with riscv set_command_timeout_sec.
Warn : Failed to write memory via abstract access.
Error: Target gd32vf103.cpu: Failed to write memory (addr=0xe0042008)
Error:   progbuf=disabled, sysbus=disabled, abstract=failed
Error executing event reset-assert on target gd32vf103.cpu:
embedded:startup.tcl:1187: Error: 
in procedure 'ocd_process_reset' 
in procedure 'ocd_process_reset_inner' called at file "embedded:startup.tcl", line 1187
shutdown command invoked
Done flashing
```
With the final `resume`, still an error message happens that hart 0 is unavialable, but the timeout with all these errors do not occur and OpenOCD exits immediatly:
```python
wrote 14732 bytes from file /home/gs/src/RIOT-Xtensa-ESP.esp-idf-4.4/tests/shell/bin/sipeed-longan-nano/tests_shell.elf in 1.516376s (9.488 KiB/s)

verified 14732 bytes in 0.045381s (317.021 KiB/s)

Info : JTAG tap: gd32vf103.cpu tap/device found: 0x1000563d (mfg: 0x31e (Andes Technology Corporation), part: 0x0005, ver: 0x1)
Info : JTAG tap: auto0.tap tap/device found: 0x790007a3 (mfg: 0x3d1 (GigaDevice Semiconductor (Beijing) Inc), part: 0x9000, ver: 0x7)
Error: Hart 0 is unavailable.
Info : Hart 0 unexpectedly reset!
shutdown command invoked
Done flashing
```
### Testing procedure

Flash any GD32V board with and without this PR and observe the output.

### Issues/PRs references


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-03-19 23:45:15 +00:00
bors[bot]
86cc87abb5
Merge #19408
19408: boards/esp32: enable RGB LED support r=benpicco a=gschorcht

### Contribution description

A couple of ESP32x boards have a SK68XXMINI-HS RGB LED on board.
- `esp32c3-devkit`
- `esp32s2-devkit`
- `esp32s3-devkit`

 This RGB LED can be used with the driver module `ws2812x`. This PR adds the `WS2812X_PARAMS*` parameter definitions to the board definition and updates the documentation.

### Testing procedure

Use any of these boards to flash `tests/driver_ws2812x`, for example:
```
BOARD=esp32c3-devkit make -j8 -C tests/driver_ws281x/ flash
```
The RGB LED should work as expected.

### Issues/PRs references


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-03-19 23:27:48 +00:00
Gunar Schorcht
0c253d819c boards/common/gd32v: improve openocd config 2023-03-19 18:28:20 +01:00
Gunar Schorcht
6474f6b0d3 boards/esp32s3-devkit: enable RGB LED support 2023-03-18 13:37:17 +01:00
Gunar Schorcht
2ff7ae5de7 boards/esp32s2-devkit: enable RGB LED support 2023-03-18 13:37:17 +01:00
Gunar Schorcht
f7c7337efb boards/esp32c3-devkit: enable RGB LED support 2023-03-18 13:37:17 +01:00
Marian Buschsieweke
29ec91fed3
boards/nucleo64: Add pinout diagrams from UM1724
ST's UM1724 user manual provides pinout diagrams for many Nucleo-64
boards. This adds them to the doc for easy of use.
2023-03-17 15:16:31 +01:00
bors[bot]
c4400e8964
Merge #19357
19357: boards/adafruit-itsybitsy-m4: turn off APA102 LED on startup r=benpicco a=benpicco



Co-authored-by: Benjamin Valentin <benjamin.valentin@bht-berlin.de>
2023-03-16 22:31:54 +00:00
Benjamin Valentin
ff7227d7dc boards/adafruit-itsybitsy-m4: turn off APA102 LED on startup 2023-03-16 17:12:52 +01:00
Gunar Schorcht
fd8182c09d boards/stm32f429i-disc1: add periph_usbdev_hs feature 2023-03-16 07:47:18 +01:00
bors[bot]
8c2391786c
Merge #19375 #19376 #19377
19375: tools/renode: add support for target reset r=benpicco a=aabadie



19376: boards/stm32f4discovery: use default port to access stdio via cdc acm r=benpicco a=aabadie



19377: pkg/tinyusb: fix default VID/PID configuration r=benpicco a=gschorcht

### Contribution description

This PR fixes the default VID/PID configuration if tinyUSB board reset feature is used.

While reviewing PR #19086 I was wondering why `esp32s2-wemos-mini` requires to set `USB_VID`/`USB_PID` explicitly to  `USB_VID_TESTING`/`USB_PID_TESTING`. The reason was that tinyUSB board reset feature wasn't declared as RIOT internal.

### Testing procedure

Flashing `esp32s2-wemos-mini` should still work.
```
BOARD=esp32s2-wemos-mini make -C tests/shell flash
```
The VID/PID should be `1209:7d00` and not `1209:7d01`.

### Issues/PRs references



Co-authored-by: Alexandre Abadie <alexandre.abadie@inria.fr>
Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-03-10 12:12:45 +00:00
Gunar Schorcht
a7347592df boards/esp32s2-wemos-mini: remove default setting of USB_VID/USB_PID 2023-03-10 12:43:22 +01:00
b6628dddd6
boards/stm32f4discovery: use default port to access stdio via cdc acm 2023-03-10 11:51:00 +01:00
bors[bot]
6c1de71606
Merge #19358
19358: sys/usbus/cdc/ecm: fix High-Speed mode r=dylad a=gschorcht

### Contribution description

This PR provides some changes to fix the USBUS CDC ECM interface in High-Speed mode.

In High-Speed mode, the EP data size has to be at least 512 bytes instead of 64 Byte in Full-Speed mode. To be able to define configurations like EP data sizes depending on whether Full-Speed or High-Speed USB device peripherals are used, the feature `periph_usbdev_hs`/`HAD_PERIPH_USBDEV_HS` is introduced.

### Testing procedure

Use `tests/usbus_cdc_ecm`  and any board with USB HS connector, for example:
```
USEMODULE=periph_usbdev_hs_utmi BOARD=stm32f723e-disco make -j8 -C tests/usbus_cdc_ecm flash
```
`ping` command works with this PR but doesn't work without this PR.

### Issues/PRs references

Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-03-07 20:17:01 +00:00
Gunar Schorcht
4845ed0409 boards/stm32f705-dk: add feature periph_usbdev_hs 2023-03-07 11:27:48 +01:00
Gunar Schorcht
aa125f50ab boards/stm32f746g-disco: add feature periph_usbdev_hs 2023-03-07 11:27:30 +01:00
Gunar Schorcht
38de94d243 boards/stm32f723e-disco: add feature periph_usbdev_hs 2023-03-07 11:27:13 +01:00
Benjamin Valentin
b1ac82cc52 boards/adafruit-itsybitsy-m4: configure littleFS on external flash 2023-03-06 20:00:54 +01:00
bors[bot]
777857ae4c
Merge #19340 #19352
19340: cpu/native: implement periph_rtc_ms r=benpicco a=benpicco



19352: pkg/tinydtls: don't require ztimer64 r=benpicco a=benpicco



Co-authored-by: Benjamin Valentin <benpicco@beuth-hochschule.de>
2023-03-06 17:34:53 +00:00
Benjamin Valentin
66707ad367 boards/remote-*: drop custom led_init()
A custom rainbow boot-up animation/delay gets old pretty quick
and we didn't actually init the LEDs anyway, so it would not be shown.

Drop the custom led_init() so the generic led_init() kicks in
and properly initializes the LEDs.
2023-03-06 11:04:48 +01:00
Benjamin Valentin
ce36460b16 cpu/native: implement periph_rtc_ms 2023-03-05 02:56:28 +01:00
Marian Buschsieweke
8a4b4fb8dd
boards/common/blxxxpill: Update pinout
Also document the OSC32 connection of PC14/PC15 in the pinout.
2023-02-28 08:35:17 +01:00
bors[bot]
d4422a074a
Merge #18682
18682: pkg/lwext4: add lightweight implementation of the ext2/3/4 filesystem r=benpicco a=benpicco



Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
2023-02-25 18:59:07 +00:00
Benjamin Valentin
020aac6c4c boards/same54-xpro: add support for lwEXT4 2023-02-25 14:01:20 +01:00
Benjamin Valentin
c1a8a5cc9e boards/native: add support for lwEXT4 2023-02-25 14:01:20 +01:00
Marian Buschsieweke
64d4aec812
boards: Provide debug adapter ID from serial where possible
Set `DEBUG_ADAPTER_ID_IS_TTY_SERIAL` to `1` for those boards to allow
automatic detection of the debug adapter with `MOST_RECENT_PORT=1`.
2023-02-24 16:50:59 +01:00
Marian Buschsieweke
015ee050f2
makefiles/tools/serial.inc.mk: Allow detection of debug adapter
Boards with an integrated debugger/programmer that also provides the
serial as UART <--> USB adapter, the TTY serial matches the serial of
the programmer.

This adapts the `serial.inc.mk` to set the `DEBUG_ADAPTER_ID` to the
TTY serial if (and only if) `MOST_RECENT_PORT` *and*
`DEBUG_ADAPTER_ID_IS_TTY_SERIAL` both have a value of `1`. Boards with
an integrated programmer are expected to set
`DEBUG_ADAPTER_ID_IS_TTY_SERIAL` to `1` in their `Makefile.include`.
2023-02-24 16:50:56 +01:00
chrysn
8dff7cc347 boards/microbit-v2: Recognize with MOST_RECENT_PORT 2023-02-24 12:44:45 +01:00
Gunar Schorcht
30f448d2e9 boards/seeedstudio-gd32: add mtd_sdcard_default 2023-02-22 06:43:06 +01:00
bors[bot]
37b64912d4
Merge #19256
19256: pkg/tinyusb: add GD32VF103 support r=gschorcht a=gschorcht

### Contribution description

This PR provides the tinyUSB support for GD32VF103 and enables the `tinyusb_device` feature as well as `stdio_tinyusb_cdc_acm` for GD32VF103 boards.

### Testing procedure

```
BOARD=sipeeed-longan-nano make -C tests/shell flash term
```
should work

### Issues/PRs references


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-02-21 16:53:06 +00:00
Gunar Schorcht
c95bde4758 boards/seeedstudio-gd32: enable stdio_tinyusb_cdc_acm as default 2023-02-21 15:04:13 +01:00
Gunar Schorcht
fae506697f boards/sipeed-longan-nano: enable stdio_tinyusb_cdc_acm as default 2023-02-21 15:04:13 +01:00
Gunar Schorcht
80c2008bb1 boards/seeedstudio-gd32: add tinyUSB support 2023-02-21 15:04:13 +01:00
Gunar Schorcht
4540f96332 boards/sipeed-longan-nano: add tinyUSB support 2023-02-21 15:04:13 +01:00
Gunar Schorcht
5207c6fdf8 boards/esp32s2-lilygo-ttgo-t8: documentation fix 2023-02-18 08:29:02 +01:00
Gunar Schorcht
2fb8ef1f0b boards/esp32s2-lilygo-ttgo-t8: fix STDIO selection in Kconfig 2023-02-18 08:07:28 +01:00
Gunar Schorcht
8e30600664 boards: add support for LILYGO TTGO T8 ESP32-S2 2023-02-17 17:40:52 +01:00
bors[bot]
d145a876ae
Merge #19259
19259: boards/stm32f4discovery: default to stdio via CDC ACM r=benpicco a=benpicco



Co-authored-by: Benjamin Valentin <benjamin.valentin@bht-berlin.de>
2023-02-10 10:42:56 +00:00
Benjamin Valentin
3e1f5edb8f boards/stm32f4discovery: default to stdio via CDC ACM 2023-02-10 10:12:18 +01:00
bors[bot]
537f844b93
Merge #19261
19261: tests/{sys_fido2_ctap/usbus_board_reset}: fix stdio_usb_serial_jtag dependency r=gschorcht a=gschorcht

### Contribution description

This PR fixes the `stdio_usb_serial_jtag` dependency problem for `tests/sys_fido2_ctap` and `usbus_board_reset`.

- There are boards that select the STDIO backend used depending on whether `usbus` is enabled. Usually the `fido2_ctap_transport_hid` module pulls in `usbus_hid` and thus `usbus`, but since this dependency resolution is done after reading the `Makefile.dep` of the board, it may happen that the wrong STDIO backend is selected. Therefore `usbus` is selected directly in the `Makefile` of `tests/sys_fido2_ctap` .
- To improve the selection of the `stdio_usb_serial_jtag` backend in `esp32s3-pros3`, it checks for any `usbus_%` module not only `usbus`.

### Testing procedure

GreenCI

### Issues/PRs references



Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-02-08 20:47:10 +00:00
Gunar Schorcht
0c9788fa55 boards/esp32s3-pros3: fix STDIO backend selection 2023-02-08 21:40:07 +01:00
Gunar Schorcht
c9711b4d5b boards/esp32s3-pros3: add usbus_% dependency in STDIO selection 2023-02-08 21:40:07 +01:00
Marian Buschsieweke
660990afd3
boards/common/blxxxpill: Fix mixup in pinout
TX0 and RX0 in the pinout got mixed up. This swaps them back.
2023-02-08 14:54:45 +01:00
bors[bot]
dd2d336962
Merge #19240 #19248 #19255
19240: tools/doccheck: add simple exclude to doccheck r=benpicco a=kfessel

while doccheck runs for #19228 and #19220, i saw some spikes in memory consumption, turned out that was `grep -Evf dist/tools/doccheck/exclude_patterns` using about 2GB RAM. This PR changes that.

### Contribution description

add `exclude_simple`  to `doccheck` drived from `exclude patterns`
`sort`ed and `uniq`ued the simple excludes
removes no longer needed patterns from `exclude patterns`

simple excludes are string rules (no patterns just strings) 
how to apply these:
in this PR: 
*remove the path and line number from the rule
* that made some of them doubles of each other
* sorted and uniqued them. 
* this set of excludes is no longer path specific (an exception covers all paths but may of them still contain a file name)

another possible solution would be to have the excludes line number specific.

### Testing procedure

run `dist/tools/doccheck/check.sh`

compare memory consumption of 
master: `grep -Evf dist/tools/doccheck/exclude_patterns`
to 
this PR: `grep -Fvf dist/tools/doccheck/exclude_simple`

### Issues/PRs references



19248: cpu/gd32v: add periph_dac support r=benpicco a=gschorcht

### Contribution description

This PR provides the `periph_dac` support for GD32VF103.

### Testing procedure

`tests/periph_dac` should work on `sipeed-longan-nano` port on PA4 and PA5.

### Issues/PRs references

19255: boards/esp*: complete SD Card MTD config r=benpicco a=gschorcht

### Contribution description

This PR provides the remaining changes necessary to use the generic MTD SD Card configuration as described in PR #19216. 

This includes defining the MTD offset for SD cards, since the default `MTD_0` device always uses the internal flash device, and the completion of the configuration for the ESP32 boards with a SD card interface.

### Testing procedure

`tests/vfs_default` should work now with SD Cards:
```
main(): This is RIOT! (Version: 2023.04-devel-323-gfcc07)
mount points:
	/nvm0
	/sd0

data dir: /sd0
> vfs df 
Mountpoint              Total         Used    Available     Use%
/nvm0                3052 KiB        8 KiB     3044 KiB       0%
/sd0                 7580 MiB 3632148992 B   21089792 B      99%
```

### Issues/PRs references


Co-authored-by: Karl Fessel <karl.fessel@ovgu.de>
Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-02-07 14:55:44 +00:00
Gunar Schorcht
b85d6b2884 boards/seeedstudio: document periph_dac support 2023-02-07 02:42:19 +01:00
Gunar Schorcht
eb9b636fbc boards/sipeed-longan-nano: add periph_dac support 2023-02-07 02:42:19 +01:00
Gunar Schorcht
5e913a3974 boards/common/gd32v: add USB OTG support 2023-02-07 01:31:08 +01:00
Gunar Schorcht
43a92ed6cb boards/esp32-wemos-lolin-d32-pro: complete SD card MTD config 2023-02-07 01:18:56 +01:00
bors[bot]
304245b328
Merge #19249
19249: boards/gd32v: improve board definitions r=benpicco a=gschorcht

### Contribution description

This PR provides some small improvements of the existing board definitions for GD32VF103 boards for more flexibel default configurations and documentation of the board peripherals:

- Allow the remapping of SPI0 pins in SPI configuration (ae984b0bea)
- More flexible I2C configuration (0c337583b4)
  The default I2C device configuration allows to define up to two I2C devices `I2C_DEV(0)` and `I2C_DEV(1)`. `I2C_DEV(0)` is always defined if the I2C peripheral is enabled by the module `periph_spi`. The second I2C device `I2C_DEV(1)` is only defined if `I2C_DEV_1_USED` is defined by the board. This allows to use the default configuration with one or two I2C devices depending on whether other peripherals are enabled that would collide with the I2C devices.
- More flexible SPI configuration (edbf59e37e)
  The default SPI device configuration allows to define up to two SPI devices `SPI_DEV(0)` and `SPI_DEV(1)`. `SPI_DEV(0)` is always defined if the SPI peripheral is enabled by the module `periph_spi`. The second SPI device `SPI_DEV(1)` is only defined if `SPI_DEV_1_USED` is defined by the board. This allows to use the default configuration with one or two SPI devices depending on whether other peripherals are enabled that would collide with the SPI devices.
Furthermore, the CS signal in the SPI configuration is given by a define that can be overriden with another pin if
the default CS signal is connected to an unused hardware.
- Improve ADC config for Sipeed-Longan-Nano (c9c587ee00)
  The ADC configuration was too complex. It was hard to follow when certain ADC lines are available. Furthermore, the order of ADC lines did depend on the use of other peripherals. Now, either the TFT display is not connected and all ADC lines are available or the TFT display is connected and the second SPI device is used so that only the first 4 ADC lines are available.
- Improve Kconfig for Sipeed-Longan-Nano (025f4fdf00)
  Board-specific configuration not shown any longer directly in the top level menu but within a submenu.
- Improve peripherals documentation (7f0d560dd8, e24abe495a)
 Available peripherals for the board are now documented in two tables ordered by RIOT peripheral names and by pins.

Although the different changes are small and mostly related to the documentation, I could split the PR if necessary.

### Testing

Green CI

### Issues/PRs references



Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-02-06 23:21:35 +00:00
Gunar Schorcht
6477976099 boards/esp32-wrover-kit: complete SD card MTD config 2023-02-06 23:37:40 +01:00
Gunar Schorcht
967ec447ae boards/common/esp*: set MTD offset for SD Cards to 1
Since the default MTD device `MTD_0` is the internal flash on ESP32x SoCs, SD card devices have to start at `MTD_1`.
2023-02-06 23:35:34 +01:00
bors[bot]
fcc07a5248
Merge #19088
19088: boards: add esp32s3-pros3 support r=benpicco a=gschorcht

### Contribution description

This PR provides the support for [ESP32 ProS3](https://esp32s3.com/pros3.html#home) board from Unexpected Maker.

This board doesn't have a USB-to-Serial chip on board. Therefore, USB Serial/JTAG is used for STDIO and the board is flashed via the USB Seral/JTAG interface by default.

### Testing procedure

Flashing `tests/shell` should work.

### Issues/PRs references

Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-02-06 15:30:15 +00:00
Gunar Schorcht
90dc95eba1 boards/common/stdio_tinyusb_cdc_acm: let tests wait for serial port
After a reset, it can take several seconds before the CDC ACM interface becomes available as serial device `ttyACMx`. This was a change that was already made for `stdio_cdc_acm` in #19128.
2023-02-06 16:19:11 +01:00
Gunar Schorcht
df46c458e6 boards: add support for ESP32 ProS3 board 2023-02-06 16:19:11 +01:00
Gunar Schorcht
e24abe495a boards/seeedstudio-gd32: improve peripherals doc
Available peripherals for the board are now shown ordered by RIOT peripheral names and by pins.
2023-02-06 07:57:13 +01:00
Gunar Schorcht
3a7ddd22ea boards/seeedstudio-gd32: use always second SPI config 2023-02-06 07:57:13 +01:00
Gunar Schorcht
7f0d560dd8 boards/sipeed-longan-nano: improve peripherals doc
Available peripherals for the board are now shown ordered by RIOT peripheral names and by pins.
2023-02-06 07:57:13 +01:00
Gunar Schorcht
025f4fdf00 boards/sipeed-longan-nano: improve Kconfig
Board-specific configuration not shown any longer directly in the top level menu but within a submenu.
2023-02-06 07:57:13 +01:00
Gunar Schorcht
c9c587ee00 boards/sipeed-longan-nano: improve ADC config
The ADC configuration was too complex. It was hard to follow when certain ADC lines are available. Furthermore, the order of ADC lines did depend on the use of other peripherals. Now, either the TFT display is not connected and all ADC lines are available or the TFT display is connected and the second SPI device is used so that only the first 4 ADC lines are available.
2023-02-06 07:57:13 +01:00
Gunar Schorcht
edbf59e37e boards/common/gd32v: flexible default SPI configuration
The default SPI device configuration allows to define up to two SPI devices `SPI_DEV(0)` and `SPI_DEV(1)`. `SPI_DEV(0)` is always defined if the SPI peripheral is enabled by the module `periph_spi`. The second SPI device `SPI_DEV(1)` is only defined if `SPI_DEV_1_USED` is defined by the board. This allows to use the default configuration with one or two SPI devices depending on whether other peripherals are enabled that would collide with the SPI devices.
Furthermore, the CS signal in the SPI configuration is given by a define that can be overriden with another pin if
the default CS signal is connected to an unused hardware.
2023-02-06 07:57:13 +01:00
Gunar Schorcht
0c337583b4 boards/common/gd32v: flexible default I2C configuration
The default I2C device configuration allows to define up to two I2C devices `I2C_DEV(0)` and `I2C_DEV(1)`. `I2C_DEV(0)` is always defined if the I2C peripheral is enabled by the module `periph_spi`. The second I2C device `I2C_DEV(1)` is only defined if `I2C_DEV_1_USED` is defined by the board. This allows to use the default configuration with one or two I2C devices depending on whether other peripherals are enabled that would collide with the I2C devices.
2023-02-06 07:57:13 +01:00
Benjamin Valentin
f78cdbb095 boards/sipeed-longan-nano: make use of mtd_sdcard_default 2023-02-05 19:05:44 +01:00
Benjamin Valentin
b1feb0fd93 boards/waspmote-pro: make use of mtd_sdcard_default 2023-02-05 19:05:43 +01:00
Benjamin Valentin
b71b097be4 boards/sensebox_samd21: make use of mtd_sdcard_default 2023-02-05 19:05:43 +01:00
Benjamin Valentin
d2988b00ac boards/waveshare-nrf52840-eval-kit: make use of mtd_sdcard_default 2023-02-05 19:05:43 +01:00
Benjamin Valentin
4a85d7905e boards/remote-revb: make use of mtd_sdcard_default 2023-02-05 19:05:43 +01:00
bors[bot]
7d1ef9d99b
Merge #18863
18863: boards/esp32s2-mini: add definition for ESP32 S2 Mini r=gschorcht a=benpicco



Co-authored-by: Benjamin Valentin <benjamin.valentin@bht-berlin.de>
Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
2023-02-02 14:26:25 +00:00
Benjamin Valentin
9a39c88327 boards/esp32s2-mini: add definition for ESP32 S2 Mini 2023-02-02 10:56:40 +01:00
Benjamin Valentin
4b5df6485f boards: add common stdio_tinyusb_cdc_acm.dep.mk 2023-02-02 10:56:40 +01:00
Gunar Schorcht
15a3b08aa7 boards/sipeed-longan-nano: add periph_adc support 2023-02-01 23:11:07 +01:00
Gunar Schorcht
47c95cb2a2 boards/seeedstudio-gd32: add periph_adc support 2023-02-01 23:11:07 +01:00
Gunar Schorcht
8d3369acc7 boards/sipeed-longan-nano: add SPI configuration 2023-02-01 02:44:54 +01:00
Gunar Schorcht
b2c0062393 boards/seeedstudio-gd32v: add SPI configuration 2023-02-01 02:44:54 +01:00
Gunar Schorcht
ea6a9d3f36 boards/common/gd32v: add default SPI configuration 2023-02-01 02:37:54 +01:00
bors[bot]
718e4a8340
Merge #16782 #19201
16782: drivers/mfrc522: add new driver r=benpicco a=HendrikVE

### Contribution description

This PR adds support for the MFRC522. It is quite common in the Arduino world and it is quite cheap. The driver connects to the MFRC522 via SPI and is heavily based on the Arduino driver available [here](https://github.com/miguelbalboa/rfid). Basically it was ported, but with several improvements in readability and documentation.

### Testing procedure

The given (manual) test provides single commands for some driver functions.

19201: cpu/gd32v: add periph_i2c support r=benpicco a=gschorcht

### Contribution description

This PR provides the `periph_i2c` support and is one of a bunch of PRs that complete the peripheral drivers for GD32VF103.

The driver is a modified version of the driver for STM32F1 with some changes that were necessary to get it working on GD32V. As  for STM32F1, the driver is using polling instead of interrupts for now. It will be implemented interrupt-driven later.

### Testing procedure

`tests/periph_i2c` as well as a test with any I2C sensor should work. The driver was tested with `tests/driver_l3gxxxx` and `tests/driver_bmp180`.

### Issues/PRs references


Co-authored-by: Hendrik van Essen <hendrik.ve@fu-berlin.de>
Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-01-31 23:15:41 +00:00
Gunar Schorcht
fde5c8a3ea board/sipeed-longan-nano: add periph_i2c support 2023-01-31 20:12:04 +01:00
Gunar Schorcht
ea848929e7 board/seeedstudio-gd32v: add periph_i2c support 2023-01-31 20:12:04 +01:00
Gunar Schorcht
5355a2435c cpu/dg32v: add periph_i2c support 2023-01-31 20:12:04 +01:00
Gunar Schorcht
e387019076 cpu/gd32v: move board dependent RTT configs to board config 2023-01-29 18:51:59 +01:00
Gunar Schorcht
8ecc80a3ac boards/seeedstudio-gd32: add periph_pwm support 2023-01-28 18:16:17 +01:00
Gunar Schorcht
3bf303f9c6 board/sipeed-longan-nano: add periph_pwm support 2023-01-28 18:16:17 +01:00
Gunar Schorcht
377b5b321c boards/common/gd32v: change default timer configuration
The default timer configuration has been changed so that `TIMER0` and `TIMER1` are always timer devices. `TIMER2` can only be used as timer device if it is not used for PWM devices. `TIMER3` and `TIMER4` are only available as timer devices if they are supported by the CPU model and not used for PWM devices.
2023-01-28 18:16:17 +01:00
bors[bot]
c6c84cccc9
Merge #19199 #19205 #19207
19199: sys/suit: Ensure previous thread is stopped before reusing its stack r=benpicco a=chrysn

### Contribution description

Closes: https://github.com/RIOT-OS/RIOT/issues/19195

If the thread has released the mutex but the thread has not terminated (which happens in the situation that would previously have overwritten a still active thread's state), then a warning is shown and the trigger is ignored.

### Testing procedure

This should work before and after:

* `make -C examples/suit_update BOARD=native all term`
* `aiocoap-client coap://'[fe80::3c63:beff:fe85:ca96%tapbr0]'/suit/trigger -m POST --payload 'coap://[2001:db8::]/foo'`
* In parallel, on the RIOT shell, run `suit fetch coap://[2001:db8::]/foo`
* After the first download fails, the second one starts right away ("suit_worker: update failed, hdr invalid" / "suit_worker: started").

Run again with the worker thread on low priority:

```patch
diff --git a/sys/suit/transport/worker.c b/sys/suit/transport/worker.c
index a54022fb28..e26701a64c 100644
--- a/sys/suit/transport/worker.c
+++ b/sys/suit/transport/worker.c
`@@` -70 +70 `@@`
-#define SUIT_COAP_WORKER_PRIO THREAD_PRIORITY_MAIN - 1
+#define SUIT_COAP_WORKER_PRIO THREAD_PRIORITY_MAIN + 1
```

Before, this runs the download once silently (no clue why it doesn't run it twice, but then again, I claim there's concurrent memory access from two thread, so who knows what happens). After, it runs a single download and shows an error message for the second one once the first is complete ("Ignoring SUIT trigger: worker is still busy.").

### Issues/PRs references

This may be made incrementally easier by https://github.com/RIOT-OS/RIOT/pull/19197 -- that PR as it is now would spare us the zombification (because returning would do that), and having a `wait` function would allow us to turn the new error case into a success.

19205: boards/common: add common timer config for GD32VF103 boards r=benpicco a=benpicco



19207: examples/gnrc_border_router: static: use router from advertisements by default r=benpicco a=benpicco




Co-authored-by: chrysn <chrysn@fsfe.org>
Co-authored-by: Benjamin Valentin <benjamin.valentin@bht-berlin.de>
Co-authored-by: Benjamin Valentin <benpicco@beuth-hochschule.de>
2023-01-27 21:01:39 +00:00
Benjamin Valentin
162d06a9bd boards/common: add common timer config for GD32VF103 boards 2023-01-27 21:39:22 +01:00
bors[bot]
31fe47c82c
Merge #19202
19202: cpu/gd32v: add periph_rtt support r=benpicco a=gschorcht

### Contribution description

This PR provides the `periph_rtt` support and is one of a bunch of PRs that complete the peripheral drivers for GD32VF103.

### Testing procedure

`tests/periph_rtt` should work and give the following results:
```
Help: Press s to start test, r to print it is ready
START
main(): This is RIOT! (Version: 2023.04-devel-199-g2d429-cpu/gd32v/periph_rtt)

RIOT RTT low-level driver test
RTT configuration:
RTT_MAX_VALUE: 0xffffffff
RTT_FREQUENCY: 32768

Testing the tick conversion
Trying to convert 1 to seconds and back
Trying to convert 256 to seconds and back
Trying to convert 65536 to seconds and back
Trying to convert 16777216 to seconds and back
Trying to convert 2147483648 to seconds and back
All ok

Initializing the RTT driver
This test will now display 'Hello' every 5 seconds

RTT now: 148
Setting initial alarm to now + 5 s (163988)
rtt_get_alarm() PASSED
Done setting up the RTT, wait for many Hellos
{ "threads": [{ "name": "idle", "stack_size": 256, "stack_used": 216 }]}
{ "threads": [{ "name": "main", "stack_size": 1280, "stack_used": 480 }]}
Hello
Hello
Hello
Hello
```

### Issues/PRs references


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-01-27 17:19:20 +00:00
bors[bot]
a175ad22b6
Merge #19204
19204: boards/sipeed-longan-nano: default to flashing via DFU r=gschorcht a=benpicco



Co-authored-by: Benjamin Valentin <benjamin.valentin@bht-berlin.de>
2023-01-27 15:47:49 +00:00
Benjamin Valentin
15dfaddeb5 boards/sipeed-longan-nano: default to flashing via DFU 2023-01-27 12:11:00 +01:00
Gunar Schorcht
72b214a9dc boards/sipeed-longan-nano: add periph_rtt support 2023-01-27 06:46:51 +01:00
Gunar Schorcht
a72d87e16f boards/seeedstudio-gd32: add periph_rtt support 2023-01-27 06:46:51 +01:00
MrKevinWeiss
56947834f9
boards/sx126x: make MODULE_SX126X_RF_SWITCH hidden in kconfig
It turns out this is really a board specific setting and should always and only be used when the onboard module is being used...
2023-01-25 08:47:26 +01:00
bors[bot]
d1072c287d
Merge #19170 #19190 #19191
19170: boards/sipeed-longan-nano: add definition for the Sipeed Longan Nano GD32VF103 board r=benpicco a=gschorcht

### Contribution description

This PR add the support for the [Sipeed Longan Nano](https://longan.sipeed.com/en) board, a GD32VF103 development board with the GigaDevice GD32VF103CBT8 RISC-V MCU. This includes moving the common board definitions for GDV32F103 boards from `boards/seeedstudio-gd32` to `boards/common/gd32v`.

**[Update]** At first glance, the existing peripheral definition for `seeedstudio-gd32` seems to fit exactly for `sipeed-longan-nano`. But at second glance it becomes clear that `seeedstudio-gd32` which is using the GD32VF103VBT6 instead of the GD32VF103CBT6 has more peripherals and much more peripheral pins are broken out. This allows a more extensive and flexible peripheral definition (more timers, more ADC pins, more UART interfaces, ...). So it doesn't seem to be a good idea to share the peripheral definitions between these boards.

This PR depends on PR #19166 and includes this PR for the moment.

### Testing procedure

t.b.d.

### Issues/PRs references

Depends on PR #19166

19190: pkg/wolfssl: Fix memory leaks in wolfSSL sock_tls r=benpicco a=Flole998

When sk->ssl is NULL it doesn't need to be free()d, otherwise it may be free()d

19191: Fix SX126X-STM32WL module in Kconfig r=MrKevinWeiss a=MrKevinWeiss

### Contribution description

Master is broken due to kconfig mismatch for the `nucleo-wl55jc`.  The radio was just not declared.

This fixes the board and cleans up some of the SX126X kconfig.


### Testing procedure

Murdock should pass

### Issues/PRs references



Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
Co-authored-by: Flole998 <Flole998@users.noreply.github.com>
Co-authored-by: MrKevinWeiss <weiss.kevin604@gmail.com>
2023-01-24 12:08:46 +00:00
MrKevinWeiss
75ece64581
boards/nucleo-wl55jc: Expose sx126x in kconfig 2023-01-24 11:12:38 +01:00
Gunar Schorcht
13e4ea4be1 boards/sipeed-longan-nano: initial support 2023-01-23 18:59:32 +01:00
Gunar Schorcht
400609f69b boards/seeedstudio-gd32: use common gd32v board definition 2023-01-23 18:59:32 +01:00
Gunar Schorcht
31604da8fe boards/common: add common definitions for GD32VF103 boards 2023-01-23 18:59:32 +01:00
Gunar Schorcht
899661dc04 boards/seeedstudio-gd32: add periph_rtc support 2023-01-22 17:54:14 +01:00
bors[bot]
d11a358b1d
Merge #18472 #19175
18472: drivers/mrf24j40: add support for IEEE 802.15.4 Radio HAL r=benpicco a=jia200x



19175: drivers/periph_common/flashpage: fix silent error r=benpicco a=Enoch247

### Contribution description

This patch removes a test that silently hides failed writes to NULL. Instead, assert is used to ensure that the address is not NULL.


### Testing procedure

I am not certain how to update the tests to catch asserts. If this is possible, I will add a test, if someone will point me to a good example to learn from.


### Issues/PRs references

- none


Co-authored-by: Jose Alamos <jose@alamos.cc>
Co-authored-by: Joshua DeWeese <jdeweese@primecontrols.com>
2023-01-19 18:17:13 +00:00
Jose Alamos
42a2f6b43c
boards/nucleo64: use ARDUINO pins for MRF24J40 configuration 2023-01-19 15:31:06 +01:00
bors[bot]
e7a68ac6f7
Merge #19166 #19171
19166: boards/seeedstudio-gd32: complete and improve board definition r=kaspar030 a=gschorcht

### Contribution description

This PR completes and improves the board definition for the Seeedstudio GD32 RISC-V Dev board. It
- adds the user LED and Button definitions to `board.h` (bef4209109)
- adds the SAUL support for user LED and Button definitions (7a5b2f1fb43f5e28eec4f65c8e7367510be6eb80)
- changes the OpenOCD configuration (32c0c4b1b5b9705ffcd2bb02a1d868ad35ca3bbc)
   - to be usable with Upstream OpenOCD release version 0.12.0
   - to allow different FTDI configuration and other adapters
- adds a documentation with flashing guide, feature list, support status, pinout, schematic reference (9dcc83b8ceb8a9ce526f0a03053a242e866ebf4a)

These changes is the first PR for a number of follow-up PR I will provide in next days to extend the GD32VF103 support. I have already working
- `periph_adc` support,
- `periph_spi` support,
- `tinyusb_device` support,

and almost finished
- `periph_i2c` support (implemented and working with some errors),
- `pm_layered` support (implemented but not working correctly yet), and
- `periph_usbdev` support (implemented by extending `usbdev_synopsys_dwc2 driver but bot working yet).

I will try to implement
- `periph_gpio_irq` support,
- `periph_rtc` support, and
- `periph_rtt` support.

Since I'm using the Sispeed Longan Nano board for testing, I will add the board definition for this board. I will then move some board definitions to a common folder.

### Testing procedure

Green CI.
Documentation should be generated correctly.
Flashing the `seeedstudio-gd32` should still work.
`tests/leds` should work.

### Issues/PRs references

19171: tests/gnrc_rpl: Disable CI test for native r=benpicco a=maribu

### Contribution description

This disables the `tests/grnc_rpl` test run for `native`. This test is too flaky to be included in the CI.

### Testing procedure

Not needed

### Issues/PRs references

None

Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
2023-01-18 21:42:37 +00:00
Gunar Schorcht
c14e57c7b6 boards/seeedstudio-gd32: add basic board documentaion 2023-01-18 16:17:50 +01:00
Gunar Schorcht
810ebdbe0b boards/seeddstudio-gd32: improve OpenOCD configuration 2023-01-18 16:17:50 +01:00
Gunar Schorcht
77e2ca308b boards/seeedstudio-gd32: add SAUL support for LEDs and Buttons 2023-01-18 16:17:50 +01:00
Gunar Schorcht
bef4209109 boards/seeedstudio-gd32: define user LEDs and Buttons 2023-01-18 10:11:09 +01:00
krzysztof-cabaj
1ecdc10579 boards/rpi-pico-w: fix too large board image 2023-01-17 04:13:32 -05:00
krzysztof-cabaj
9090aab74f boards/rpi-pico-w: addition of new board - Raspberry Pi Pico W 2023-01-14 11:27:24 -05:00
bors[bot]
89ef35f9c6
Merge #19050
19050: boards/common/cc26xx cc13xx: clean up and fix flash configs r=benpicco a=maribu

### Contribution description

- Add support for XDS110 debugger via `OPENOCD_DEBUG_ADAPTER=xds110`
- Clean up OpenOCD configs in `boards/common/cc26xx_cc13xx`
    - No longer hardcode the debugger to xds110, but use `OPENOCD_DEBUG_ADATER ?= xds110`
    - Add support for cc13x0, cc13x2, cc26x0
- `boards/cc2650*`: drop custom OpenOCD config in favor of shared one
- add variables needed to support flashing with `PROGRAMMER=jlink`
- allow specifying a custom OpenOCD command to bring the device to a halt state, as the default `reset halt` (which causes a second reset) is causing issues with the ICEPick JTAG routers in the CC26xx - CC13xx devices
- Use `halt` instead of `reset halt` for CC26xx / CC13xx boards in OpenOCD to avoid issues in flashing

### Testing procedure

```
make BOARD=cc2650-launchpad -C examples/default flash
```

Should now work. The same should still work for other cc26xx cc13xx boards.

### Issues/PRs references

Partially fixes: https://github.com/RIOT-OS/RIOT/issues/18750

Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
2023-01-13 00:51:31 +00:00
Martine Lenders
b00b286a1d
boards: common: stdio_cdc_acm: let tests wait a bit for serial port 2023-01-12 10:13:21 +01:00
bors[bot]
75c909b813
Merge #19129
19129: boards/seeedstudio-gd32: fix HXTAL clock in Kconfig r=miri64 a=gschorcht

### Contribution description

This PR fixes the wrong default value of `CLOCK_HXTAL` in Kconfig introduced with PR #19109. It was accidentally set to the default value of 80 MHz instead of 8 MHz.

### Testing procedure

```
python3 dist/tools/compile_test/compile_like_murdock.py -a tests/shell -b seeedstudio-gd32 -j8
```
Without the PR the command gives:
```
tests/shell                    seeedstudio-gd32               FAIL: Kconfig hash mismatch
```
WIth the PR the compile test should pass:
```
tests/shell                    seeedstudio-gd32               PASS
```

### Issues/PRs references


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-01-11 16:57:38 +00:00
Gunar Schorcht
f6c588fc1a boards/seeedstudio-gd32: fix HXTAL clock in Kconfig 2023-01-11 15:08:16 +01:00
Marian Buschsieweke
c78c0056ea
boards/common/cc26xx_cc13xx: Fix flashing with upstream OpenOCD
This adds a work around that allows flashing with upstream OpenOCD,
most of the time.
2023-01-10 22:39:35 +01:00
Marian Buschsieweke
5c163180ad
boards/cc{13xx,26xx}: add JLink support
Add the required variables to support flashing with `PROGRAMMERS=jlink`.
2023-01-10 21:58:19 +01:00
Marian Buschsieweke
c4ff80b6b9
boards/cc{13xx,26xx}: clean up OpenOCD config
Place common OpenOCD configs for the different cc13xx and cc26xx
families in boards/common/cc26xx_cc13xx/dist and automatically select
the correct one based on the (prefix of the) value of `$(CPU_MODEL)`, if
`OPENOCD_CONFIG` was not specified and no custom `openocd.cfg` is
located in the board's `dist` folder.

The `cc2650-launchpad` and `cc2650stk` have been adapted to use the
common config instead.
2023-01-10 21:58:19 +01:00
Marian Buschsieweke
5fbc5e0705
boards/qn9080dk: Improve doc and add J-Link support
- document that the QN9080DK has an alternative firmware for the
  debugger/programmer that supports J-Link
- allow selecting the debugger firmware via parameter / environment
  variable
- add `JLINK_DEVICE` parameter to allow flashing via J-Link
2023-01-10 16:10:50 +01:00
bors[bot]
de0bd9770f
Merge #19115 #19116
19115: boards/hip-badge: fix doc rendering r=benpicco a=benpicco



19116: makefiles/cargo-targets.inc.mk: Fix RISC-V target r=kaspar030 a=maribu

### Contribution description

Update the list of target triples to match
`makefiles/arch/riscv.inc.mk`. This fixes compilation with toolchains other than the obsolete toolchain that uses the incorrect `riscv-none-embed` triple.

### Testing procedure

```
make BOARD=hifive1b -C examples/rust-gcoap
```

Fails on `master` with a recent RISC-V toolchain, but hopefully compiles with this PR.

### Issues/PRs references

None

Co-authored-by: Benjamin Valentin <benjamin.valentin@bht-berlin.de>
Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
2023-01-09 23:49:42 +00:00
bors[bot]
bb708e2f9c
Merge #19109
19109: cpu/gd32v: fix and extend Kconfig clock settings r=benpicco a=gschorcht

### Contribution description

This PR fixes the following issus of the clock configuration which led to highly deviating peripheral clocks so that the UART interface was not usable in my case:

1. Setting the `RCU_CTL` register just to the IRC8M bit also removes the IRC8M calibration and trim adjust value in this register. Therefore IRC8M calibration and trim adjust value have to be preserved and the IRC8M has to be set.
2. `CLOCK_HXTAL` is a value and not a flag, so that shifting to the left changes anything in the register but does not set the PLLSEL bit. `RCU_CFG0_PLLSEL_Msk` has to be used instead to set the PLLSEL bit.
3. `CONFIG_BOARD_HAS_HXTAL` is used to indicate that the board has an HXTAL connected. If the HXTAL is present, it is used as PLL clock source. But if the HXTAL is not present, the half IRC8M clock should be used as PLL clock source and must not be disabled at the end of clock settings. Using IRC8M clock as PLL clock source also requires another PLL multiplication factor.

Issues 1 and 2 led to the problem that IRC8M was used without calibration instead of HXTAL. With the fixes, the GD32V is working with as well as without HXTAL correctly.

Furthermore, the Kconfig configuration has been extended. It is now possible to configure the HXTAL frequency as well, since the GD32VF103 allows HXTAL clocks from 3 MHz to 25 MHz. This has currently been added directly to the board's Kconfig, as it is currently the only GD32VF103 board. It should be moved to a common Kconfig later when more GD32V boards are added.

### Testing procedure

`BOARD=seeedstudio-gd32 make -C tests/shell flash term` should still work.

### Issues/PRs references


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-01-09 21:06:17 +00:00
Gunar Schorcht
72d11d84b8 boards/seeedstudio-gd32: extend Kconfig by clock configuration
The configuration whether a HXTAL is present and what its clock frequency is will be added to Kconfig. Since it is the only GD32V board at the moment, the configuration is added to the Kconfig of the board, but should be moved to a common Kconfig later when more GD32V boards are added.
2023-01-09 21:51:54 +01:00
Benjamin Valentin
e62a415fd2 boards/hip-badge: fix doc rendering 2023-01-09 20:07:05 +01:00
bors[bot]
58d5847d11
Merge #19113
19113: boards/native: Drop backward compatibility code for glibc <= 2.17 r=maribu a=maribu

### Contribution description

Even Debian [oldstable is now at glibc 2.28](https://packages.debian.org/source/buster/glibc), so it is safe to assume that nobody needs this anymore.

This also fixes garbage on the terminal on musl systems, where `ldd --version` is not supported (and output on `stderr` was not redirected to `/dev/null`).

### Testing procedure

The CI will check if this breaks the `native` board.

### Issues/PRs references

None

Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
2023-01-09 16:25:25 +00:00
bors[bot]
e2538a898a
Merge #19076
19076: boards/hip-badge: add HiP Badge board definition r=maribu a=benpicco



Co-authored-by: Benjamin Valentin <benpicco@beuth-hochschule.de>
2023-01-09 13:33:40 +00:00
Marian Buschsieweke
4acc9d9c89
boards/native: Drop backward compatibility code for glibc <= 2.17
Even Debian oldstable is now at glibc 2.28, so it is safe to assume that
nobody needs this anymore.

This also fixes garbage on the terminal on musl systems, where
`ldd --version` is not supported (and output on `stderr` was not
redirected to `/dev/null`).
2023-01-09 14:13:59 +01:00
Benjamin Valentin
82d7368415 boards/hip-badge: add HiP Badge board definition 2023-01-09 14:08:22 +01:00
bors[bot]
79837e2dd4
Merge #19090 #19111
19090: boards/hamilton: Add minimal doc r=benpicco a=maribu

### Contribution description

The doc of the board is still suboptimal, but at least an image to identify what board this is and a link to further information is a starting point.

### Testing procedure

The static tests will do.

### Issues/PRs references

None.

19111: boards/common/nrf52: Fix detection of JLinkExe r=kaspar030 a=maribu

### Contribution description

For nRF52 J-Link was intended to be preferred as programmer over OpenOCD when both are available, but falling back to OpenOCD when JLinkExe is not found in `$PATH`. However, there was call the shell missing to actually detect `JLinkExe`.

### Testing procedure

E.g. `make BOARD=nrf52840dk -C examples/default flash` should use J-Link again as default when both are installed.

### Issues/PRs references

None

Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
2023-01-08 22:55:06 +00:00
Marian Buschsieweke
6551b03640
boards/common/nrf52: Fix detection of JLinkExe
For nRF52 J-Link was intended to be preferred as programmer over OpenOCD
when both are available, but falling back to OpenOCD when JLinkExe is
not found in `$PATH`. However, there was call the shell missing to
actually detect `JLinkExe`.
2023-01-08 20:16:27 +01:00
Marian Buschsieweke
90abf7c9a1
boards/hifive1b: Add TTY_BOARD_FILTER
This allows to reliably select the TTY of a connected HiFive board even
when multiple boards are connected, provided `MOST_RECENT_PORT=1` is
set.
2023-01-08 20:13:13 +01:00
Marian Buschsieweke
1814bcd211
boards/hifive1b: Clean up flashing parameters
- OpenOCD and J-Link flash configuration can be provided
  unconditionally, as those variables do not conflict with any others
- Only use J-Link as default flasher if actually installed
2023-01-08 20:13:13 +01:00
Gunar Schorcht
dd0593a3c8 cpu/gd32v: fix clock setting
Setting the `RCU_CTL` register just to the IRC8M bit also removes the IRC8M calibration and trim adjust value in this register. Therefore IRC8M calibration and trim adjust value have to be preserved and the IRC8M has to be set.
2023-01-08 10:42:01 +01:00
bors[bot]
d193988db2
Merge #19105
19105: Documentation: Document PWM and other Peripherals for Weact STM32F4x1Cx boards r=maribu a=jhaand

### Contribution description
The  Weact boards with STM32F4x1Cx MCU's have their PWM outputs enabled. But these currently do not show in the the documentation. This PR updates the documentation for these 3 boards.  

### Testing procedure
I rebuild the documentation with `make doc` and checked the resulting 3 html files. 

### Issues/PRs references
Fixes this issue: https://github.com/jhaand/RIOT/issues/1
Also referred to in this issue: https://github.com/RIOT-OS/RIOT/issues/19103

### Context
Discussed `@maribu` and `@benpicco` on matrix [link](https://matrix.to/#/!pqHdpanAvkJvlCwUDE:matrix.org/$lEMfOAG5rGGrkEjfJcsg0nC1Ebj4vlitvH9zm8uP-NM?via=matrix.org&via=rubdos.be&via=schleiser.de)


Co-authored-by: Jelle Haandrikman <jhaand@freedom.nl>
2023-01-07 10:28:49 +00:00
Jelle Haandrikman
443cafd2d5 boards/stm32f4x1xx: Improve documentation 2023-01-06 23:10:26 +01:00
Marian Buschsieweke
1c8f439f7a
boards/hamilton: Add minimal doc
The doc of the board is still suboptimal, but at least an image to
identify what board this is and a link to further information is a
starting point.
2023-01-06 22:56:28 +01:00
Marian Buschsieweke
527f7be65b
boards/hamilton: Fix TMP00x parameters
The TMP006 driver has been renamed to TMP00x, as it (now) supports both
TMP006 and TMP007 infrared thermopile sensors. However, the board
configuration was never updated to match the new names. This fixes the
issue.
2023-01-06 15:53:25 +01:00
bors[bot]
745973d594
Merge #19014 #19094
19014: boards/qn9080dk: add TTY_BOARD_FILTER r=kaspar030 a=maribu

### Contribution description

With `MOST_RECENT_PORT=1` the TTY interface of the most recently connected board with an embedded NXP debugger is selected. If only a single board with an embedded NXP debugger is selected, this will automatically connect to the correct board using:

```
make term MOST_RECENT_PORT=1
```

### Testing procedure

Run `make term MOST_RECENT_PORT=1` with a qn9080dk board and some non-NXP boards attached. It should reliably select the qn9080dk regardless of TTY names and order they were connected.

### Issues/PRs references

None

19094: dist/tools/doccheck: Reduce noise r=benpicco a=maribu

### Contribution description

This adds central documentation of driver initialization parameters in `driver/foo/include/foo_params.h` where missing for drivers used by the Hamilton board. In addition, the macros to overwrite the default parameters are no longer expected to be documented by adding generic exclude patterns. The reasoning is that having the macros documented once is sufficient.

### Testing procedure

Static tests should pass

### Issues/PRs references

Required to get https://github.com/RIOT-OS/RIOT/pull/19090 in

Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
2023-01-05 22:26:18 +00:00
bors[bot]
170dd0300f
Merge #17919
17919: board/microbit: increase testtimeout for emulated testing r=benpicco a=kfessel

### Contribution description

this increases the timeout for tests run by murdock on emulated microbit (accounting for startup of qemu)

### Testing procedure

murdock

### Issues/PRs references

#17894 

Co-authored-by: Karl Fessel <karl.fessel@ovgu.de>
2023-01-05 19:45:29 +00:00
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
Gunar Schorcht
0fbe9f6dfd boards/common/samdx1-arduino-bootloader: use any CDC ACM interface 2023-01-03 10:05:54 +01:00
Marian Buschsieweke
d2a3ff3d83
boards/{bluepill*,blackpill*}: rename and improve doc
- renamed:
    - `bluepill` --> `bluepill-stm32f103c8`
    - `bluepill-128kib` --> `bluepill-stm32f103cb`
    - `blackpill` --> `blackpill-stm32f103c8`
    - `blackpill-128kib` --> `blackpill-stm32f103cb`
- doc:
    - added link to corresponding hardware page on the STM32-base
      project
    - added picture
2023-01-02 16:23:10 +01:00
bors[bot]
f539035c86
Merge #18756
18756: drivers/usbdev_synopsys_dwc2: add EFM32 support r=chrysn a=gschorcht

### Contribution description

This PR provides the changes for the Synopsys USB OTG IP core DWC2 driver for EFM32 MCUs. It also provides the changes of the board definition for `stk3600` and `stk3700` for testing.

### Testing procedure

`tests/usbus_hid` should work on the EFM32 boards `stk3600` (EFM32LG family) and `stk3700` (EFM32GG family).

It is already tested for a `sltb009a` board (EFM32GG12 family).

### Issues/PRs references


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2022-12-19 12:55:57 +00:00
bors[bot]
a0f823c553
Merge #19023
19023: pkg/tinyusb: fix Kconfig problems r=maribu a=gschorcht

### Contribution description

This PR tries to fix the [problems with `tinyUSB` in nightlies](https://ci.riot-os.org/details/d11b383ba0cd45048ed6f8d98abbc0de).
- The `tinyusb_device` feature had to be moved from `boards/common/arduino-zero` definition to the `boards/arduino-zero` definition because the common `arduino-zero` features are also used by `wemos-zero` which uses the `highlevel_stdio` feature via the `stdio_cdc_acm` module.
- The `tinyusb_device` feature had to be removed from Kconfig of board `stm32f429i-disco` since it uses the `highlevel_stdio` feature via the `stdio_cdc_acm` module.

### Testing procedure

Green CI

### Issues/PRs references


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2022-12-13 10:27:45 +00:00
krzysztof-cabaj
d11a6409fe boards/rpi-pico: doc - fix link to datasheet 2022-12-12 06:02:55 -05:00
Gunar Schorcht
b805709791 boards/stm32f429i-disc1: disable tinyusb feature for stm32f429i-disco 2022-12-12 06:37:53 +01:00
bors[bot]
268e931f1c
Merge #19012
19012: boards/arduino-mega2560: add TTY_BOARD_FILTER r=gschorcht a=maribu

### Contribution description

This allows automatically selecting TTY actually belonging to an
Arduino Mega2560 if `MOST_RECENT_PORT=1` is set.

### Testing procedure

```
make BOARD=arduino-mega2560 MOST_RECENT_PORT=1 -C examples/default flash term
```

Should automatically select the TTY of the most recently connected Arduino Mega2560, even if a board of a different type is connect more recently.

### Issues/PRs references

- [x] depends on (and includes) https://github.com/RIOT-OS/RIOT/pull/19011

Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
2022-12-11 18:20:38 +00:00
Marian Buschsieweke
dadf22f07a
boards/arduino-mega2560: add TTY_BOARD_FILTER
This allows automatically selecting TTY actually belonging to an
Arduino Mega2560 if `MOST_RECENT_PORT=1` is set.

Note: Unless `ARDUINO_MEGA2560_COMPAT_WITH_CLONES` is set to `0`,
this will fall back to detecting any cheap USB UART bridge typically
found in Arduino Mega 2560 clones if no genuine Arduino Mega is found.
2022-12-11 18:58:19 +01:00
krzysztof-cabaj
185c44e42d boards/nucleo-l496zg: doc improvement 2022-12-10 11:41:45 -05:00
Gunar Schorcht
c7e6e3714d board/sltb009a: enable feature periph_usbdev 2022-12-07 16:34:34 +01:00
Gunar Schorcht
7651e68db9 boards/common/silabs: add common USB OTG FS config 2022-12-07 16:34:34 +01:00
Gunar Schorcht
f085a87c51 board/stk3600: enable feature periph_usbdev 2022-12-07 16:34:34 +01:00
Gunar Schorcht
a9afc97bb2 board/stk3700: enable feature periph_usbdev 2022-12-07 16:34:34 +01:00
Gunar Schorcht
0b1b7e8408 boards/arduino-zero: move tinusb_device feature
The `tinyusb_device` feature introduced with PR #18689 has to be moved from `common/arduino-zero` definition to the `arduino-zero` definition because the common `arduino-zero` features are also used by `wemos-zero` which uses `highlevel_stdio` feature via the `stdio_cdc_acm` module.
2022-12-07 13:56:24 +01:00
Marian Buschsieweke
08725d65cc
boards/qn9080dk: add TTY_BOARD_FILTER
With `MOST_RECENT_PORT=1` the TTY interface of the most recently
connected board with an embedded NXP debugger is selected. If only
a single board with an embedded NXP debugger is selected, this will
automatically connect to the correct board using:

```
make term MOST_RECENT_PORT=1
```
2022-12-05 11:20:39 +01:00
Gunar Schorcht
44893a37e4 boards/common/weact-f4x1cx: remove tinyUSB feature
weact-f4xcx boards have only a single USB-C connector that is used for `highlevel_stdio` via USBUS CDC ACM so that it conflicts with tinyUSB for the moment.
2022-12-04 16:23:02 +01:00
Gunar Schorcht
5c38fafee4 boards/stm32f723e-disco: fix periph_uart_hw_fc use
Enabling module `periph_uart_hw_fc` makes only sense if module `periph_uart` is used.
2022-12-04 16:06:14 +01:00
Gunar Schorcht
93215df868 sys/usb/usbus: enable USBUS stdio_cdc_acm only if tinyUSB is not used 2022-12-03 12:52:45 +01:00
Gunar Schorcht
9fa01d69d8 boards/common/blxxxpill: enable riotboot feature 2022-11-30 19:28:14 +01:00
Gunar Schorcht
941d6be666 boards: make DFU_USB_ID and DFU_USE_DFUSE overridable 2022-11-30 19:28:14 +01:00
Marian Buschsieweke
317b12af34
Merge pull request #18986 from maribu/boards/qn9080dk
boards/qn9080dk: add default OPENOCD_DEBUG_ADAPTER
2022-11-28 17:42:30 +01:00
Marian Buschsieweke
e94fdf129f
boards/qn9080dk: add default OPENOCD_DEBUG_ADAPTER
The board has integrated debugger:

    1fc9:0090 NXP Semiconductors LPC-LINK2 CMSIS-DAP V5.173

This commit changes the default debug adapter to this one.
2022-11-28 13:38:59 +01:00
krzysztof-cabaj
d7c56670d3 boards/nucleo-g071rb: improve ADC doc 2022-11-28 05:07:25 -05:00
krzysztof-cabaj
2d4ab71a3e boards/nucleo-g070rb: improve ADC doc 2022-11-28 05:07:25 -05:00
krzysztof-cabaj
66357132e4 boards/nucleo-l476rg: improve ADC doc 2022-11-26 17:30:47 -05:00
krzysztof-cabaj
fce4d350cd boards/nucleo-l496zg: move vbat divider info to main section 2022-11-26 17:30:47 -05:00
krzysztof-cabaj
633743240d boards/nucleo-l4r5zi: add doxygen info about Vbat divider 2022-11-26 17:30:47 -05:00
Juergen Fitschen
d9cde14669 treewide: fix typos found by recent codespell 2022-11-24 14:53:48 +01:00
Juergen Fitschen
a6ff838a4b
Merge pull request #18933 from jue89/feature/cpu_efm32_series_2_adc
cpu/efm32: add periph_adc support for Gecko Series 2
2022-11-24 11:32:56 +01:00
Marian Buschsieweke
778f566210
Merge pull request #18958 from benpicco/boards/pwm-style
boards/sam*-xpro: fix style of PWM config
2022-11-24 07:32:40 +01:00
benpicco
86d72c7b85
Merge pull request #18940 from krzysztof-cabaj/nucleo-l496zg-ADC
boards/nucleo-l496zg: add ADC support
2022-11-23 20:34:08 +01:00
Benjamin Valentin
07b3ccbc6a boards/samd21-xpro: fix style of PWM config 2022-11-23 14:06:30 +01:00
Benjamin Valentin
90b0607f18 boards/same54-xpro: fix style of PWM config 2022-11-23 13:53:46 +01:00
Benjamin Valentin
58e37a7c58 boards/saml21-xpro: fix style of PWM config 2022-11-23 13:53:32 +01:00
Benjamin Valentin
f878f11193 boards/samr21-xpro: fix style of PWM config 2022-11-23 13:53:14 +01:00
Marian Buschsieweke
232c70ba53
Merge pull request #18948 from maribu/boards/common/nrf52
boards/common/nrf52: fix timer config
2022-11-23 10:47:26 +01:00
Juergen Fitschen
ab86198112 boards/xg23-pk6068a: add ADC lines 2022-11-22 14:44:56 +01:00
Marian Buschsieweke
51b6379dee
boards/common/nrf52: fix timer config
The `channels` member should not be set to the number of hardware
channels *n*, but to *n* - 1 instead. The last channel is implicitly
used in `timer_read()`. Hence out of *n* hardware channels, only *n* - 1
are available to the application.

This fixes a bug introduced by 4d02e15247
which incorrectly set the channel number to *n* rather than to
*n* - 1.
2022-11-22 13:20:53 +01:00
Jue
2a81a2ab5c cpu/efm32: provide periph_uart_modecfg feature for every board 2022-11-21 23:20:19 +01:00
krzysztof-cabaj
c7cd72c0bc boards/nucleo-l496zg: add ADC support 2022-11-21 08:35:05 -05:00
64dcfd67ff
Merge pull request #18811 from maribu/boards/common/nrf52
boards/common/nrf52: improve default clock config
2022-11-21 09:33:47 +00:00
benpicco
f533b3f282
Merge pull request #18929 from krzysztof-cabaj/nucleo-l476rg-doc
boards/nucleo-l476zg: doc improvements
2022-11-18 12:20:07 +01:00
krzysztof-cabaj
42104b79fb boards/nucleo-l476zg: doc improvements 2022-11-17 16:08:20 -05:00
Marian Buschsieweke
35149bd1c2
Merge pull request #18797 from MrKevinWeiss/pr/fixstmclk
cpu/stm32: Fix stm clock configuration
2022-11-15 11:39:25 +01:00
Gregory Holder
dde641fded
boards/dwm1001: use lis2dh12_i2c instead of lis2dh12_spi 2022-11-09 09:36:09 +00:00
krzysztof-cabaj
cfd0183f60 boards/nucleo-f207zg: add ADC support 2022-11-04 18:02:28 -04:00
MrKevinWeiss
464f57b4a3
boards: Remove PLL overrides in kconfig
Since we know the HSE speed, manual overrides are not needed anymore
2022-11-03 13:38:09 +01:00
MrKevinWeiss
fe5892d042
boards/stm32f7508-dk: Add STM32_ETH in kconfig 2022-11-03 11:37:32 +01:00
MrKevinWeiss
17cce015d4
treewide/stm32: Make CLOCK_HS* configurable 2022-11-03 11:37:28 +01:00
Juergen Fitschen
84c89f9dd7
Merge pull request #18783 from jue89/fix/ztimer_lptimer_kconfig
sys/ztimer: model ztimer_periph_lptimer for Kconfig
2022-11-02 13:56:05 +01:00
Jue
ef3e192bc0 boards/xg23-pk6068a: provide ZTIMER_LPTIMER configuration 2022-11-01 14:26:29 +01:00
benpicco
a21f05aeff
Merge pull request #18818 from blueted2/pr/board/dwm1001_gpio_params
boards/dwm1001: add saul_gpio support
2022-10-30 00:04:17 +02:00
Gregory Holder
f17bd43a1f boards/dwm1001: add saul_gpio support
boards/dwm1001: rename "@ingroup" to match board.h

boards/dwm1001: correct documentation

added "HAVE_SAUL_GPIO"
2022-10-29 20:23:52 +01:00
krzysztof-cabaj
ebcceb67b6 boards/cc1350-lauchpad: fix conflict with PR #18808 2022-10-28 09:27:55 -04:00
krzysztof-cabaj
9cd76fd75c boards/cc1352p: remove broken HTML links and headings from doc 2022-10-28 08:57:17 -04:00
krzysztof-cabaj
f46a5fd1f6 boards/cc2650: remove broken HTML links and headings from doc 2022-10-28 08:57:17 -04:00
krzysztof-cabaj
ce398695c6 boards/cc1352: remove broken HTML links and headings from doc 2022-10-28 08:57:17 -04:00
krzysztof-cabaj
0b6a9a87ad boards/cc1312: remove broken HTML links and headings in doc 2022-10-28 08:57:17 -04:00
benpicco
bfc8c09031
Merge pull request #18808 from krzysztof-cabaj/cc1350-doc
boards/cc1350: add info concerning shell access
2022-10-28 12:14:20 +02:00
benpicco
ed1d8e0a3d
Merge pull request #18785 from maribu/boards/blxxxpill/periph_conf
boards/common/blxxxpill: Fix pin conflicts in periph_conf
2022-10-27 21:22:10 +02:00
Marian Buschsieweke
4d02e15247
boards/common/nrf52: improve default clock config
- All nRF52 timers support 32 bit mode, so use that
- All nRF52 timers support at least 4 channels, the timers NRF_TIMER3
  and NRF_TIMER4 even support 6 channels.
- Add a warning that `TIMER_DEV(1)` is used by the IEEE 802.15.4 driver
2022-10-27 21:12:19 +02:00
Marian Buschsieweke
051a1f1e32
boards/common/blxxxpill: rework periph configuration
The peripheral configuration has been completely reworked to resolve
pin conflicts while provided as much of the peripherals as possible.
The changes include:

- Move `I2C_DEV(0)` from PB6/PB7 to PB8/PB9 to solve pin conflict with
  `QDEC_DEV(2)`.
- Use pins PB0, PB1, PB4, and PB5 for PWM instead PA8, PA9, PA10, and
  PA11
    - PA9 and PA10 is in pin conflict with `UART_DEV(0)` which is used
      for stdio with `stdio_uart`, PA8 was in conflict with
      `QDEC_DEV(0)`, PA11 was in conflict with USB D-
- Use PB6, PB7 as `QDEC_DEV(0)` (previously `QDEC_DEV(2)`), as this is
  the only completely conflict free setting
- Use PB4/PB5 instead of PA6/PA7 for QDEC_DEV(1)
    - This fixes a pin conflict with `SPI_DEV(0)` MISO (and
      `ADC_LINE(4)`)
- Only provide QDEC at PB4/PB5 when PWM is not used to avoid conflict
- Only provide QDEC at PA8/PA9 when UART is not used to avoid conflict
- Use SPI2 (PB15, PB14, PB13, PB12) as `SPI_DEV(0)` instead of SPI1,
  use SPI1 (PA7, PA6, PA5, PA4) as `SPI_DEV(1)`
- Only provide `SPI_DEV(1)` if the ADC is not in used to resolve a
  pin conflict
- Move PB0 and PB1 at the end of the ADC lines (previously
  `ADC_LINE(6)` and `ADC_LINE(7)`, now `ADC_LINE(8)` and `ADC_LINE(9)`)
   - Only provide them when PWM is not in use (to resolve pin conflict
     with PWM)
   - Also do not provide them for the Blackpill boards, which are
     missing pins PB0 and PB1 on the headers

To make life of users easier, a Pinout diagram with the new
configuration was added.
2022-10-27 14:28:07 +02:00
MrKevinWeiss
6b5c75cad4
boards/blxxpill-128kib: Fix kconfig mismatch
Nightlies are failing due to kconfig mismatch.
It would seem this is a result of bringing in the USB stuff.
I assume that this uses ztimer periph_timer as a backend as periph_timer is already selected.
However, kconfig only resolves one and not recursively making it hard to match.
For not a hack is added to override for these boards.
2022-10-27 14:07:32 +02:00
krzysztof-cabaj
ec00a1b0c2 boards/cc1350-launchpad: fix trailing whitespace 2022-10-26 16:26:45 -04:00
Juergen Fitschen
0151279ffe
Merge pull request #18780 from jue89/feature/efm32-series2
EFM32: add cpu family EFR32ZG23 and board xG23-PK6068A
2022-10-26 19:18:30 +02:00
benpicco
55766f28eb
Merge pull request #18781 from gschorcht/pkg/tinyusb_nrf52
pkg/tinyusb: add nrf52 support
2022-10-26 11:59:18 +02:00
benpicco
f34ceb923c
Merge pull request #18792 from spectraphilic/lora-e5-arduino
boards/lora-e5-dev: add arduino feature
2022-10-26 11:58:51 +02:00
Jue
77ee1c55bc boards/xg23-pk6068a: initial commit 2022-10-26 11:27:22 +02:00
krzysztof-cabaj
5603c74ebd boards/cc1350: add info concerning shell access 2022-10-25 15:50:33 -04:00
J. David Ibáñez
739c9a91fd boards/lora-e5-dev: add arduino feature 2022-10-24 12:16:47 +02:00
Gunar Schorcht
9fbf9bff8c boards/nucleo-f303ze: enable tinyUSB support 2022-10-23 22:33:51 +02:00
Gunar Schorcht
558d4840c7 boards/p-nucleo-wb55: enable tinyUSB support 2022-10-23 22:33:51 +02:00
Gunar Schorcht
4d1f4347d9 boards: enable feature tinyusb_device for nRF52 boards
Since tinyUSB is not compatible with periph_usbdev, it can only be used on nRF52 boards that don't use highlevel_stdio.
2022-10-21 18:09:38 +02:00
Gunar Schorcht
3680546d89 boards/stm32f7508-dk: enable tinyUSB feature 2022-10-21 11:43:55 +02:00
Gunar Schorcht
7e166c638f boards/stm32f746g-disco: enable tinyUSB feature 2022-10-21 11:43:55 +02:00
Gunar Schorcht
7a6847edc7 boards: add SLTB009A EFM32GG12 Thunderboard Kit 2022-10-18 01:24:13 +02:00
0fca912e91
Merge pull request #18714 from gschorcht/drivers/usbdev_synopsys_dwc2_hs_utmi
drivers/usbdev_synopsys_dwc2: add support for internal UTMI HS PHY
2022-10-16 14:05:32 +02:00
Gunar Schorcht
f1bc9af67f board/stm32f723e-dsico: enable internal UMTI USB HS PHY feature 2022-10-16 11:35:42 +02:00
Gunar Schorcht
658d6b69b5 boards/common/stm32: add common configuration for internal USB HS PHY 2022-10-16 11:35:42 +02:00
Marian Buschsieweke
e26d1a085e
Merge pull request #18743 from benpicco/boards/blxxxpill-128kib_cdc-acm
boards/blxxxpill-128kib: default to CDC ACM for stdio
2022-10-15 23:40:58 +02:00
f8b2d42df8
Merge pull request #18451 from maribu/boards/im880b
boards/im880b: refactor code
2022-10-15 23:33:39 +02:00
benpicco
485dcbd24c
Merge pull request #18747 from krzysztof-cabaj/nucleo-l4r5zi-doc
boards/nucleo-l4r5zi: doc improvements
2022-10-15 15:39:00 +02:00
krzysztof-cabaj
ced17d419c boards/nucleo-l4r5zi: doc improvements 2022-10-15 06:50:55 -04:00
Benjamin Valentin
d2dbf9e853 boards/blxxxpill-128kib: default to CDC ACM for stdio
CDC ACM stdio adds 10k ROM and 2k RAM, so only enable it for the
larger board variants.
2022-10-14 15:22:52 +02:00
Marian Buschsieweke
ea0a53521f
Merge pull request #17812 from benpicco/boards/blxxxpill-usb
boards/blxxxpill: configure usbdev_fs
2022-10-14 01:10:23 +02:00
Benjamin Valentin
d3d89aaec8
boards/blxxxpill: configure usbdev_fs 2022-10-13 21:59:47 +02:00
Marian Buschsieweke
1bb6dab586
Merge pull request #18567 from benpicco/boards/samr21-xpro-edbg_uart
boards/samr21-xpro: add a note about EDBG UART limitation
2022-10-13 11:32:38 +02:00
MrKevinWeiss
e93cd15973
boards/pyboard: fix kconfig model usb clock 2022-10-10 12:35:29 +02:00
benpicco
d6d8f8dadb
Merge pull request #18679 from gschorcht/drivers/usbdev_synopsys_dwc2_hs
drivers/usbdev_synopsys_dwc2: add USB OTG HS peripheral support for external ULPI HS PHYs
2022-10-07 00:23:29 +02:00
benpicco
03ab49940b
Merge pull request #18689 from dylad/pr/pkg_tinyusb/add_sam0_support
pkg/tinyusb: add support for SAM0-based boards
2022-10-06 16:47:21 +02:00
Gunar Schorcht
4384403638 boards/common/esp32{s2,s3}: update USB OTG configuration 2022-10-06 06:26:22 +02:00
Gunar Schorcht
cc268401fb boards/stm32f7508-dk: enable ULPI HS PHY support for USB OTG HS port 2022-10-06 06:26:22 +02:00
Gunar Schorcht
958d8c904a boards/stmf746g-disco: enable ULPI HS PHY support for USB OTG HS port 2022-10-06 06:26:22 +02:00
Gunar Schorcht
d2f7fd6a0e boards/common/stm32: rename cfg_usb_otg_hs_fs.h to clarify the usage
The `fs` in the file name means that on-chip FS PHY is configured for USB OTG HS. The file is renamed to `cfg_usb_otg_hs_phy_fs.h`
- to clarify that USB OTG HS is just configured with PHY FS and not HS and FS,
- to allow a configuration of USB OTG FS and HS in one file called `cfg_usb_otg_hs_fs.h` or whatever, and
- to allow a configuration of USB OTG HS with ULPI PHY in a file called `cfg_usb_otg_hs_phy_ulpi.h`.
f
2022-10-06 06:25:38 +02:00
Dylan Laduranty
4e39ba4c7a boards/sam0-based: enable tinyusb_device support in Kconfig
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2022-10-05 20:14:02 +02:00
Dylan Laduranty
b17197fe53 boards/sam0-based: enable tinyusb_device support in Makefiles.features
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2022-10-05 19:23:37 +02:00
Gunar Schorcht
bc94881a91 boards/nucleo-f303: add periph_usbdev support 2022-10-05 09:15:29 +02:00
Gunar Schorcht
1fde5a4401 cpu/stm32/periph/usbdev_fs: support GPIO for USB connect/disconnect
Since some STM32 MCU don't have internal D+ pullup, there are boards that use a GPIO for USB bus connect/disconnect.
2022-10-05 09:15:29 +02:00
benpicco
429ee839cc
Merge pull request #18676 from krzysztof-cabaj/nucleo-l4r5zi-ADC
boards/nucleo-l4r5zi:  support for ADC
2022-10-04 13:26:16 +02:00
Dylan Laduranty
11aebb6003
Merge pull request #18592 from gschorcht/pkg/tinyusb
pkg/tinyusb: add tinyUSB as package
2022-10-04 13:08:36 +02:00
Gunar Schorcht
9cf0119233 pkg/tinyusb: add tinyusb_hw_defaults.h for platform specific defaults 2022-10-04 07:40:18 +02:00
krzysztof-cabaj
3a23f2632e boards/nucleo-l4r5zi: add ADC support 2022-10-03 17:13:20 -04:00
benpicco
a37fe464d2
Merge pull request #18673 from gschorcht/boards/stmf746g_disco/led
boards/stm32f746g-disco: add LD1 as LED0 definition
2022-10-01 23:19:57 +02:00
Gunar Schorcht
990feeec39 boards: enable feature tinyusb_device for STM32 boards 2022-09-30 19:05:51 +02:00
Gunar Schorcht
2be7609677 boards: enable feature tinyusb_device for ESP32 boards 2022-09-30 19:05:51 +02:00
3ee3d1b9ac
Merge pull request #18562 from MrKevinWeiss/pr/removemips
cpu/mips: Remove all mips
2022-09-30 10:47:09 +02:00
Gunar Schorcht
b04c84765b boards/stm32f746g-disco: add LD1 as LED0 definition
LED LD1 has no special function on the board STM32F746-DISCO and therefore can be used freely. This LED is also defined as ARDUINO LED pin D13 in the schematic.
2022-09-30 08:47:58 +02:00
benpicco
45afb8f986
Merge pull request #18644 from gschorcht/drivers/synopsys_dwc2
drivers: add driver for Synopsys DWC2 that is used as USB OTG peripheral on STM32 and ESP32x SoCs
2022-09-29 04:44:32 +02:00
benpicco
81a00f0056
Merge pull request #18658 from benpicco/cpu/sam0_adc-rework
cpu/sam0_common: adc: drop pin from adc_conf_chan_t
2022-09-28 17:27:38 +02:00
Gunar Schorcht
13eadda64a boards/esp32s3-devkit: add feature periph_usbdev 2022-09-28 17:00:12 +02:00
Gunar Schorcht
16853b6339 boards/esp32s2-devkit: add feature periph_usbdev 2022-09-28 17:00:12 +02:00
benpicco
bc9ba2c63a
Merge pull request #18611 from spectraphilic/remote-revb-mtd
boards/remote-revb: define default MTD device
2022-09-28 12:43:27 +02:00
Benjamin Valentin
2c9a3857d9 boards: convert sam0 boards to new adc_conf_chan_t 2022-09-27 22:43:31 +02:00
MrKevinWeiss
6cad5d2477
cpu/mips: Remove all mips 2022-09-27 13:42:37 +02:00
Gunar Schorcht
293d62ac45 boards/common/esp32: use usbdev_synopsys_dwc2 driver as periph_usbdev 2022-09-27 01:00:57 +02:00
Gunar Schorcht
641e343f7d boards/common/stm32: use usbdev_synopsys_dwc2 driver as periph_usbdev 2022-09-27 01:00:57 +02:00
benpicco
2039a10e71
Merge pull request #18646 from maribu/boards/nrf52dk
boards/nrf52dk: fix doc
2022-09-26 15:11:09 +02:00
Marian Buschsieweke
b8936c7895
boards/nrf52dk: fix doc
The board definition of the `nrf52dk` was likely created for some clone
board. However, an official board name nRF52 DK provided by Nordic
also exists. This resulted in previous contributors in confusing this
with the official board and "fixing" the board definition to match
the nRF52 DK board.

Or maybe it always has been meant to be the official board and someone
just added a wrong image to it.

In either case, this brings the documentation back in alignment with
the code by replacing references to some random clone board and the
image of the random clone board with those to/of the official Nordic
nRF52 DK board.
2022-09-26 14:10:57 +02:00
J. David Ibáñez
630c4a0474 boards/remote-revb: define default MTD device 2022-09-26 13:46:14 +02:00
benpicco
782aa52566
Merge pull request #18647 from krzysztof-cabaj/nucleo-f446ze-ADC
boards/nucleo-f446ze: add support for ADC
2022-09-26 13:22:56 +02:00
krzysztof-cabaj
034791d767 boards/nucleo-f446ze: add VBAT config 2022-09-26 07:18:41 -04:00
krzysztof-cabaj
e995099190 boards/nucleo-f446ze: add ADC support 2022-09-26 06:41:49 -04:00
J. David Ibáñez
1ce7537d9e
boards/waspmote-pro: add sdcard configuration 2022-09-23 18:09:12 +02:00
Marian Buschsieweke
023b6ae7cf
cpu/atxmega: fix building with avr-libc 2.1.0
Due to the lack of new official avr-libc releases (which includes the
vendor header files needed to support different version of MCUs),
support for new MCUs was lacking. Distributions such as Debian addressed
this by extending the upstream code with vendor header files directly
obtained from Atmel / Microchip, but without paying attention to
details. As such, a naming inconsistency (ASIZE vs ASPACE) between
officially supported MCUs and new MCUs was introduced.

Now that avr-libc 2.1.0 is officially released, hardware support for new
MCUs is provided by upstream out of the box and only ASIZE is used as
name. This commit adds a bit of glue code to create aliases for ASIZE on
older avr-libc versions where needed. This fixes compilation with the
new avr-libc release and results in more consistent code.
2022-09-22 13:56:53 +02:00
benpicco
cbee5f4b96
Merge pull request #18615 from spectraphilic/remote-revb-docs-pinout
boards/remote-revb: fix pinout image in doc.txt
2022-09-21 19:58:16 +02:00
J. David Ibáñez
1a640a4cdb boards/remote-revb: fix pinout image in doc.txt 2022-09-21 09:21:35 +02:00
Benjamin Valentin
f39e502eaf boards: drop unused BTN0_PORT define 2022-09-20 18:08:55 +02:00
Karl Fessel
da51932737 boards: add some missing whitespaces for static tests 2022-09-14 15:11:14 +02:00
Karl Fessel
05f114d0af doc: fix unbalaced grouping
- most were trivial
    - missing group close or open
    - extra space
    - no doxygen comment
- name commad might open an implicit group
    this hould also be implicit cosed but does not happen somtimes
- crazy: internal declared groups have to be closed internal
2022-09-14 15:05:25 +02:00
Marian Buschsieweke
77270e241a
boards/common/stm32: Fix LED configuration
The inverted and non-inverted `LED<num>_ON` and `LED<num>_OFF` macros
are swapped. This didn't reveal in testing as the
`LED<num>_IS_INVERTED` macros where not properly evaluated, due to a
typo in the check. This fixes both.
2022-09-13 08:34:31 +02:00
Benjamin Valentin
0262715c03 boards/samr21-xpro: add a note about EDBG UART limitation 2022-09-07 13:29:51 +02:00
Gunar Schorcht
18cf35b16f cpu/esp32: fix default BOARD_VERSION setting 2022-08-30 15:08:39 +02:00
Gunar Schorcht
1862d4e6b8 boards/esp32s2-devkit: add board definition for ESP32-S2-DevKit 2022-08-30 15:08:39 +02:00
Gunar Schorcht
d85e9b3cc4 boards/common: add common board definition for ESP32-S2 2022-08-29 17:19:39 +02:00
benpicco
82f7598167
Merge pull request #18492 from benpicco/boards/samr34-xpro_nor
boards/samr34-xpro: configure SPI NOR flash
2022-08-26 13:37:26 +02:00
Benjamin Valentin
9912790a68 boards/samr34-xpro: configure SPI NOR flash 2022-08-26 11:51:30 +02:00
Marian Buschsieweke
8d1476933b
Merge pull request #18415 from maribu/boards/common/stm32
boards/common/stm32: clean up LED definitions
2022-08-25 20:17:44 +02:00
benpicco
00ede8f7d2
Merge pull request #18421 from gschorcht/cpu/esp32/add_esp32s3_cpu_support
cpu/esp32: add support for ESP32-S3
2022-08-22 17:33:05 +02:00
Leandro Lanzieri
2dd59236c8
Merge pull request #18423 from MrKevinWeiss/pr/disable/hashchecks
.murdock: disable hash checks of kconfig/make
2022-08-17 18:30:36 +02:00
MrKevinWeiss
40f4950f85
drivers/at24cxxx: Fix kconfig model 2022-08-17 14:37:21 +02:00
Gunar Schorcht
9e9a227e49 boards/esp32s3: add ESP32-S3-DevKit board definition 2022-08-17 02:04:07 +02:00
Gunar Schorcht
84a1dec4f3 boards/common: add common board definition for ESP32-S3 2022-08-17 02:04:07 +02:00
benpicco
0aff42c682
Merge pull request #18383 from jia200x/pr/kw2xrf_radio_hal
drivers/kw2xrf: add support for IEEE 802.15.4 Radio HAL
2022-08-16 11:42:03 +02:00
Marian Buschsieweke
2cc8176f1d
boards/im880b: refactor code
Using the common STM32 board makefile provides all supported
programmers for STM32 boards. This allows e.g. to flash with
stm32flash via `make BOARD=im880b PROGRAMMER=stm32flash flash`.
2022-08-12 19:33:48 +02:00
Marian Buschsieweke
a1ed6f3b78
boards/common/blxxxpill: use UART_DEV(0) for stdio
Using `UART_DEV(0)` (UASRT1) for stdio allows to use the same TTL
adapter that is used for programming via `stm32flash` to be used for
serial, without re-wiring after flashing.
2022-08-12 19:13:29 +02:00
Jose Alamos
62bdcaf3f3
boards/pba-d-01-kw2x: define RST pin 2022-08-12 11:12:13 +02:00
Marian Buschsieweke
2601eb3f06
Merge pull request #18419 from krzysztof-cabaj/doc-nucleo64
boards/nucleo64: doc update - usage of cpy2remed programmer and short board overview
2022-08-10 01:36:58 +02:00
Marian Buschsieweke
1fd9913293
boards/common/stm32: clean up LED definitions
Let boards only define the port and pin number of each LEDs. The common
definitions in `stm32_leds.h` will provide `LED<x>_ON`, `LED<x>_OFF`,
`LED<x>_TOGGLE`, `LED<x>_PIN`, `LED<x>_MASK` and `LED<x>_PORT`.

In addition to code de-duplication, this also makes it easier to use
LEDs in GPIO LL, which can be beneficial for super low overhead
debugging output - e.g. when a bug is timing sensitive and `DEBUG()`
would spent to much time for stdio to reproduce a bug.
2022-08-08 23:35:06 +02:00
krzysztof-cabaj
fb17eb2c30 boards/nucleo-l476rg: add short board info and flashing commands 2022-08-08 12:07:54 -04:00
krzysztof-cabaj
6a0484fd52 boards/nucleo-l452re: add cpy2remed flashing commands 2022-08-08 11:51:46 -04:00
krzysztof-cabaj
bfa3786d47 boards/nucleo-l433rc: add short board info and flashing commands 2022-08-08 05:59:24 -04:00
krzysztof-cabaj
855a4a3551 boards/nucleo-wl55jc: add short board info and flashing commands 2022-08-08 05:48:05 -04:00
krzysztof-cabaj
a47d3c5de1 boards/nucleo-l152re: add short info and flashing commands 2022-08-06 10:32:44 -04:00
krzysztof-cabaj
aaccdaa357 boards/nucleo-l053r8: add short board info and flashing commands 2022-08-05 17:11:54 -04:00
krzysztof-cabaj
c725b6dd84 boards/nucleo-g474re: add short board info and flashing commands 2022-08-05 17:01:50 -04:00
Gunar Schorcht
0e58666e49 boards/common/esp32: remove SPIFFS defines with default values
All SPIFFS defines are already defined as defaults in
2022-08-05 22:26:44 +02:00
Gunar Schorcht
aa55f90311 boards/esp32c3: add ESP32-C3-DevKit board definition 2022-08-05 22:26:22 +02:00
Gunar Schorcht
f8c060e291 boards/common: add common board definition for ESP32-C3 2022-08-05 22:26:22 +02:00
benpicco
004ac82af5
Merge pull request #18394 from gschorcht/cpu/esp32/fix_kconfig_for_esp_eth
cpu/esp32: fix provided features and Kconfig for esp_eth
2022-08-05 19:47:03 +02:00
benpicco
cf745e954e
Merge pull request #18387 from gschorcht/cpu/esp32/cleanup_spi_flash_mode
cpu/{esp8266,esp32}: cleanup of SPI Flash configuration
2022-08-05 12:24:45 +02:00
krzysztof-cabaj
584d5a269d boards/nucleo64: change all memory sizes to KiB 2022-08-04 15:49:42 -04:00
krzysztof-cabaj
9797bb5b30 boards/g431rb: add short board info and flashing commands 2022-08-04 13:49:35 -04:00
Gunar Schorcht
d5040d4b1c boards/waveshare-nrf82540-eval-kit: add Kconfig 2022-08-04 10:04:54 +02:00
Gunar Schorcht
8419c0241f boards/waveshare-nrf52840-eval-kit: add SD card as MTD 2022-08-04 10:04:54 +02:00
Gunar Schorcht
93f60c4386 boards/waveshare-nrf82540-eval-kit: add Arduino support 2022-08-04 10:04:54 +02:00
Gunar Schorcht
3af0283279 boards/waveshare-nrf52840-eval-kit: add SAUL support 2022-08-04 10:04:54 +02:00
Gunar Schorcht
911905303b boards: support for the Waveshare nRF52840 Eval Kit 2022-08-04 10:04:54 +02:00
Marian Buschsieweke
4d6fb6e487
boards/nucleo-f767zi: add PWM config
This is a verbatim copy of the PWM config of `boards/nucleo-f746zg`.
However, those boards are almost identical. I successfully tested
the configuration via https://github.com/RIOT-OS/RIOT/pull/18392
2022-08-04 08:53:25 +02:00
krzysztof-cabaj
790bda0b87 boards/nucleo-g071rb: add short board info and flashing commands 2022-08-03 14:35:45 -04:00
krzysztof-cabaj
3febf21450 boards/nucleo-g070rb: add short board info and flashing commands 2022-08-03 14:24:53 -04:00
Gunar Schorcht
5b0b0e0a8e boards/esp32: replace HAS_PERIPH_ETH by HAS_ESP_ETH in Kconfig 2022-08-03 09:01:05 +02:00
Gunar Schorcht
3f7416dda1 boards/esp32: replace feature periph_eth by esp_eth 2022-08-03 06:38:44 +02:00
krzysztof-cabaj
9a9dd31e15 boards/nucleo-f446re: add cpy2remed flashing commands 2022-08-02 12:22:56 -04:00
Gunar Schorcht
ae16753f6f boards/esp*: replace FLASH_MODE_* by CONFIG_*FLASHMODE_* defines
The former FLASH_MODE_{DOUT,DIO,QOUT,QIO} defines are replaced by the corresponding CONFIG_FLASHMODE_{DOUT,DIO,QOUT,QIO} and CONFIG_ESPTOOLPY_FLASHMODE_{DOUT,DIO,QOUT,QIO} as used by the ESP-IDF. This is also needed for the migration of defining flash mode in Kconfig.
2022-08-02 07:24:30 +02:00
krzysztof-cabaj
ceb0f5a3fd boards/nucleo-f411re: add cpy2remed flashing commands 2022-08-01 13:14:27 -04:00
krzysztof-cabaj
9dadeea2b9 boards/nucleo-f410rb: add cpy2remed flashing commands 2022-08-01 12:48:11 -04:00
krzysztof-cabaj
3c90f86d08 boards/nucleo-f401re: add cpy2remed flashing commands 2022-08-01 12:20:14 -04:00
Dylan Laduranty
b278002a8e boards/saml11-xpro: update doc for SERCOM1 fuse
SAML11 needs special handling for enabling SERCOM1 on EXT1. Update board documentation accordingly

Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2022-07-28 22:42:26 +02:00
Leandro Lanzieri
b3ac6b7057
boards select cc2538 Kconfig feature 2022-07-28 09:32:25 +02:00
Leandro Lanzieri
8390641638
drivers/kw41zrf: model Kconfig 2022-07-28 09:32:24 +02:00
Leandro Lanzieri
c3501e8b35
drivers/kw2xrf: model Kconfig 2022-07-28 09:32:24 +02:00
Leandro Lanzieri
9225c4b80e
drivers/cc2420: model Kconfig 2022-07-28 09:32:24 +02:00
Leandro Lanzieri
7d95e9b5a9
drivers/at86rf2xx: model Kconfig 2022-07-28 09:32:24 +02:00
krzysztof-cabaj
c5d4004c53 boards/nucleo-f303re: add cpy2remed flashing commands 2022-07-26 07:10:34 -04:00
Leandro Lanzieri
1716638792
cpu/stm32/periph_eth: model in Kconfig 2022-07-25 11:08:32 +02:00
Leandro Lanzieri
88df973783
cpu/sam0_common/sam0_eth: model in Kconfig 2022-07-25 11:08:32 +02:00
Leandro Lanzieri
575e58dc5b
cpu/esp32/esp-eth: model in Kconfig 2022-07-25 11:08:32 +02:00
krzysztof-cabaj
54ea1fbf7c boards/nucleo-f302r8: add cpy2remed flashig commands 2022-07-22 16:29:04 -04:00
krzysztof-cabaj
636304bc66 boards/nucleo-f103rb: add cpy2remed flashing commands 2022-07-21 16:23:35 -04:00
krzysztof-cabaj
cffd2d0130 boards/nucleo-f091rc: add cpy2remed flashing commands 2022-07-20 02:40:41 -04:00
krzysztof-cabaj
624dee2ce1 boards/nucleo-f072rb: add cpy2remed flashing commands 2022-07-19 12:08:41 -04:00
krzysztof-cabaj
d8d27ed25a boards/nucleo-f070rb: add cpy2remed flashing commands 2022-07-18 17:39:20 -04:00
krzysztof-cabaj
f45ace72b8 boards/nucleo-f030r8: add cpy2remed flashing commands 2022-07-18 13:00:20 -04:00
Gunar Schorcht
06d3616710 cpu/esp32: move CPU_FAM definition to board definition
To support ESP32x SoC families with existing Makefiles, CPU_FAM has to be defined by board definition.
2022-07-18 13:05:21 +02:00
Gunar Schorcht
c0becd2819 cpu/esp32: port periph/i2c_hw to ESP-IDF i2c HAL 2022-07-17 18:48:23 +02:00
benpicco
94e9116c04
Merge pull request #18276 from gschorcht/cpu/esp32/periph_hal_esp32_pwm
cpu/esp32: use ESP-IDF ledc HAL for periph/pwm
2022-07-14 18:09:01 +02:00
Gunar Schorcht
77647ea10c boards/esp32: PWM configuration cleanup 2022-07-14 15:50:47 +02:00
Gunar Schorcht
2ae2facf90 cpu/esp32: port periph/pwm to ESP-IDF ledc HAL 2022-07-14 15:50:47 +02:00