1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-18 12:52:44 +01:00
Commit Graph

4309 Commits

Author SHA1 Message Date
Marian Buschsieweke
922276296e
drivers/periph/gpio_ll: pass gpio_conf_t by value
Now that `gpio_conf_t` is on all implemented platforms no larger than
a register, we can more efficiently pass it by value rather than via
pointer.
2024-01-21 09:19:08 +01:00
Marian Buschsieweke
2a00ec13e5
drivers/periph/gpio_ll: shrink gpio_conf_t
This commit optimizes the `gpio_conf_t` type in the following
regards:

- The "base" `gpio_conf_t` is stripped from members that only some
  platforms support, e.g. drive strength, slew rate, and disabling of
  the Schmitt Trigger are no longer universally available but
  platform-specific extensions
- The `gpio_conf_t` is now crammed into a bit-field that is 8 bit or
  16 bit wide. This allows for storing lots of them e.g. in
  `driver_foo_params_t` or `uart_conf_t` etc.
- A `union` of the `struct` with bit-field members and a `bits` is used
  to allow accessing all bits in a simple C statement and to ensure
  alignment for efficient handling of the type

Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2024-01-21 08:38:40 +01:00
benpicco
d5f1fda70d
Merge pull request #20230 from benpicco/CONFIG_UART_DMA_THRESHOLD_BYTES
cpu/stm32: uart: don't do DMA for small transfers
2024-01-18 12:26:30 +00:00
Marian Buschsieweke
0cffb7f365
Merge pull request #20257 from fzi-haxel/native64-part1
core, sys, drivers: 64-bit support preparations
2024-01-17 15:40:34 +00:00
Frederik Haxel
3feb1a369b drivers: 64 bit compatibility
Fixed compilation errors for pointer casting.
2024-01-17 16:05:12 +01:00
Benjamin Valentin
1e1244042e drivers/mtd_spi_nor: make use of busy_wait() 2024-01-15 14:56:35 +01:00
Frederik Haxel
381cae6eb1 drivers: Added PRIuSIZE print format specifier 2024-01-12 17:17:33 +01:00
Gunar Schorcht
caa31ecbdc drivers/mtd: fix mtd_write_sector
Parameter `num` of `mtd_write_page_raw` is the number of bytes to be written, which is the number of sectors to be written`count` multiplied by the pages per sector `mtd->pages_per_sector` and the page size `mtd->page_size`.
2024-01-07 16:47:11 +01:00
Kevin "Tristate Tom" Weiss
7fef2e4b6f
Merge pull request #20214 from benpicco/CONFIG_SPI_DMA_THRESHOLD_BYTES
cpu/stm32/periph_spi: only perform DMA transfer above threshold
2024-01-04 17:32:02 +00:00
Benjamin Valentin
9710d4a23c drivers/periph: introduce CONFIG_UART_DMA_THRESHOLD_BYTES 2024-01-04 17:33:51 +01:00
benpicco
9b3c39ac76
Merge pull request #18066 from benpicco/slipdev-chunked_rb
drivers/slipdev: make use of chunked ringbuffer
2024-01-04 08:44:43 +00: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
Benjamin Valentin
1a888fe556 drivers/slipdev: make use of chunked ringbuffer 2024-01-02 14:41:11 +01:00
benpicco
ece8a12f81
Merge pull request #20173 from fabian18/pr/mtd_flashpage_improve_write_page
drivers/mtd_flashpage: improve _write_page
2024-01-02 13:21:51 +00:00
Fabian Hüßler
37c39d0ee0 drivers/mtd_flashpage: improve _write_page 2023-12-31 00:26:40 +01:00
Benjamin Valentin
fbeb1f9a26 drivers/periph/spi: move DMA threshold to common code 2023-12-23 17:35:29 +01:00
Frederik Haxel
ec7fe8d598 drivers: Use size_t print format specifier
Co-authored-by: Marian Buschsieweke <marian.buschsieweke@posteo.net>
2023-12-21 12:02:28 +01:00
MrKevinWeiss
7b80348f31
drivers/ws281x: Fix Kconfig
Patch from https://github.com/RIOT-OS/RIOT/pull/19891#pullrequestreview-1753651538
2023-12-19 11:13:43 +01:00
chrysn
d86405cef4
drivers/ws281x: Add timer and gpio_ll based driver 2023-12-19 11:13:43 +01:00
chrysn
02285fd63a
drivers/periph: Add timer_poll feature and timer_poll_channel function 2023-12-19 11:13:41 +01:00
benpicco
208790a5f1
Merge pull request #20108 from benpicco/drivers/dose-uart_ondemand_tx
drivers/periph/uart: add periph_uart_tx_ondemand feature
2023-12-14 20:42:55 +00:00
Benjamin Valentin
9cde80ef36 drivers_dose: enable TX UART on-demand 2023-12-14 18:30:38 +01:00
Benjamin Valentin
fc9669bcfd drivers/periph/uart: add periph_uart_tx_ondemand feature 2023-12-14 18:30:38 +01:00
Gunar Schorcht
aabc331494 drivers/mtd: improve doc consistency for MTDs 2023-12-14 17:27:13 +01:00
Gunar Schorcht
c872f0e18e drivers/sdcard_spi: small changes in doc for consistency 2023-12-14 17:26:29 +01:00
benpicco
d13e6c4e83
Merge pull request #20180 from benpicco/mtd_sdmmc-erase
drivers/mtd_sdmmc: always enable the erase function
2023-12-14 13:42:33 +00:00
Benjamin Valentin
bfe26c68d3 drivers/mtd: introduce mtd_write_sector() 2023-12-14 14:27:19 +01:00
Benjamin Valentin
f57f2a125f drivers/mtd_sdmmc: set MTD_DRIVER_FLAG_DIRECT_WRITE flag 2023-12-14 14:27:08 +01:00
Benjamin Valentin
f34abe88a0 drivers/mtd_sdmmc: always enable the erase function 2023-12-14 14:27:08 +01:00
benpicco
6eac1e1761
Merge pull request #15380 from benpicco/mtd_drop_write
mtd/*: drop .write() if .write_page() is implemented
2023-12-13 20:35:53 +00:00
Benjamin Valentin
9855b02b07 mtd: drop .write() function
All MTD drivers should now implement the .write_page() function instead.
2023-12-13 17:46:43 +01:00
Benjamin Valentin
431afeaa51 drivers/mtd_sdmmc: drop .write() function 2023-12-13 16:58:31 +01:00
Benjamin Valentin
cf123f98d5 drivers/mtd_emulated: drop .write() function 2023-12-13 16:56:51 +01:00
Benjamin Valentin
6c28a7d62c drivers/mtd_mapper: drop .write() function 2023-12-13 16:56:51 +01:00
Benjamin Valentin
ba17c14aef drivers/mtd_sdcard: drop .write()
The old .write() function is only used as a fall-back if .write_page()
is not implemented.
We can drop it.
2023-12-13 16:50:41 +01:00
Benjamin Valentin
ea105d34ec drivers/mtd_spi_nor: drop .write()
The old .write() function is only used as a fall-back if .write_page()
is not implemented.
We can drop it.
2023-12-13 16:50:41 +01:00
Benjamin Valentin
26aba7b8c7 drivers/at25xxx: drop .write()
The old .write() function is only used as a fall-back if .write_page()
is not implemented.
We can drop it.
2023-12-13 16:50:41 +01:00
Benjamin Valentin
5acfb20d02 drivers/periph/uart: add functions to query RTS/CTS pins 2023-12-12 20:25:39 +01:00
Gunar Schorcht
9410ec705e drivers/mtd: replace checks by assert in mtd_dev_get
Assertions are used instead of returning a NULL pointer to detect errors in the MTD definition and access in the case that the return value is not evaluated.
2023-12-07 15:32:49 +01:00
Gunar Schorcht
4b6e13ce29 drivers/mtd_default: remove extern mtd_dev_t * declarations 2023-12-07 15:32:49 +01:00
Marian Buschsieweke
b917807444
drivers/periph_timer: add periph_timer_query_freqs
Allow accessing supported timer frequencies with a dedicated API.
This API needs to be implemented per platform and is available with
the feature periph_timer_query_freqs.
2023-12-05 16:07:24 +01:00
Benjamin Valentin
97ab5ef12e drivers/sdmmc: fix placement of #endif 2023-12-05 08:55:08 +01:00
benpicco
ad7bf85712
Merge pull request #20113 from gschorcht/drivers/mtd/fix_xfa
drivers/mtd: fix the order of entries in the MTD pointer XFA `mtd_dev_xfa`
2023-11-27 19:00:04 +00:00
benpicco
31224b4d2d
Merge pull request #20112 from maribu/drivers/lpsxxx
drivers/lpsxxx: add missing sign extension
2023-11-27 16:14:39 +00:00
Gunar Schorcht
ff79f39fd5 drivers/mtd: fix the order in the MTD pointer XFA
The commit fixes the order of entries in the MTD pointer XFA `mtd_dev_xfa` according to their index by using the index as the priority in the XFA.
2023-11-27 17:14:23 +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
bf6807c85a
drivers/lpsxxx: add missing sign extension
Fixes https://github.com/RIOT-OS/RIOT/issues/20093
2023-11-27 10:17:47 +01:00
Urs Gompper
97bde07e0d drivers/periph_common: add peripheral freqm to Kconfig 2023-11-23 20:53:15 +01:00
Urs Gompper
afcd4801bd drivers/include: add header definition for freqm 2023-11-23 20:37:52 +01:00
Benjamin Valentin
138cbb83d6 drivers/soft_uart: include board.h 2023-11-23 13:45:00 +01:00