1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/tests/drivers
bors[bot] 2a4496b32a
Merge #19539 #19815 #19860 #19886
19539: drivers/periph_sdmmc: define a High-level SDIO/SD/MMC API and low-level SDMMC periperal driver interface r=benpicco a=gschorcht

### Contribution description

This PR provides a SDIO/SD/MMC Device API (SDMMC). It implements a SD host controller driver that provides a high-level functions using a low-level SDIO/SD/MMC peripheral driver for accessing

- MultiMediaCards (MMC) and Embedded MultiMediaCards (eMMC)
- SD Memory Cards (SD Cards) with Standard Capacity (SDSC), High Capacity (SDHC) or Extended Capacity (SDXC).

It supports:

- 1-bit, 4-bit and 8-bit data bus width
- Default Speed and High Speed
- Auto-CLK

The SDIO/SD/MMC device API (SDMMC) is divided into two parts:

1. The high-level API that implements the SD Host Controller driver and allows
   - to inititialize and identify different types of cards,
   - to access them either blockwise or bytewise,
   - to get information about the used card, and
   - to send single commands or application specific commands to the card.

2. The low-level SDIO/SD/MMC peripheral driver implements the low-level functions required by the high-level device API. It has to be implemented for each MCU.

### Limitations:

- Only one card per SDIO/SD/MMC device is supported.
- eMMCs specific features are not supported.
- UHS-I, UHS-II and UHS-III are not supported.

### Testing procedure

PR #19540, PR #19760 or PR #19786 is needed to test this PR.

### Issues/PRs references

Prerequisite for PR #19540
Prerequisite for PR #19760
Prerequisite for PR #19786

19815: cpu/sam0_common/periph/sdhc: busy waiting and clock fixes r=benpicco a=benpicco



19860: drivers/ft5x06: fix vendor ID for FT6xx6 and FTxxxx register addresses r=benpicco a=gschorcht

### Contribution description

This PR provides a fix of the vendor ID for FT6xx6 touch panel driver ICs and a fix of register addresses for FTxxxx.

According to the [Application Note for FT6x06 CTPM](https://cdn-shop.adafruit.com/datasheets/FT6x06_AN_public_ver0.1.3.pdf), the vendor ID of FT6x06 touch panel driver ICs is `0x11` instead of `0xcd`. Although there are no information found in the Web about the FT6x36, the FT6336U touch panel of a ESP32-S3 WT32 SC01 Plus is also working with `0x11` as vendor ID so that it seems that FT6x36 is also using `0x11` as vendor ID.

Figured out with a `stm32f723e-disco` board (revision D03). Without this PR, `tests/drivers/ft5x06` gives:
```
+------------Initializing------------+
[ft5x06] init: invalid vendor ID: '0x11' (expected: 0xcd)
[Error] Initialization failed
```
With this PR it works as expected.
```
+------------Initializing------------+
Initialization successful
main(): This is RIOT! (Version: 2023.10-devel-96-gbb9011-drivers/ft5x06_fix_vendor_id)
FT5x06 test application

+------------Initializing------------+
[ft5x06] init: configuring touchscreen interrupt
Initialization successful
1 touch detected
[ft5x06] read gesture_id '0x00'
Touch 1 - X: 151, Y:138
[ft5x06] read gesture_id '0x00'
```

Some background information found in the Web:

- According to the [STM32CubeF7](c20e6dd15b/Drivers/BSP/STM32F723E-Discovery/stm32f723e_discovery_ts.c (L24-L27)) the FRIDA LCD panel mounted on the `stm32f723e-disco` board either uses FT6x36 (prior revision D) or FT3x67 (revision D). However, the FT5x06 driver type for the card is defined as FT6x06, which does not seem correct: bb9011c3fb/boards/stm32f723e-disco/include/board.h (L59)
- According to the [STM32CubeF7](c20e6dd15b/Drivers/BSP/Components/ft6x06/ft6x06.h (L269-L270)), the vendor ID for FT6x36 should be `0xcd`. However, the FT6336U on ESP32-S3 WT32 SC01 Plus works with vendor ID `0x11`.
- The [Adafruit FT6206 library](95118cd983/Adafruit_FT6206.h (L28)) uses `0x11` as vendor id.
- The `stm32l496g-disco` board uses a FT6236 which has vendor ID `0xcd`.

So the information available on the web is confusing. Maybe, a better solution would be to accept `0x11` as well as `0xcd` as vendor ID for FT6xxx touch panels. Unfortunately, there are no documents available on the registers directly from FocalTech 😟 so it seems to be more speculation than knowledge.

### Testing procedure


### Issues/PRs references



19886: cpu/efm32: fix DAC configuration r=benpicco a=gschorcht

### Contribution description

The EFM32 MCU allows the reference voltage to be configured per DAC device, not per DAC channel. Also, the DAC reference voltage was defined in the configuration but not used anywhere.

At the moment we have only defined one board (`stwstk6220a`) that uses the DAC, so changing the configuration interface shouldn't be critical.

### Testing procedure

`tests/periph/dac` should still work for the `stwstk6220a`
```
BOARD=slwstk6220a make -j8 -C tests/periph/dac flash
```
I don't have a `stwstk6220a` board (EFM32 Series 0) so that I can't test it. I could only test it for the `sltb009a` board (EFM32 Series 1) with the change for VDAC in PR #19887.

### Issues/PRs references


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
2023-08-23 16:55:09 +00:00
..
ad7746 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
adcxx1c examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
ads101x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
adt7310 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
adxl345 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
aip31068 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
apa102 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
apds99xx examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
apds99xx_full examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
at examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
at24cxxx examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
at24mac examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
at25xxx examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
at30tse75x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
at86rf2xx examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
at86rf2xx_aes examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
at86rf215 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
ata8520e examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
atwinc15x0 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
bh1750 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
bh1900nux examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
bme680 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
bmp180 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
bmx055 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
bmx280 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
bq2429x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
candev examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
cc110x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
cc2420 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
cc2538_rf tests/drivers: move all driver tests into own folder 2023-05-04 12:45:07 +02:00
ccs811 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
ccs811_full examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
cst816s examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
dac_dds tests/driver_dac_dds: make use of imath 2023-06-05 19:09:02 +02:00
dcf77 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
dfplayer examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
dht examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
disp_dev tests/drivers/disp_dev: fix off by one in display area 2023-07-22 18:37:02 +02:00
dose examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
ds18 tests/drivers: move all driver tests into own folder 2023-05-04 12:45:07 +02:00
ds75lx examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
ds1307 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
ds3231 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
ds3234 tests/drivers: move all driver tests into own folder 2023-05-04 12:45:07 +02:00
dsp0401 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
dynamixel examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
edbg_eui tests/drivers: move all driver tests into own folder 2023-05-04 12:45:07 +02:00
enc28j60 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
encx24j600 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
epd_bw_spi examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
epd_bw_spi_disp_dev examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
esp_eth tests/drivers: move all driver tests into own folder 2023-05-04 12:45:07 +02:00
ethos examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
feetech examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
ft5x06 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
fxos8700 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
gp2y10xx examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
grove_ledbar examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
hd44780 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
hdc1000 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
hih6130 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
hm330x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
hmc5883l examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
hsc examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
hts221 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
ili9341 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
ina2xx tests/drivers: move all driver tests into own folder 2023-05-04 12:45:07 +02:00
ina3221 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
io1_xplained examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
ir_nec examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
isl29020 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
isl29125 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
itg320x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
jc42 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
kw2xrf tests/drivers: fix broken symlinks and paths 2023-05-12 16:36:40 +02:00
l3g4200d examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
l3gxxxx examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
lc709203f examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
lis2dh12 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
lis3dh examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
lis3mdl examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
lm75 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
lpd8808 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
lpsxxx examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
lsm6dsl examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
lsm303dlhc examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
ltc4150 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
mag3110 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
matrix_keypad examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
mcp47xx examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
mfrc522 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
mhz19 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
mma8x5x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
mma7660 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
motor_driver tests/drivers: move all driver tests into own folder 2023-05-04 12:45:07 +02:00
mpl3115a2 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
mpu9x50 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
mq3 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
mrf24j40 tests/drivers: fix broken symlinks and paths 2023-05-12 16:36:40 +02:00
mtd_at24cxxx examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
mtd_at25xxx examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
mtd_flashpage tests: update tests for MSP430 CPU 2023-06-19 14:49:55 +02:00
mtd_mapper examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
mtd_raw examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
my9221 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
nrf24l01p_lowlevel examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
nrf24l01p_ng examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
nrf802154 tests/drivers/nrf802154: build for nrf52840dk by default 2023-05-12 16:36:40 +02:00
nrfmin tests/drivers: move all driver tests into own folder 2023-05-04 12:45:07 +02:00
nvram_spi examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
opt3001 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
pca9633 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
pca9685 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
pcd8544 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
pcf857x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
ph_oem examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
pir examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
pn532 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
pulse_counter examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
qmc5883l examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
rn2xx3 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
sam0_eth tests/drivers: move all driver tests into own folder 2023-05-04 12:45:07 +02:00
saul examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
saul_drivers tests: move remaining driver related applications to tests/drivers 2023-05-10 11:58:32 +02:00
scd30 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
sdcard_spi examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
sdmmc tests: add test app for periph_sdmmc 2023-08-08 10:03:57 +02:00
sdp3x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
sds011 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
seesaw_soil examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
servo examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
sgp30 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
sht1x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
sht2x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
sht3x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
shtcx tests/drivers/shtcx: don't repeat last string on error 2023-08-02 15:58:05 +02:00
si70xx examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
si114x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
si1133 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
sm_pwm_01c examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
soft_spi examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
soft_uart examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
sps30 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
srf02 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
srf04 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
srf08 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
st7735 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
stm32_eth tests/drivers: move all driver tests into own folder 2023-05-04 12:45:07 +02:00
stmpe811 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
sx126x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
sx127x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
sx1280 treewide: replace occurrences of tests/driver_ with new path 2023-05-06 15:38:21 +02:00
tcs37727 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
tmp00x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
touch_dev examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
tps6274x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
tsl2561 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
tsl4531x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
vcnl40x0 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
veml6070 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
vl6180x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
w5100 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
ws281x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
xbee examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
Makefile.drivers_common tests/drivers: move all driver tests into own folder 2023-05-04 12:45:07 +02:00