1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/boards/common
bors[bot] a345e00fa6
Merge #19789 #19796 #19802 #19803
19789: cpu/nrf5x/periph/wdt: enable support for nRF53/nRF9160 r=benpicco a=dylad

### Contribution description

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


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


### Issues/PRs references
None.


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

### Contribution description

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

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

### Testing procedure

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

### Issues/PRs references

Includes PR #19795 

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

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


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

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


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

> 
> 
test_last_raw

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

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

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


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

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


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

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

### Issues/PRs references
None.

Co-authored-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-07-06 14:57:33 +00:00
..
arduino-atmega boards: Fix I2C Arduino mapping 2023-06-28 09:05:23 +02:00
arduino-due boards: Fix I2C Arduino mapping 2023-06-28 09:05:23 +02:00
arduino-mkr boards,sys/arduino: major clean up 2023-06-26 17:24:07 +02:00
arduino-zero boards,sys/arduino: major clean up 2023-06-26 17:24:07 +02:00
atmega doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
atxmega boards: drop empty custom board_init & empty board.c 2022-02-22 18:27:37 +01:00
blxxxpill boards/common/blxxxpill: Update pinout 2023-02-28 08:35:17 +01:00
cc26xx_cc13xx boards/common/cc26xx_cc13xx: Fix flashing with upstream OpenOCD 2023-01-10 22:39:35 +01:00
cc2538 boards/cc2538: set cc2538-bsl as supported programmer 2021-02-24 13:28:53 +01:00
e104-bt50xxa-tb boards/nrfxx: update LFCLK selection to be more generic 2023-07-06 15:41:34 +02:00
esp32 boards/common/esp32: use boards_common_esp32x 2023-03-30 07:27:13 +02:00
esp32c3 boards/common/esp32c3: use boards_common_esp32x 2023-03-30 07:06:13 +02:00
esp32s2 boards/common/esp32s2: use boards_common_esp32x 2023-03-29 18:42:34 +02:00
esp32s3 boards/common/esp32s3: use boards_common_esp32x 2023-03-29 18:42:34 +02:00
esp32x boards/common: add module boards_common_esp32x 2023-03-29 18:42:34 +02:00
esp8266 boards,sys/arduino: major clean up 2023-06-26 17:24:07 +02:00
frdm boards/frdm: set openocd as only supported programmer 2021-02-24 13:29:16 +01:00
gd32v boards/common/gd32v: enable riotboot feature 2023-04-18 06:20:14 +02:00
init boards: drop empty custom board_init & empty board.c 2022-02-22 18:27:37 +01:00
iotlab boards/common/iotlab: make use of l3g4200d_ng 2023-04-28 17:24:15 +02:00
kw41z drivers/kw41zrf: model Kconfig 2022-07-28 09:32:24 +02:00
makefiles boards/common/stdio_tinyusb_cdc_acm: let tests wait for serial port 2023-02-06 16:19:11 +01:00
microbit boards/common/microbit: fix doxygen grouping 2021-12-23 11:07:58 +01:00
msb-430 cpu/msp430: reorganize code 2023-06-19 17:14:57 +02:00
msba2 boards: set supported programmers 2021-02-24 13:30:34 +01:00
nrf51 boards/nrfxx: update LFCLK selection to be more generic 2023-07-06 15:41:34 +02:00
nrf52 boards/nrfxx: update LFCLK selection to be more generic 2023-07-06 15:41:34 +02:00
nrf52xxxdk boards: drop empty custom board_init & empty board.c 2022-02-22 18:27:37 +01:00
nucleo boards: Provide debug adapter ID from serial where possible 2023-02-24 16:50:59 +01:00
nucleo32 boards,sys/arduino: major clean up 2023-06-26 17:24:07 +02:00
nucleo64 boards,sys/arduino: major clean up 2023-06-26 17:24:07 +02:00
nucleo144 boards,sys/arduino: major clean up 2023-06-26 17:24:07 +02:00
particle-mesh boards/*: Model usb and stdio in Kconfig 2023-05-31 13:04:42 +02:00
qn908x boards/qn9080dk: Improve doc and add J-Link support 2023-01-10 16:10:50 +01:00
remote boards select cc2538 Kconfig feature 2022-07-28 09:32:25 +02:00
samdx1-arduino-bootloader boards/*: Model usb and stdio in Kconfig 2023-05-31 13:04:42 +02:00
saml1x boards: convert sam0 boards to new adc_conf_chan_t 2022-09-27 22:43:31 +02:00
silabs boards,sys/arduino: major clean up 2023-06-26 17:24:07 +02:00
slwstk6000b cpu/efm32: provide periph_uart_modecfg feature for every board 2022-11-21 23:20:19 +01:00
sodaq boards,sys/arduino: major clean up 2023-06-26 17:24:07 +02:00
stm32 boards/common/stm32: add common USB OTG FS config for U5 family 2023-07-05 09:41:15 +02:00
weact-f4x1cx boards: fix periph_uart_hw_fc dependency resolution 2023-06-17 15:13:19 +02:00
doc.txt boards/stm32f103c8: add docu on flashing with DFU 2018-08-15 15:00:13 +02:00