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

6548 Commits

Author SHA1 Message Date
krzysztof-cabaj
cdf84b5ca8 boards/nucleo64-f4: add pinout source 2024-10-18 18:02:00 +02:00
krzysztof-cabaj
f45ccded23 boards/nucleo64-f3: add pinout source 2024-10-18 18:02:00 +02:00
krzysztof-cabaj
8e46b11f08 boards/nucleo64-f1: add pinout source 2024-10-18 18:02:00 +02:00
krzysztof-cabaj
bc7511e03b boards/nucleo64-f0: add pinout source 2024-10-18 18:02:00 +02:00
krzysztof-cabaj
18f63f7451 boards/nucleo64-g0: add pinout source 2024-10-18 18:02:00 +02:00
krzysztof-cabaj
ecc5b60e30 boards/nucleo64-c0: add pinout source 2024-09-25 16:28:41 +02:00
benpicco
0cea359db6
Merge pull request #20856 from dylad/pr/cpu/saml1x/compat_headers
boards/saml1x: convert bitfields to new masks name
2024-09-13 16:15:30 +00:00
krzysztof-cabaj
b74c4236c8 boards/nucleo144-l4: add pinout source 2024-09-10 17:44:04 +02:00
krzysztof-cabaj
911cc15129 boards/nucleo144-f7: add source to pinouts 2024-09-10 17:30:16 +02:00
krzysztof-cabaj
882af4ea9d boards/nucleo144-f4: add pinout source 2024-09-10 11:27:49 +02:00
krzysztof-cabaj
841d0a0dfd boards/nucleo144-f3 add pinout source 2024-09-09 16:09:19 +02:00
krzysztof-cabaj
9ecbeae90e boards/nucleo144-f2: add pinout source 2024-09-09 14:03:45 +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
krzysztof-cabaj
6b55e1c93b boards/nucleo-g474re: add MCU table 2024-09-04 17:26:31 +02:00
krzysztof-cabaj
8cd4369d00 boards/nucleo-g474re: add details of pinout source 2024-08-31 22:49:34 +02:00
krzysztof-cabaj
488b194714 boards/nucleo-g431rb: add MCU table 2024-08-30 16:24:27 +02:00
krzysztof-cabaj
ef523555f5 boards/nucleo-g431rb: add pinout source details 2024-08-29 21:36:01 +02:00
benpicco
b056060bd8
Merge pull request #20832 from krzysztof-cabaj/nucleo-g431rb-g474re-pinouts
boards/nucleo-g431rb & g474re: add pinouts to boards doc page
2024-08-27 09:14:37 +00:00
chrysn
48f156f501
Merge pull request #20833 from chrysn-pull-requests/leds-provided-on-demand
drivers/led: Allow LEDn_ON to be disabled by other modules
2024-08-26 09:45:38 +00: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
krzysztof-cabaj
aff4bd4f4d boards/nucleo-g474re: add pinout to doc page 2024-08-23 21:07:07 +02:00
krzysztof-cabaj
287a4b3379 boards/nucleo-g431rb: add pinout to board page 2024-08-23 20:54:09 +02:00
chrysn
ffcd646217 boards/ek-lm4f120x: Change internal LED macro for C2Rust compatibility
C preprocessor defines in non-function form are assumed by C2Rust to be
constant if they are an expression and not a statement; the LED_PORT was
the only place in the code where that was wrong, and led to compiler
errors due to the value not being constant.

Altering the internal macro to use function form sidesteps that issue.
The generally preferred alternative of using a `const` is unavailable in
this case because the dereferencing operator is already part of the
vendor header file cpu/stellaris_common/include/vendor/cortex-m4-def.h.

The changed macro is documented as required by doccheck. The doccheck
rule that grandfathered in the LED_PORT macro as allowed undocumented is
not removed because it is also used in other board.h files.
2024-08-23 13:48:44 +02:00
krzysztof-cabaj
0ea05046f9 boards/nucleo-g071rb: add MCU table to doc page 2024-08-21 17:40:15 +02:00
krzysztof-cabaj
f24254620c boards/nucleo-g070rb: add MCU table to doc page 2024-08-20 20:48:19 +02:00
krzysztof-cabaj
9da68b0b61 boards/nucleo-g071rb: add pinout to documentation page 2024-08-19 14:39:55 +02:00
krzysztof-cabaj
8f3ca72681 boards/nucleo-g070rb: add pinout to documentation page 2024-08-19 14:12:35 +02:00
krzysztof-cabaj
03c700f1d6 boards/nucleo-f439zi: add full ADC config and doxygen doc 2024-08-16 13:04:15 +02:00
krzysztof-cabaj
7f97c2143e boards/nucleo-f439zi: add initial ADC support 2024-08-16 10:00:23 +02:00
krzysztof-cabaj
ba3878050a boards/stm32l0538-disco: add pinout to documentation page 2024-08-09 12:01:57 +02:00
krzysztof-cabaj
abc46d7538 boards/stm32l476g-disco: add pinout to documentation page 2024-08-07 11:06:09 +02:00
benpicco
cf1bb15c86
Merge pull request #20807 from krzysztof-cabaj/stm32l476g-PWM
boards/stm32l476g-disco: add PWM support
2024-08-05 19:10:11 +00:00
krzysztof-cabaj
72f8a8f268 boards/stm32l476g-disco: add PWM config and doxygen doc 2024-08-05 17:48:20 +02:00
Marian Buschsieweke
22df6cc6e3
Merge pull request #20804 from krzysztof-cabaj/nucleo-l053r8-DOC
boards/nucleo-l053r8: MCU table addition to doc page
2024-08-05 14:09:53 +00:00
krzysztof-cabaj
b2ef0c67d7 boards/stm32l476g-disco: add initial PWM config 2024-08-05 16:07:04 +02:00
Marian Buschsieweke
5a02899457
boards/weact-g030f6: fix use with stdio_rtt
Running

    USEMODULE=stdio_rtt make BOARD=weact-g030f6 -C ... flash term

failed due the programmer not being specified by the time the serial
is configured:

    makefiles/tools/serial.inc.mk:44: "Warning: No RIOT_TERMINAL set,
    but using stdio_rtt: The default terminal is likely not to work."

This reorders the setup of the board to first configure the programmer
and then the serial, so that using stdio_rtt now works out of the box.
2024-08-04 10:28:41 +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
krzysztof-cabaj
95102fdbe6 boards/nucleo-l053r8: MCU table addition to doc page 2024-08-02 09:04:59 +02:00
krzysztof-cabaj
c1a33faeb5 boards/stm32l476g-disco: add doxygen doc to ADC config 2024-07-19 12:29:34 +02:00
krzysztof-cabaj
098a34452a boards/stm32l476g-disco: add ADC support 2024-07-19 11:50:39 +02:00
Mikolai Gütschow
bb97445b20
boards/*: include periph/gpio.h in board.h 2024-07-12 15:02:43 +02:00
Dylan Laduranty
e1e5f75b18
Merge pull request #20773 from crasbe/pr/wb55_adc
cpu/stm32: add ADC support for WB55
2024-07-08 09:33:52 +00:00
crasbe
25b3a580b6 boards/p-nucleo-wb55: enable ADC support 2024-07-08 11:19:00 +02:00
krzysztof-cabaj
02ecded5ae boards/nucleo-l452re: add doxygen doc to ADC 2024-07-06 12:27:51 +02:00
krzysztof-cabaj
00114972ab boards/nucleo-l452re: add ADC support 2024-07-06 12:20:23 +02:00
krzysztof-cabaj
194e18cf44 boards/stm32l0538-disco: doc improvements 2024-06-28 16:35:48 +02:00
krzysztof-cabaj
a6a731d300 boards/stm32l0538-disco: doc update 2024-06-26 15:05:36 +02:00
krzysztof-cabaj
0e080e3c67 boards/stm32l0538-disco: enable cpy2remed programmer 2024-06-26 14:54:21 +02:00
Leandro Lanzieri
fd4110b1c5
boards/nucleo-f103rb: add ADC configuration 2024-06-25 13:17:26 +02:00