1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/drivers
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
..
ad7746 drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
adcxx1c drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
ads101x doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
adt7310 drivers/adt7310: Update kconfig model 2022-03-02 14:03:28 +01:00
adxl345 sys/phydat: Fix unit confusion 2023-02-23 16:44:24 +01:00
aip31068 drivers/aip31068: Update kconfig model 2022-03-02 14:03:29 +01:00
apa102 drivers/apa102: Update kconfig model 2022-03-02 14:03:29 +01:00
apds99xx drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
at drivers/at: rename urc_isr_low pseudomodule to lowest 2023-03-21 15:46:35 +01:00
at24cxxx drivers/at24cxxx: merge mtd driver with at24cxxx.c 2023-02-17 10:55:21 +01:00
at24mac Merge pull request #17255 from MrKevinWeiss/pr/kconfig/sam54 2021-11-29 23:22:23 +01:00
at25xxx doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
at30tse75x drivers/at30tse75x: Update kconfig model 2022-03-04 14:15:32 +01:00
at86rf2xx drivers: at86rf2xx: at86rf2xx_netdev: Fix vera warnings 2023-07-05 20:00:19 +02:00
at86rf215 drivers/at86rf215: switch example config to use EXT3 on same54-xpro 2023-09-04 16:03:40 +02:00
ata8520e doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
atwinc15x0 drivers/atwinc15x0: handle M2M errors of m2m_wifi_enable_mac_mcast 2023-08-19 23:23:10 +02:00
bh1750fvi drivers/bh1750fvi: Update kconfig model 2022-03-04 14:16:01 +01:00
bh1900nux drivers/bh1900nux: Update kconfig model 2022-03-04 14:15:32 +01:00
bme680 drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
bmp180 drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
bmx055 drivers/bmx055: fix crazy use of FPU 2023-05-31 16:32:14 +02:00
bmx280 drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
bq2429x tree wide: fix typos in comments found by codespell 2023-05-02 09:52:06 +02:00
can_trx drivers/can_trx: add module to Kconfig 2020-11-25 12:00:37 +01:00
cc1xxx_common treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
cc110x tree wide: fix typos in comments found by codespell 2023-05-02 09:52:06 +02:00
cc2420 netdev_drivers: make sure to signal LINK_UP at least once 2022-09-16 22:57:28 +02:00
ccs811 drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
cst816s drivers/cst816s: use gpio_is_valid where appropriate 2022-04-14 11:31:36 +02:00
dac_dds doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
dcf77 drivers/dcf77: Update kconfig model 2022-03-04 14:15:35 +01:00
dfplayer drivers/dfplayer: fix bug in utility function 2023-05-19 21:51:44 +02:00
dht drivers/dht: fix compilation with LLVM 2023-07-18 12:24:08 +02:00
disp_dev drivers/disp_dev: use struct to store display area coordinates 2022-04-13 12:49:58 +02:00
dose drivers/dose: make use of checksum module 2022-10-06 17:48:47 +02:00
ds18 drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
ds75lx drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
ds1307 drivers/ds1307: Update kconfig model 2022-03-04 14:15:36 +01:00
ds3231 drivers/ds3231 fix docs, alarms are supported 2022-12-27 17:21:55 +01:00
ds3234 drivers/ds3234: Update kconfig model 2022-03-04 14:15:37 +01:00
dsp0401 drivers/dsp0401: Update kconfig model 2022-03-04 14:15:38 +01:00
dynamixel treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
edbg_eui drivers/edbg_eui: Update kconfig model 2022-03-04 14:15:38 +01:00
enc28j60 drivers/enc28j60: disable flow control 2023-07-22 21:44:02 +02:00
encx24j600 doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
epd_bw_spi epd_bw_spi: add implementation for disp_dev 2023-01-31 19:50:11 +01:00
ethos core/init: call vfs_bind_stdio() in early_init() 2023-01-08 22:26:13 +01:00
feetech drivers/feetech: remove useless xtimer include 2021-12-01 10:06:24 +01:00
ft5x06 Merge #19880 2023-08-29 08:19:52 +00:00
fxos8700 sys/phydat: Fix unit confusion 2023-02-23 16:44:24 +01:00
gp2y10xx drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
grove_ledbar boards: add some missing whitespaces for static tests 2022-09-14 15:11:14 +02:00
hd44780 Merge pull request #12665 from gschorcht/drivers/hd44780_i2c_pcf857x 2022-06-14 10:23:19 +02:00
hdc1000 drivers/hdc1000: Add missing doc and fix doccheck 2023-01-05 14:25:20 +01:00
hih6130 drivers/hih6130: avoid using floats 2023-06-08 14:33:38 +02:00
hm330x drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
hmc5883l sys/phydat: Fix unit confusion 2023-02-23 16:44:24 +01:00
hsc drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
hts221 drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
ili9341 drivers/ili9341: add MCU 8080 16-bit parallel mode support 2023-09-21 13:12:03 +02:00
ina2xx drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
ina3221 drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
include Merge #19465 #19981 #19995 2023-10-19 19:01:12 +00:00
io1_xplained boards: add some missing whitespaces for static tests 2022-09-14 15:11:14 +02:00
ir_nec drivers/ir_nec: ir remote implementation 2022-05-31 17:58:39 +02:00
isl29020 drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
isl29125 drivers/isl29125: Update kconfig model 2022-03-04 14:15:44 +01:00
itg320x doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
jc42 drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
kw2xrf drivers/kw2xrd/Kconfig: fix kconfig model 2022-08-23 10:04:44 +02:00
kw41zrf drivers/kw41zrf: boards/openlabs-kw41z-mini: cleanup Kconfig 2023-06-01 12:19:44 +02:00
l3g4200d doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
l3gxxxx drivers/l3gxxxx: fix check for l3g4200d_ng 2023-04-28 17:24:15 +02:00
lc709203f driver/lc709203f: remove unnecessary use of float 2023-05-24 14:22:24 +02:00
lcd drivers/lcd: add MCU-driven low-level parallel interface 2023-09-23 08:03:16 +02:00
lis2dh12 sys/phydat: Fix unit confusion 2023-02-23 16:44:24 +01:00
lis3dh sys/phydat: Fix unit confusion 2023-02-23 16:44:24 +01:00
lis3mdl sys/phydat: Fix unit confusion 2023-02-23 16:44:24 +01:00
lm75 doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
lpd8808 drivers/lpd8808: Update kconfig model 2022-03-04 14:15:45 +01:00
lpsxxx drivers/lpsxxx: avoid float arithmetics 2023-05-19 09:23:30 +02:00
lsm6dsl sys/phydat: Fix unit confusion 2023-02-23 16:44:24 +01:00
lsm303agr drivers/lsm303agr: Rename deprecated unit G to GForce 2023-04-25 09:23:21 +02:00
lsm303dlhc sys/phydat: Fix unit confusion 2023-02-23 16:44:24 +01:00
ltc4150 drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
mag3110 sys/phydat: Fix unit confusion 2023-02-23 16:44:24 +01:00
matrix_keypad matrix_keypad: use gpio_is_valid 2023-01-17 11:03:01 +01:00
mcp47xx drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
mcp2515 doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
mfrc522 drivers/mfrc522: add new driver 2023-01-31 21:05:07 +01:00
mhz19 doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
mma8x5x sys/phydat: Fix unit confusion 2023-02-23 16:44:24 +01:00
mma7660 sys/phydat: Fix unit confusion 2023-02-23 16:44:24 +01:00
motor_driver drivers/motor_driver: Use irq_restore 2021-12-21 18:23:11 +01:00
mpl3115a2 drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
mpu9x50 tree-wide: fix typos in doc and comments 2023-10-16 12:17:48 +02:00
mq3 drivers/mq3: avoid use of floats 2023-06-01 16:52:26 +02:00
mrf24j40 drivers/mrf24j40: cleanup function 2023-05-20 16:59:25 +02:00
mtd drivers/mtd: store MTD pointers as XFA 2023-10-02 12:27:35 +02:00
mtd_emulated drivers/mtd_emulatd: MTD emulated in RAM for testing 2023-04-11 17:42:10 +02:00
mtd_flashpage drivers/mtd_flashpage: drop legacy API 2023-02-16 15:50:52 +01:00
mtd_mapper drivers/mtd_mapper: inherit physical properties 2022-06-03 00:22:06 +02:00
mtd_mci drivers/mtd_{mci,sdcard}: Pages need to be written at once 2022-03-31 10:58:52 +02:00
mtd_sdcard drivers/mtd_sdcard: use XFA with MTD pointers 2023-10-02 12:28:07 +02:00
mtd_sdmmc drivers/mtd_sdmmc: use XFA with MTD pointers 2023-10-02 12:28:08 +02:00
mtd_spi_nor drivers/mtd_spi_nor: improve fallback when no timer is used 2023-08-31 15:22:33 +02:00
my9221 drivers/my9221: Update kconfig model 2022-03-04 14:15:47 +01:00
ncv7356 drivers/ncv7356: Update kconfig model 2022-03-04 14:16:01 +01:00
netdev tree wide: fix typos in comments found by codespell 2023-05-02 09:52:06 +02:00
netdev_ieee802154_submac netdev/ieee802154_submac: support setting promiscuous mode option 2023-08-25 16:20:27 +02:00
nrf24l01p drivers/nrf24l01p: model in Kconfig 2023-05-24 10:18:53 +02:00
nrf24l01p_ng netdev_drivers: make sure to signal LINK_UP at least once 2022-09-16 22:57:28 +02:00
nvram drivers/nvram: add module to Kconfig 2021-01-18 10:42:35 +01:00
nvram_spi drivers/nvmram_spi: convert to ztimer_usec 2022-01-18 16:27:44 +01:00
opt3001 doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
pca9633 drivers/pca9633: Update kconfig model 2022-03-04 14:15:48 +01:00
pca9685 drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
pcd8544 drivers/pcd8544: Update kconfig model 2022-03-04 14:15:49 +01:00
pcf857x drivers/pcf857x: Move compile time check to compilation unit 2023-09-15 12:52:58 +02:00
periph_common drivers/sdmmc: add low-levl SD Host Controller implementation 2023-09-23 19:26:30 +02:00
ph_oem drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
pir drivers/pir: Add missing doc and fix doccheck 2023-01-05 14:25:18 +01:00
pn532 drivers/pn532: Update kconfig model 2022-03-04 14:15:50 +01:00
pulse_counter drivers/pulse_counter: Add missing doc and fix doccheck 2023-01-05 14:25:19 +01:00
qmc5883l sys/phydat: Fix unit confusion 2023-02-23 16:44:24 +01:00
rgbled treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
rn2xx3 sys/net/gnrc/netif: allow checking if a netdev is legacy or new API 2022-08-17 12:56:07 +02:00
rtt_rtc drivers/periph/rtc: improve doc on rtc_set_alarm 2023-05-30 17:41:36 +02:00
saul tree-wide: fix typos in doc and comments 2023-10-16 12:17:48 +02:00
scd30 drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
sdcard_spi drivers/sdcard_spi: remove copy of sdcard_spi_params_t from device 2023-05-01 14:36:25 +02:00
sdmmc drivers/sdmmc: fix dependencies for ztimer_msec 2023-09-29 07:48:32 +02:00
sdp3x drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
sds011 doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
seesaw_soil drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
servo drivers/servo: update build dependencies for Nordic families 2023-07-08 17:19:57 +02:00
sgp30 drivers/sgp30: add missing include 2022-09-26 18:54:40 +02:00
sht1x drivers/sht1x: add missing include for ARRAY_SIZE 2022-11-22 13:39:35 +01:00
sht2x drivers/sht2x: use sys/checksum/crc8 2022-12-14 21:47:32 +01:00
sht3x drivers/sht3x: fix references in documentation 2023-09-27 09:12:06 +02:00
shtcx drivers/shtcx: releases I2C-line properly 2022-07-20 17:37:33 +02:00
si70xx drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
si114x drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
si1133 drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
slipdev drivers/slipdev: fix logic bug 2023-05-19 23:01:30 +02:00
sm_pwm_01c drivers/sm_pwm_01c: add missing include 2022-09-26 18:54:40 +02:00
soft_spi drivers/soft_spi: fix device validation bug 2022-12-14 08:18:45 -05:00
soft_uart tree wide: fix typos in comments found by codespell 2023-05-02 09:52:06 +02:00
sps30 drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
srf02 drivers/srf02: Update kconfig model 2022-03-04 14:15:57 +01:00
srf04 boards: add some missing whitespaces for static tests 2022-09-14 15:11:14 +02:00
srf08 drivers/srf08: Update kconfig model 2022-03-04 14:15:58 +01:00
st77xx drivers/st77xx: fix compilation with NDEBUG 2023-09-22 17:00:00 +02:00
stmpe811 drivers/stmpe811: introduce coordinate conversion 2023-09-02 17:01:46 +02:00
sx126x drivers/sx126x: fix argument validation in spreading factor 2023-05-22 15:06:07 +02:00
sx127x drivers/sx127x: reduce use of floats 2023-06-12 13:54:06 +02:00
sx1280 netdev_drivers: make sure to signal LINK_UP at least once 2022-09-16 22:57:28 +02:00
tcs37727 drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
tja1042 drivers/tja1042: Update kconfig model 2022-03-04 14:16:02 +01:00
tmp00x drivers/tmp00x: Add missing doc and fix doccheck 2023-01-05 14:25:19 +01:00
touch_dev drivers/{disp,touch}_dev: pull auto_init_screen by default 2021-05-25 14:21:58 +02:00
touch_dev_gestures drivers: add gesture recognition for touch devices 2023-08-31 20:12:33 +02:00
tps6274x drivers/tps6274x: Update kconfig model 2022-03-04 14:15:58 +01:00
tsl2561 drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
tsl4531x drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
uart_half_duplex drivers/uart_half_duplex: add module to Kconfig 2020-12-02 10:13:50 +01:00
usbdev_mock usbdev_mock: Adapt to xmit API 2021-11-16 20:16:59 +01:00
usbdev_synopsys_dwc2 drivers/usdev_synopsys_dwc2: enable EFM32GG11B support 2023-09-18 12:40:33 +02:00
vcnl40x0 doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
veml6070 drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
vl6180x drivers/vl6180x: fix compilation with clang 2023-07-18 12:24:08 +02:00
w5100 drivers/shield_w5100: add module for the W5100 Ethernet Shield 2023-07-08 08:36:41 +02:00
ws281x drivers/ws281x: add ESP32x hardware support 2023-03-29 00:47:35 +02:00
xbee netdev_drivers: make sure to signal LINK_UP at least once 2022-09-16 22:57:28 +02:00
doc.txt drivers/shield_w5100: add module for the W5100 Ethernet Shield 2023-07-08 08:36:41 +02:00
Kconfig Merge #19825 2023-09-06 10:19:01 +00:00
Kconfig.net drivers/nrf24l01p: model in Kconfig 2023-05-24 10:18:53 +02:00
Makefile sys/auto_init: allow delayed initialisation of SAUL 2020-03-04 16:13:40 +01:00
Makefile.dep drivers: rename st7735 driver to more generic st77xx 2023-09-06 11:52:10 +02:00