1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-20 20:13:50 +01:00

1070 Commits

Author SHA1 Message Date
Mikolai Gütschow
8a5f047c26
boards/feather-nrf52840*: rename to adafruit-feather-nrf52840-* 2025-04-04 11:12:49 +02:00
Marian Buschsieweke
1f3a693473
Merge pull request #21338 from crasbe/pr/nucleo64-spiled-warning
boards/nucleo64: Add Compile Warning about LED0 when using SPI
2025-04-02 09:18:03 +00:00
Marian Buschsieweke
ca781c2f12
Merge pull request #21242 from mguetschow/native-alias
boards: introduce board alias and make native default to host target
2025-04-02 09:14:12 +00:00
crasbe
a74927ff5b boards/nucleo64: add compile warning about LED0 when using SPI 2025-04-01 14:42:33 +02:00
Mikolai Gütschow
cf3a84ddfa
boards/native*: update documentation 2025-04-01 12:39:14 +02:00
Mikolai Gütschow
ed19204fb5
boards/native*: move common code to boards/common/native
Co-Authored-By: Oleg Hahm <oleg@riot-os.org>
2025-04-01 12:39:14 +02:00
crasbe
cee150dff7 boards/common/seeedstudio-xiao-nrf52840: add macro docs 2025-03-31 15:34:34 +02:00
crasbe
64ecd32965 boards/seeedstudio-xiao-nrf52840-sense: add initial support 2025-03-31 15:34:34 +02:00
crasbe
b903161663 boards/seeedstudio-xiao-nrf52840: move files to common folder 2025-03-31 15:33:41 +02:00
crasbe
3a8d3c5c4d boards: adapt boards with ada-nrf52-bl to common makefiles 2025-03-26 17:12:15 +01:00
mguetschow
75e22e53e8
Merge pull request #21281 from crasbe/pr/ada_nrf52_bootloader
boards/common: Make Adafruit nRF52 Bootloader shared
2025-03-25 17:40:40 +00:00
crasbe
ebcb656d8a boards/common/ada-nrf52-bootl: refactor and enhance documentation 2025-03-21 15:20:10 +01:00
crasbe
f8c9df35ad boards/common/ada-nrf52-bootl: keep SoftDevice by default, add SD doc 2025-03-21 15:19:50 +01:00
Benjamin Valentin
ad02bb1ecc boards/common/esp32s3: provide stdio_esp32s3_default.dep.mk 2025-03-20 16:10:09 +01:00
Benjamin Valentin
233a62b792 boards: move to stdio_default 2025-03-20 16:10:09 +01:00
crasbe
15afdcf9c7 boards/feather-nrf52840*: update documentation for common bootloader 2025-03-14 22:04:16 +01:00
crasbe
250b3bdc81 boards/feather-nrf52840*: move common files to bootloader folder 2025-03-14 22:04:16 +01:00
Mikolai Gütschow
9a45c30222
examples: shorten subfolders' names 2025-02-21 09:55:24 +01:00
krzysztof-cabaj
a2dfd78b27 treewide: fix double the in doc and comments 2025-02-18 13:25:02 +01:00
Mikolai Gütschow
ca5fe72bf8
treewide: fix example references in docs
adapt to folder structure from #21135
2025-02-14 19:14:22 +01:00
Martine S. Lenders
d892c2cc8f
common/particle-mesh: add support for saul_bat_voltage 2024-11-22 18:42:29 +01:00
Marian Buschsieweke
5381b6187f
boards/wemos-zero: fix Arduio I/O Map
Two pins were incorrectly mapped because D2 and D4 are swapped on the
WeMos zero compared to the Arduino Zero. This takes the difference
into account.
2024-11-19 13:12:03 +01:00
crasbe
168829f865 boards/nrf52: always recover device before flashing with OpenOCD 2024-11-08 16:04:35 +01:00
Benjamin Valentin
0047222124 boards/saml10-xpro: enable ATECC508A 2024-10-16 16:44:20 +02:00
Marian Buschsieweke
cbf06649aa
boards/common/arduino-zero: Add Arudino SPI mapping
The Arduino Zero based boards already provided the feature
`arduino_spi`, but were missing the corresponding mapping. This fixes
the issue by adding the SPI bus numbers for the ISP SPI bus and the
D11D12D13 SPI bus.

(And in order to actually add the D11D12D13 SPI bus, the `periph_conf.h`
was extended to provide an SPI configuration for it.)
2024-10-01 18:27:33 +02:00
Dylan Laduranty
82ce32ee10 boards/saml1x: convert bitfields to new masks name
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2024-09-08 15:17:34 +02:00
chrysn
7ea574fd20 boards/particle-xenon: Don't provide LED[012] if they are used by SAUL
Otherwise they show as provided but do not have any effect.
2024-08-26 11:12:51 +02:00
Marian Buschsieweke
97b91b4f8f
boards/stm32: use GPIO LL for LEDs
This fixes a race in `LED<NUM>_TOGGLE`, which is a read-copy-write
operation. Any access to a GPIO pin on the same GPIO port that
happens concurrently could result in data corruption. Using the
GPIO LL API, which is thread-safe, fixes the issue.

Note: The used GPIO LL functions will work even in when the GPIO LL
      module is not used.
2024-08-02 09:55:24 +02:00
Marian Buschsieweke
36e8526046
drivers/periph_gpio_ll: change API to access GPIO ports
The API was based on the assumption that GPIO ports are mapped in memory
sanely, so that a `GPIO_PORT(num)` macro would work allow for constant
folding when `num` is known and still be efficient when it is not.

Some MCUs, however, will need a look up tables to efficiently translate
GPIO port numbers to the port's base address. This will prevent the use
of such a `GPIO_PORT(num)` macro in constant initializers.

As a result, we rather provide `GPIO_PORT_0`, `GPIO_PORT_1`, etc. macros
for each GPIO port present (regardless of MCU naming scheme), as well as
`GPIO_PORT_A`, `GPIO_PORT_B`, etc. macros if (and only if) the MCU port
naming scheme uses letters rather than numbers.

These can be defined as macros to the peripheral base address even when
those are randomly mapped into the address space. In addition, a C
function `gpio_port()` replaces the role of the `GPIO_PORT()` and
`gpio_port_num()` the `GPIO_PORT_NUM()` macro. Those functions will
still be implemented as efficient as possible and will allow constant
folding where it was formerly possible. Hence, there is no downside for
MCUs with sane peripheral memory mapping, but it is highly beneficial
for the crazy ones.

There are also two benefits for the non-crazy MCUs:
1. We can now test for valid port numbers with `#ifdef GPIO_PORT_<NUM>`
    - This directly benefits the test in `tests/periph/gpio_ll`, which
      can now provide a valid GPIO port for each and every board
    - Writing to invalid memory mapped I/O addresses was treated as
      triggering undefined behavior by the compiler and used as a
      optimization opportunity
2. We can now detect at compile time if the naming scheme of the MCU
   uses letters or numbers, and produce more user friendly output.
    - This is directly applied in the test app
2024-08-02 09:55:24 +02:00
Mikolai Gütschow
bb97445b20
boards/*: include periph/gpio.h in board.h 2024-07-12 15:02:43 +02:00
Marian Buschsieweke
798793e60a
build system: add netif_openwsn feature
Boards / MCUs now provide the newly introduced  netif_openwsn feature
if they have a network interface supported by OpenWSN.
2024-05-27 22:56:37 +02:00
Marian Buschsieweke
77dfc7e2a5
boards/esp32*: move saul_gpio dep to board level
The ESP32 Ethernet Kit has only a single GPIO pin exposed to SAUL via
`saul_gpio`, but that GPIO doubles as PHY clock input when `esp32_eth`
is used. Hence, the `saul_gpio` dep should be optional and only kick
in when `esp32_eth` is not used.
2024-05-22 13:38:33 +02:00
Marian Buschsieweke
97a6543c10
tree-wide: Introduce netif feature and use it
This gets rid of a long list of boards with network interfaces and
instead let's boards (or MCUs with peripheral network interfaces)
provide the netif feature.

The apps that before used the long list are not depending on the
feature instead (in case of the default example, this is an
optional dependency).

Co-authored-by: mguetschow <mikolai.guetschow@tu-dresden.de>
Co-authored-by: mewen.berthelot <mewen.berthelot@orange.com>
2024-05-22 10:39:56 +02:00
benpicco
772bc7a876
Merge pull request #20617 from Enoch247/simplify-stm32-ifdefs
boards/common/stm32: simplify ifdef logic
2024-04-24 12:57:47 +00:00
Joshua DeWeese
3152301c3f boards/common/stm32: simplify ifdef logic 2024-04-23 16:31:01 -04:00
Joshua DeWeese
fe3a6ba462 boards/common/nucleo144: revert waitespace changes
This commit reverts the whitespace changes from commit
53d53d8cc8c30c45732ef7cbad6853b4fd62ed2c
2024-04-23 11:13:48 -04:00
crasbe
6f0e81fb34 boards/nRF52xx: correctly set JLINK_DEVICE 2024-04-22 11:25:08 +02:00
MrKevinWeiss
e0fdc3c16c
*Kconfig*: Modify Kconfig to remove dep model 2024-03-27 10:28:12 +01:00
MrKevinWeiss
7a68fb0d5e
*Kconfig*: Remove dep-only Kconfig files 2024-03-26 14:54:22 +01:00
Ollrogge
53d53d8cc8 boards/nucleo-u575zi-q: Add support 2024-03-01 11:18:18 +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
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
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
Jason Parker
a2f4a13beb boards/nucleo-c031c6 initial add 2024-01-30 10:11:57 -05: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
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
Marian Buschsieweke
f22fc0080b
boards/common/gd32v: Allow overwriting OPENOCD_TRANSPORT 2024-01-17 09:16:26 +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
5646cc02e4 boards/common/esp32x: add SDMMC support 2024-01-05 07:22:27 +01:00
MrKevinWeiss
fb5ebea1a5
boards/common/e104-bt50xxa-tb: Override WS281X_TIMER_* 2023-12-19 11:13:44 +01:00