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

6589 Commits

Author SHA1 Message Date
krzysztof-cabaj
01a171ec1f boards/nucleo-f439zi: doc update - MCU table and shell access 2024-04-17 19:40:27 +02:00
Marian Buschsieweke
fc271ea198
Merge pull request #20562 from MrKevinWeiss/pr/saulrgb
drivers/ws281x: Add saul support
2024-04-17 08:00:51 +00:00
krzysztof-cabaj
a9b9bf30d4 boards/nucleo-f429zi: minor MCU table updates 2024-04-16 10:12:28 +02:00
Marian Buschsieweke
fc6e35fa54
boards/stm32f4discovery: update and clean up doc
Most importantly, this fixes outdated statements about stdio, which
now by default is over USB rather than UART.
2024-04-16 10:04:23 +02:00
Marian Buschsieweke
43fa3bcfa7
boards/olimex-msp430-h2618: fix ztimer config
The MSP430 timer prescaler can device the 16 MHz clock down to
(16 / 2^x) MHz, with 0 <= x < 4. So no slower than 2 MHz.

With the current ztimer config the clock would run at twice the speed.
2024-04-14 20:26:19 +02:00
MrKevinWeiss
8a15b8c5a1
boards/feather-nrf52840-sense: Expose saul ws281x 2024-04-11 11:43:24 +02:00
Teufelchen1
c8d5fe2352 boards/cpu: Add limited GBA boot support to RIOT 2024-04-10 17:06:14 +02:00
Dylan Laduranty
3e7bda9584
Merge pull request #20556 from krzysztof-cabaj/nucleo-f767zi-DOC
boards/nucleo-f767zi: doc update
2024-04-09 13:45:47 +00:00
Dylan Laduranty
f7d0523295 boards/nrf9160dk: enable internal pullup on buttons
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2024-04-08 20:22:22 +02:00
krzysztof-cabaj
f648886d87 boards/nucleo-f767zi: doc update 2024-04-08 14:16:22 +02:00
MrKevinWeiss
cc1ac9e0ee
boards/feather-nrf52840-sense: Add WS281X_PARAM_PIN 2024-04-08 11:23:58 +02:00
MrKevinWeiss
99daaec648
boards/feather-nrf52840-sense: use generic lsm6dsxx
This will help handle multiple board variants such as rev B and C.
2024-04-02 11:15:26 +02:00
benpicco
ad51739c26
Merge pull request #20521 from Ollrogge/rtc_support
cpu/stm32u5: Enable rtc support
2024-04-01 19:06:06 +00:00
Ollrogge
013e884550 cpu/stm32u5: Enable rtc support 2024-03-29 10:19:42 +01:00
benpicco
c694158647
Merge pull request #20520 from krzysztof-cabaj/nucleo-c031c6-PWM
boards/nucleo-c031c6: add PWM configuration
2024-03-28 16:56:53 +00:00
krzysztof-cabaj
603c5fe291 boards/nucleo-c031c6: full PWM config in periph_conf.h 2024-03-28 13:58:09 +01:00
Karl Fessel
9d2dda27ce
Merge branch 'master' into cpu/samd5x-write-CAN-driver 2024-03-28 09:52:26 +01:00
Marian Buschsieweke
4b3308cdef
Merge pull request #20357 from maribu/cpu/msp430/usci
cpu/msp430/f2xx: clean up periph_uart,periph_spi
2024-03-27 19:57:47 +00:00
Marian Buschsieweke
15e2b9e982
Merge pull request #20516 from maribu/doc/board-selection-guide
doc: fix switched rows in board selection guide
2024-03-27 17:55:24 +00:00
Marian Buschsieweke
aef5b65244
cpu/msp430/f2xx: clean up periph_uart,periph_spi
This cleans up the USCI based UART and SPI implementations and allows
multiple instances of either interface to be configured by the
boards. In addition, it allows sharing the USCI peripherals to provide
multiple serial interfaces with the same hardware (round-robin).
2024-03-27 18:54:07 +01:00
krzysztof-cabaj
50e03bb2c9 boards/nucleo-c031c6: initial PWM config 2024-03-27 18:09:01 +01:00
Marian Buschsieweke
9c50a36177
doc: fix switched rows in board selection guide
The nRF52840DK is an excellent wireless dev board due to the
integrated debugger, the nRF52840-Dongle is missing the debugger and
therefore a suboptimal choice.

The nRF52840-Dongle is cheap and has an excellent form factor that
allows to easily plug it into e.g. an OpenWRT system to quickly provide
a border router. The nRF52840DK is too large and too expensive for that
use case.

It appears that the rows have just been switched by mistake, this
switches them back to be correct.
2024-03-27 14:12:08 +01:00
MrKevinWeiss
e0fdc3c16c
*Kconfig*: Modify Kconfig to remove dep model 2024-03-27 10:28:12 +01:00
Firas Hamdi
477f9cd82f boards/same54-xpro: add CAN periph definitions 2024-03-26 15:17:48 +01:00
MrKevinWeiss
7a68fb0d5e
*Kconfig*: Remove dep-only Kconfig files 2024-03-26 14:54:22 +01:00
MrKevinWeiss
0a9c51fdf9
*.config: Modify all .config kconfig files 2024-03-26 14:53:40 +01:00
MrKevinWeiss
0f2b71c60e
*Makefile.features: Remove TEST_KCONFIG includes 2024-03-26 14:53:39 +01:00
krzysztof-cabaj
2a89402694 boards/nucleo-c031c6: add MCU table to documentation page 2024-03-25 15:07:13 +01:00
krzysztof-cabaj
b9b09c00fa boards/nucleo-c031c6: fix ADC config 2024-03-24 19:32:12 +01:00
Dylan Laduranty
8b84fc5f8f boards/rpi-pico: add PWM support in Kconfig
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2024-03-18 21:05:52 +01:00
Dylan Laduranty
7a6cfd9bb0 boards/rpi-pico: create PWM configuration
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2024-03-18 21:05:12 +01:00
benpicco
ba171a1075
Merge pull request #20444 from Ollrogge/u575zi-q-board
boards/nucleo-u575zi-q: Add support
2024-03-01 17:33:14 +00:00
Ollrogge
53d53d8cc8 boards/nucleo-u575zi-q: Add support 2024-03-01 11:18:18 +01:00
Mikolai Gütschow
96e48e3385
boards/feather-nrf52840-sense: declare lsm6ds33 accelerometer 2024-02-27 19:34:06 +01:00
Marian Buschsieweke
001bc0e7eb
boards/esp32-olimex-evb: drop periph_ir feature
There is no corresponding driver (yet), so this feature is just
confusing.
2024-02-23 14:59:52 +01:00
chrysn
6714a77026
Merge pull request #20339 from chrysn-pull-requests/native64-rust
cpu/native: Enable Rust on 64bit
2024-02-23 10:41:47 +00:00
chrysn
7587c77739 boards/native64/doc: Remove Rust note 2024-02-23 11:27:35 +01:00
Mikolai Gütschow
10f4e9df01
boards/feather-nrf52840*: doc cleanup 2024-02-23 10:50:10 +01:00
Marian Buschsieweke
38ab1472e6
boards/common/makefiles/stdio_cdc_acm.dep.mk: fix
This fixes compilation issues in `tests/pkg/tinyusb_netdev` with
newer versions of the RISC-V toolchain due to two competing USB
stacks being pulled in. With the older toolchain the build system
warns:

    The following features may conflict: periph_usbdev tinyusb_device

But builds fine (even though surprises at runtime are likely). The
newer toolchain takes an issue with the same symbol being linked
in more than once (and more than one instance not being `weak`).
2024-02-12 19:55:40 +01:00
Marian Buschsieweke
e0535fc1d0
boards/olimex-msp430-h2618: change UART config
Change UART configuration to match `olimex-msp430-h1611`. This allows
using the [olimex-msp430-arduino-uno][board] breakout board to be used
with the `olimex-msp430-h2618` as well.

[board]: https://github.com/RIOT-OS/RIOT-Open-Hardware/tree/main/olimex-msp430-arduino-uno
2024-02-08 06:11:52 +01:00
Marian Buschsieweke
2271b21c85
boards/olimex-msp430-h1611: fix symbol rate in doc
The symbol rate has been reduced to 9,600 Bd, as the board otherwise
occasionally looses IRQs.
2024-02-07 20:06:13 +01:00
benpicco
4d9e8a8dde
Merge pull request #20335 from fzi-haxel/pr/native64-board
native64: Separate board for 64-bit native
2024-02-05 22:58:02 +00:00
Frederik Haxel
0c2cfe99e6 native64: Add Linux/x86_64 board
Adds a separate board for native64 instead of the `NATIVE_64BIT` workaround.
The files in `boards/native64` are more or less dummy files and just include
the `boards/native` logic (similar to `openlabs-kw41z-mini-256kib`).
The main logic for native is in `makefiles/arch/native.inc.mk`, `cpu/native`
and `boards/native`.

The remaining changes concern the build system, and change native board checks
to native CPU checks to cover both boards.
2024-02-05 22:01:40 +01:00
benpicco
0eddf4afd1
Merge pull request #20337 from benpicco/boards/weact-g030f6
boards/weact-g030f6: add support for minimal break-out board
2024-02-05 03:52:39 +00:00
Benjamin Valentin
e20784833d boards/stm32g0316-disco: enable periph_rtc 2024-02-05 00:45:42 +01:00
Benjamin Valentin
0cdbde8fb8 boards/stm32g0316-disco: set TIMER_0_MAX_VALUE 2024-02-05 00:45:42 +01:00
Benjamin Valentin
85cfcafdf6 boards/weact-g030f6: add new board 2024-02-05 00:45:42 +01:00
Marian Buschsieweke
8403f6b7cc
boards/common/nrf52: add OpenOCD's RIOT awareness
This enables RIOT awareness in OpenOCD, so that `info threads` actually
shows RIOT's threads.
2024-02-02 12:25:11 +01:00
benpicco
5bd879b406
Merge pull request #20315 from fzi-haxel/native-x86-64-support
native: Linux/x86_64 support
2024-02-01 17:11:56 +00:00
benpicco
4ea27d4c13
Merge pull request #20300 from jparker324/stm32c0_and_nucleo_c031c6
cpu/stm32: add support for STM32C0 and NUCLEO-C031C6
2024-01-31 15:09:25 +00:00
Martine Lenders
34fcffe37b
Merge pull request #20170 from miquel-b/lsm6dsxx
drivers/lsm6dsxx: refactoring Lsm6dsl into common driver Lsm6dsxx
2024-01-30 19:07:04 +00:00
Frederik Haxel
16eff9b6ed native: Linux/x86_64 support
Initial version to test 64 bit compatibility.

Instead of a separate board, the inital version for Linux/x86_64 is enabled
by setting the environment variable `NATIVE_64BIT=y` and compiling as usual.

Not currently implemented:
* Architectures other than x86_64 or operating systems other than Linux
    * No FreeBSD support
    * No Aarch support
* Rust support for x86_64
2024-01-30 16:33:19 +01:00
Jason Parker
a2f4a13beb boards/nucleo-c031c6 initial add 2024-01-30 10:11:57 -05:00
Miquel-HAW
e755992ac0 boards/feather-nrf52840-sense: Adapt lsm6dsxx params 2024-01-24 09:57:04 +01:00
Miquel-HAW
d45a179a2e boards/b-l475e-iot01a: Adapt lsm6dsxx params 2024-01-24 09:57:04 +01:00
Marian Buschsieweke
e5cb676dfe
Merge pull request #20286 from chrysn-pull-requests/nrf52dk-arduino
boards/nrf52dk: Minimal Arduino pinout support
2024-01-23 05:27:23 +00:00
chrysn
7452a61e64 fixup! boards/nrf52dk: Minimal Arduino pinout support 2024-01-23 01:12:06 +01:00
chrysn
b0a46c2eba boards/nrf52dk arduino: Declare SPI (side SPI) support 2024-01-23 00:39:03 +01:00
chrysn
ecfa2f7573 boards/nrf52dk: Minimal Arduino pinout support 2024-01-22 23:44:16 +01:00
Marian Buschsieweke
63ec7fc7b5
Merge pull request #19835 from maribu/msp430
cpu/msp430: rework MSP430 x1xx periph drivers
2024-01-22 18:41:23 +00:00
Marian Buschsieweke
407deabc0f
boards/olimex-msp430-h1611: uart_stdio @ 9600 Bd 2024-01-22 16:59:23 +01:00
Marian Buschsieweke
675dcc381c
cpu/msp430: rework MSP430 x1xx periph drivers
- Move common code for USART (shared SPI / UART peripheral) to its
  own file and allow sharing the USART peripheral to provide both
  UART and SPI in round-robin fashion.
- Configure both UART and SPI bus via a `struct` in the board's
  `periph_conf.h`
    - this allows allocating the two UARTs as needed by the use case
    - since both USARTs signals have a fixed connection to a single
      GPIO, most configuration is moved to the CPU
    - the board now only needs to decide which bus is provided by
      which USART

Note: Sharing an USART used as UART requires cooperation from the app:
- If the UART is used in TX-only mode (no RX callback), the driver
  will release the USART while not sending
- If the UART is used to also receive, the application needs to power
  the UART down while not expecting something to send. An
  `spi_acquire()` will be blocked while the UART is powered up.
2024-01-22 16:59:23 +01:00
Marian Buschsieweke
504c169346
Merge pull request #20270 from maribu/boards/gd32vf103c-start
boards/gd32vf103c-start: new board
2024-01-20 16:11:31 +00:00
Marian Buschsieweke
c6c5d9a1a7
boards/common/gd32v: reorder members in initialization
C has this feature that the order of struct members in the
initialization doesn't need to match the order in the declaration.
C++ has not yet caught up:

    boards/common/gd32v/include/cfg_usbdev_default.h:50:1: error: designator order for field 'dwc2_usb_otg_fshs_config_t::type' does not match declaration order in 'const dwc2_usb_otg_fshs_config_t'

So, just reorder the fields for now by hand.
2024-01-20 16:42:49 +01:00
Marian Buschsieweke
7f27e6cc7f
boards/gd32vf103c-start: new board
This adds support for the GD32VF103C-START, the official "starter board"
for the GD32VF103C MCU by the MCU vendor.
2024-01-19 23:17:35 +01:00
Marian Buschsieweke
9fbb23b167
boards/common/gd32v: make common OpenOCD config opt-in
Let boards explicitly use the common OpenOCD config if it works for
them, rather than having boards with specific needs opt out.
2024-01-19 23:17:35 +01:00
benpicco
912294912a
Merge pull request #20264 from benpicco/boards/native-term_fix
boards/native: only use pyterm wrapper with term target
2024-01-19 14:31:39 +00:00
Benjamin Valentin
e5618f705b boards/native: set and test for pyterm explicitly 2024-01-19 14:42:03 +01:00
Marian Buschsieweke
c4fbcfad21
boards/e180-zg120b-tb: Document correct pin mapping
Revision 10199-V1.0 of the board has an incorrect pin labeling on the
silkscreen, presumably because the board was initially developed
for a different E180 module and the silkscreen was not updated when
populated with a different E180 module.

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

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

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

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

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



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



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

### Contribution description

This PR adds to the Nucleo-l4r5zi PWM configuration

### Testing procedure

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

### Issues/PRs references

None.

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

### Contribution description

Minor version number bump.

### Testing procedure

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


### Issues/PRs references

None

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

### Contribution description

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

### Testing procedure

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

### Issues/PRs references

None.

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

### Contribution description

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

### Testing procedure

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

### Porting Guide

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

### Issues/PRs references

 Related to PR #19443

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

### Contribution description

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

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

### Testing procedure

The test has been extended


### Issues/PRs references

None

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

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

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

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

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

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


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

### Contribution description

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

### Testing procedure

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

### Issues/PRs references

Depends on PR #19941


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

### Contribution description

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

### Testing procedure

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

### Issues/PRs references

None

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

### Contribution description

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

### Testing procedure

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

### Issues/PRs references

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

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



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

### Contribution description

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

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

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

### Testing procedure

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

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

### Issues/PRs references


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

### Contribution description

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

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

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

### Testing procedure

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

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

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

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

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

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

### Issues/PRs references


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

### Contribution description

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

### Testing procedure

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

### Issues/PRs references


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

### Contribution description

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

### Testing procedure

Green CI

### Issues/PRs references#19465 

Prerequisite for PR #19465 

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

### Contribution description

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

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

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

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

### Testing procedure

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

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

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

### Issues/PRs references

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

### Contribution description

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

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

### Testing procedure

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

### Issues/PRs references


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

### Contribution description

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

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

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

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

### Testing procedure

Documentation should be fixed.

### Issues/PRs references


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

### Contribution description

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

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

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

### Testing procedure

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

or:

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

### Issues/PRs references

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

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

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

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

### Contribution description

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

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

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

### Testing procedure

Basic tests should work.

### Issues/PRs references

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

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

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

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

### Contribution description

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

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

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

### Testing procedure

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

### Issues/PRs references

Workaround for issue #19818
Preqruisite for PR #19827 

Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-09-06 10:19:01 +00:00
Gunar Schorcht
cb1c972dc2 boards/sipeed-longan-nano: update for st77xx driver 2023-09-06 11:52:11 +02:00
Gunar Schorcht
1e99e9a9ce boards/esp32s3-usb-otg: update for st77xx driver 2023-09-06 11:52:11 +02:00
Gunar Schorcht
f8c9770db0 boards/esp32s2-lilygo-ttgo-t8: update for st77xx driver 2023-09-06 11:52:11 +02:00
Gunar Schorcht
5406793bff boards/adafruit-pybadge: update for st77xx driver 2023-09-06 11:52:10 +02:00