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

38 Commits

Author SHA1 Message Date
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
crasbe
25b3a580b6 boards/p-nucleo-wb55: enable ADC support 2024-07-08 11:19:00 +02:00
MrKevinWeiss
e0fdc3c16c
*Kconfig*: Modify Kconfig to remove dep model 2024-03-27 10:28:12 +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
krzysztof-cabaj
e73c18167a boards/p-nucleo-wb55: documentation update 2023-11-27 20:22:20 +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
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
043e8cc88e
boards,sys/arduino: major clean up
- Rename all `arduino_pinmap.h` to `arduino_iomap.h`
    - An empty `arduino_pinmap.h` that just includes `arduino_iomap.h`
      is provided for backward compatibility
    - Move all info from `arduino_board.h` into the new file as trivial
      macros, so that they can also be used outside of sketches
    - The new name reflects the fact not just pin mappings, but also
      other I/O features such as PWMs are mapped
- Drop all `arduino_board.h`
    - `arduino_board.h` and `arduino_iomap.h` now provide the exact
      same information, just in a different format
    - a generic `arduino_board.h` is provided instead that just
      uses the info in `arduinio_iomap.h` and provides them in the
      format the code in `sys/arduino` expects it
- Add fine grained features to indicate for mappings
    - availability of mappings for analog pins, DAC pins, PWM pins,
      UART devices, SPI/I2C buses to the corresponding RIOT
      identification can now be expressed:
        - `arduino_pins`: `ARDUINO_PIN_0` etc. are available
        - `arduino_analog`: `ARDUINO_A0` etc. are available
        - `arduino_pwm`: `ARDUINO_PIN_13_PWM_DEV` etc. are available
        - `arduino_dac`: `ARDUINO_DAC0` etc. are available
        - `arduino_uart`: `ARDUINO_UART_D0D1` or similar are available
        - `arduino_spi`: `ARDUINO_SPI_ISP` or similar are available
        - `arduino_i2c`: `ARDUINO_I2C_UNO` or similar are available
    - mechanical/electrical compatibility with specific form factors
      can now be expressed as features:
        - `aruino_shield_nano`: Arduino NANO compatible headers
        - `aruino_shield_uno`: Arduino UNO compatible headers
        - `aruino_shield_mega`: Arduino MEGA compatible headers
        - `aruino_shield_isp`: ISP header is available

This provides the groundwork to implement shield support as modules
that can rely on the I/O mappings, rather than having to provide a
configuration per board.
2023-06-26 17:24:07 +02: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
17cce015d4
treewide/stm32: Make CLOCK_HS* configurable 2022-11-03 11:37:28 +01:00
Gunar Schorcht
558d4840c7 boards/p-nucleo-wb55: enable tinyUSB support 2022-10-23 22:33:51 +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
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
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
0c2d257b67 boards/nucleo: cpy2remed enabled 2022-05-18 06:30:39 -04:00
Benjamin Valentin
468ea89953 boards: drop LED init
This is handled by periph_init_leds now
2022-02-18 14:35:43 +01:00
1768b46f81
boards/p-nucleo-wb55: add new supported features 2022-01-27 16:04:36 +01:00
a7d71930c9
boards/p-nucleo-wb55: update notes about OpenOCD version 2022-01-27 16:04:27 +01:00
0d2b58bdfb
boards/p-nucleo-wb55: fix doxygen parent group 2022-01-27 16:03:56 +01:00
796e127df9
boards/stm32: replace GPIO_UNDEF with SPI_CS_UNDEF 2022-01-06 12:34:09 +01:00
Marian Buschsieweke
e071098d26
cpu/stm32/periph: use uintptr_t instead uintptr_t * 2021-12-03 14:21:54 +01:00
dylad
83f4f4a4aa boards/p-nucleo-wb55: update Kconfig with usbdev support 2021-12-02 14:26:03 +01:00
dylad
66451042eb boards/p-nucleo-wb55: enable usbdev feature 2021-12-02 14:26:03 +01:00
MrKevinWeiss
8fc9f9a0cb
boards/p-nucleo-wb55: Fix Kconfig to use nucleo common 2021-10-14 11:28:44 +02:00
MrKevinWeiss
91b71a5fb2
boards/nucleo*: Model Kconfig lpuart based on stdio 2021-10-14 11:28:43 +02:00
Jan Romann
4384795cb9
treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
Francisco Molina
2049ab35d3
boards: require lpuart only if stdio_uart is used 2021-06-01 12:39:58 +02:00
e7ac68e1bd
boards/stm32l4/l5/wb*: add Kconfig clock config 2020-11-10 09:34:06 +01:00
ec5b47fc61
cpu/stm32l4+/wb: centralize max core clock define, adapt related boards 2020-10-27 08:44:55 +01:00
23000ce452
boards/p-nucleo-wb55: remove useless custom define 2020-10-20 11:37:45 +02:00
9dd20c0ccb
cpu: boards: stm32l4/wb: use IS_USED for clock where possible 2020-09-08 18:42:42 +02:00
c1a655c069
boards/p-nucleo-wb55: adapt to new generic clock config 2020-09-08 18:42:41 +02:00
16271f253b
p-nucleo-wb55: remove obsolete spi_divtable 2020-08-18 16:55:09 +02:00
b3f8dc1a72
boards/p-nucleo-wb55: model features in Kconfig 2020-07-16 11:34:04 +02:00
facb626b02
boards/stm32*: adapt for new stm32 cpu organization 2020-05-20 13:39:10 +02:00
Francisco Molina
e220483adc
boards: p-nucleo-wb55 initial support 2020-03-25 09:29:57 +01:00