1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-18 12:52:44 +01:00
RIOT/drivers/include
bors[bot] 0fb6a09598
Merge #18903
18903: pkg/tinyusb: add tinyUSB netdev driver r=dylad a=gschorcht

### Contribution description

This PR adds the tinyUSB netdev driver.

The tinyUSB netdev driver is part of the tinyUSB package and is enabled by module `tinyusb_netdev`. It is available for boards that provide the `tinyusb_device` feature.

**Please note** Since the tinyUSB package is distinct from (and incompatible with) the USB stack provided around USBUS in RIOT (see USB), the tinyUSB netdev driver cannot be used together with with any USBUS device class.

The tinyUSB netdev driver uses Ethernet over USB and supports the following protocols:
- CDC ECM (Ethernet Control Model)
- CDC NCM (Network Control Model)
- RNDIS (Microsoft Remote NDIS)

While Linux and macOS support all these protocols, Microsoft Windows only supports the RNDIS protocol and since Windows version 11 also the CDC NCM protocol. macOS supports the RNDIS protocol since version 10.15 (Catalina).

Which protocol is used is selected by the corresponding pseudomodules `tinyusb_class_net_cdc_ecm`, `tinyusb_class_net_cdc_ncm` and `tinyusb_class_net_rndis`.

The CDC ECM protocol (`tinyusb_class_net_cdc_ecm`) and the RNDIS protocol (`tinyusb_class_net_rndis`) can be used simultaneously to support all operating systems, for example :
```
USEMODULE='tinyusb_netdev tinyusb_class_net_rndis tinyusb_class_net_cdc_ecm' \
BOARD=... make -C ... flash
 ```
In this case, the CDC ECM protocol is the default protocol and the RNDIS protocol the alternative protocol defined as second device configuration. The CDC NCM protocol cannot be used together with the CDC ECM or the RNDIS protocol.

This PR includes PR #18983 for now to be compilable. 

Comparison with USBUS CDC ECM (`nucleo-f767zi` board):
```
   text	   data	    bss	    dec	    hex	filename
  65916	    596	  18728	  85240	  14cf8	tests_pkg_tinyusb_netdev.elf
```
```
   text	   data	    bss	    dec	    hex	filename
  63120	    544	  15444	  79108	  13504	tests_usbus_cdc_ecm.elf

```

### Testing procedure

Use a board that is supported by tinyUSB. Compile and flash the test application for each protocol:

1. RNDIS
    ```
    BOARD=... make -j8 -C tests/pkg_tinyusb_netdev flash
    ```
2. CDC ECM
    ```
    CLASS=tinyusb_class_net_cdc_ecm BOARD=... make -j8 -C tests/pkg_tinyusb_netdev flash
    ```
3. CDC NCM
    ```
    CLASS=tinyusb_class_net_cdc_ncm BOARD=... make -j8 -C tests/pkg_tinyusb_netdev flash
    ```
For each test, a network interface should be added on the host. Use command `ifconfig` on USB device and on the host and check that both have a link local address. In syslog there should be an output like the following:
<details>

```
Nov 13 18:14:46 gunny8 kernel: [4611465.480025] usb 1-2.2: new full-speed USB device number 28 using xhci_hcd
Nov 13 18:14:47 gunny8 kernel: [4611465.581641] usb 1-2.2: New USB device found, idVendor=1209, idProduct=7d01, bcdDevice= 1.00
Nov 13 18:14:47 gunny8 kernel: [4611465.581646] usb 1-2.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Nov 13 18:14:47 gunny8 kernel: [4611465.581650] usb 1-2.2: Product: nucleo-f767zi
Nov 13 18:14:47 gunny8 kernel: [4611465.581653] usb 1-2.2: Manufacturer: RIOT-os.org
Nov 13 18:14:47 gunny8 kernel: [4611465.581654] usb 1-2.2: SerialNumber: 6591620BCB270283
Nov 13 18:14:47 gunny8 vmnetBridge: RTM_NEWLINK: name:usb0 index:508 flags:0x00001002
Nov 13 18:14:47 gunny8 vmnet-natd: RTM_NEWLINK: name:usb0 index:508 flags:0x00001002
Nov 13 18:14:47 gunny8 NetworkManager[24229]: <info>  [1668359687.1066] manager: (usb0): new Ethernet device (/org/freedesktop/NetworkManager/Devices/528)
Nov 13 18:14:47 gunny8 kernel: [4611465.594604] rndis_host 1-2.2:1.0 usb0: register 'rndis_host' at usb-0000:00:14.0-2.2, RNDIS device, fa:db:7c:1b:58:80
Nov 13 18:14:47 gunny8 mtp-probe: checking bus 1, device 28: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.2"
Nov 13 18:14:47 gunny8 mtp-probe: bus: 1, device: 28 was not an MTP device
Nov 13 18:14:47 gunny8 systemd-udevd[17796]: link_config: autonegotiation is unset or enabled, the speed and duplex are not writable.
Nov 13 18:14:47 gunny8 vmnet-natd: RTM_NEWLINK: name:usb0 index:508 flags:0x00001002
Nov 13 18:14:47 gunny8 kernel: [4611465.643852] rndis_host 1-2.2:1.0 enp0s20f0u2u2: renamed from usb0
Nov 13 18:14:47 gunny8 vmnetBridge: RTM_NEWLINK: name:usb0 index:508 flags:0x00001002
Nov 13 18:14:47 gunny8 vmnet-natd: RTM_NEWLINK: name:enp0s20f0u2u2 index:508 flags:0x00001002
Nov 13 18:14:47 gunny8 vmnetBridge: RTM_NEWLINK: name:enp0s20f0u2u2 index:508 flags:0x00001002
Nov 13 18:14:47 gunny8 NetworkManager[24229]: <info>  [1668359687.1833] device (usb0): interface index 508 renamed iface from 'usb0' to 'enp0s20f0u2u2'
Nov 13 18:14:47 gunny8 upowerd[2845]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.2/1-2.2:1.1
Nov 13 18:14:47 gunny8 NetworkManager[24229]: <info>  [1668359687.2037] device (enp0s20f0u2u2): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'external')
Nov 13 18:14:47 gunny8 vmnet-natd: RTM_NEWLINK: name:enp0s20f0u2u2 index:508 flags:0x00011043
Nov 13 18:14:47 gunny8 vmnetBridge: RTM_NEWLINK: name:enp0s20f0u2u2 index:508 flags:0x00011043
Nov 13 18:14:47 gunny8 vmnetBridge: Adding interface enp0s20f0u2u2 index:508
Nov 13 18:14:47 gunny8 NetworkManager[24229]: <info>  [1668359687.2075] device (enp0s20f0u2u2): carrier: link connected
Nov 13 18:14:47 gunny8 upowerd[2845]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.2/1-2.2:1.0
Nov 13 18:14:47 gunny8 NetworkManager[24229]: <info>  [1668359687.2129] settings: (enp0s20f0u2u2): created default wired connection 'Kabelgebundene Verbindung 2'
Nov 13 18:14:47 gunny8 NetworkManager[24229]: <warn>  [1668359687.2142] device (enp0s20f0u2u2): connectivity: "/proc/sys/net/ipv4/conf/enp0s20f0u2u2/rp_filter" is set to "1". This might break connectivity checking for IPv4 on this device
Nov 13 18:14:47 gunny8 NetworkManager[24229]: <info>  [1668359687.2151] device (enp0s20f0u2u2): state change: unavailable -> disconnected (reason 'none', sys-iface-state: 'managed')
Nov 13 18:14:47 gunny8 vmnetBridge: RTM_NEWLINK: name:enp0s20f0u2u2 index:508 flags:0x00011043
Nov 13 18:14:47 gunny8 vmnet-natd: RTM_NEWLINK: name:enp0s20f0u2u2 index:508 flags:0x00011043
Nov 13 18:14:47 gunny8 upowerd[2845]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.2
Nov 13 18:14:47 gunny8 systemd-udevd[17796]: link_config: autonegotiation is unset or enabled, the speed and duplex are not writable.
Nov 13 18:14:47 gunny8 NetworkManager[24229]: <info>  [1668359687.2403] policy: auto-activating connection 'Kabelgebundene Verbindung 2' (0b1ae45e-c76e-3efb-a2cd-138ca2b2a59c)
Nov 13 18:14:47 gunny8 NetworkManager[24229]: <info>  [1668359687.2414] device (enp0s20f0u2u2): Activation: starting connection 'Kabelgebundene Verbindung 2' (0b1ae45e-c76e-3efb-a2cd-138ca2b2a59c)
Nov 13 18:14:47 gunny8 NetworkManager[24229]: <info>  [1668359687.2419] device (enp0s20f0u2u2): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed')
Nov 13 18:14:47 gunny8 NetworkManager[24229]: <info>  [1668359687.2429] device (enp0s20f0u2u2): state change: prepare -> config (reason 'none', sys-iface-state: 'managed')
Nov 13 18:14:47 gunny8 NetworkManager[24229]: <info>  [1668359687.2440] device (enp0s20f0u2u2): state change: config -> ip-config (reason 'none', sys-iface-state: 'managed')
Nov 13 18:14:47 gunny8 NetworkManager[24229]: <info>  [1668359687.2445] dhcp4 (enp0s20f0u2u2): activation: beginning transaction (timeout in 45 seconds)
Nov 13 18:14:47 gunny8 vmnetBridge: RTM_NEWLINK: name:enp0s20f0u2u2 index:508 flags:0x00011043
Nov 13 18:14:47 gunny8 vmnet-natd: RTM_NEWLINK: name:enp0s20f0u2u2 index:508 flags:0x00011043
Nov 13 18:14:47 gunny8 avahi-daemon[1464]: Joining mDNS multicast group on interface enp0s20f0u2u2.IPv6 with address fe80::dba4:adb8:9ffe:d93e.
Nov 13 18:14:47 gunny8 avahi-daemon[1464]: New relevant interface enp0s20f0u2u2.IPv6 for mDNS.
Nov 13 18:14:47 gunny8 avahi-daemon[1464]: Registering new address record for fe80::dba4:adb8:9ffe:d93e on enp0s20f0u2u2.*.
Nov 13 18:14:47 gunny8 kernel: [4611465.895046] userif-1: sent link down event.
Nov 13 18:14:47 gunny8 kernel: [4611465.895052] userif-1: sent link up event.
```

</details>

Ping from and to the host.

### Issues/PRs references

Depends on PR https://github.com/RIOT-OS/RIOT/pull/18983

Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-02-03 09:32:29 +00:00
..
at25xxx drivers/at25xxx: add MTD wrapper for AT25XXX EEPROMs 2020-05-05 13:37:51 +01:00
can drivers/candev: fix non matching argument in doc 2022-01-03 09:51:40 +01:00
net drivers/netdev: add tinyUSB netdev 2023-02-01 21:57:23 +01:00
periph codespell: fix remaining issues 2022-09-16 14:00:35 +02:00
saul treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
ad7746.h
adcxx1c.h drivers/adcxx1c: add clear alert function 2020-08-31 15:53:53 +02:00
ads101x.h drivers/ads101x : Add CONFIG_ 2020-04-17 16:43:16 +05:30
adt7310.h
adxl345.h
aip31068.h driver/aip31068: add new driver 2020-09-29 14:42:15 +02:00
apa102.h
apds99xx.h drivers: add APDS99XX ALS and proximity 2020-03-11 14:21:47 +01:00
at24cxxx.h drivers/at24cxxx: export page-wise write function 2020-08-18 17:25:40 +02:00
at24mac.h drivers/at24mac: fix grouping in doc 2020-02-27 08:46:40 +01:00
at25xxx.h drivers/at25xxx: export page-wise write function 2020-08-18 17:25:40 +02:00
at30tse75x.h codespell: fix remaining issues 2022-09-16 14:00:35 +02:00
at86rf2xx.h drivers/at86rf2xx: move TX power logic to netdev 2022-12-06 15:40:43 +01:00
at86rf215.h doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
at.h drivers/at: add a function read a response plus the OK 2022-10-16 14:05:31 +02:00
ata8520e.h drivers/ata8520e: migrate to ztimer 2021-11-05 12:49:37 +01:00
atwinc15x0.h drivers/atwinc15x0: register with netdev 2022-03-30 16:07:29 +02:00
bh1750fvi.h
bh1900nux.h Add bh1900nux driver 2020-02-12 07:34:22 +01:00
bme680.h drivers/bme680: add SAUL capabilities 2020-03-12 08:52:10 +01:00
bmp180.h
bmx055.h drivers/bmx055 : Expose to Kconfig 2020-05-04 18:18:00 +05:30
bmx280.h drivers/bmx280: remove unused parameter spi3w_en #15954 2021-02-16 09:04:08 +09:00
bq2429x.h drivers: add bq2429x power management IC driver 2021-01-22 19:30:12 +01:00
candev_mcp2515.h drivers/mcp2515: use ztimer 2022-04-20 09:23:50 +02:00
cc1xxx_common.h drivers/cc110x: add weak function cc1xxx_eui_get() 2021-04-08 10:38:16 +02:00
cc110x.h Merge pull request #16232 from maribu/drivers/cc110x 2021-07-06 12:24:26 +02:00
cc2420.h drivers/cc2420: register with netdev 2021-04-27 17:37:52 +02:00
ccs811.h drivers/ccs811: small cleanups in documentation 2021-12-04 13:43:31 +01:00
cst816s.h drivers/cst816s: add touch_dev interface 2022-04-14 11:31:35 +02:00
dac_dds.h drivers/dac_dds: add module to play sample buffer over a DAC 2020-12-04 23:12:32 +01:00
dcf77.h treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
dfplayer.h drivers: Added driver for the DFPlayer MP3 player 2020-06-28 21:06:43 +02:00
dht.h drivers/dht: correct interpreting raw values 2021-11-20 14:55:02 +01:00
diskio.h treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
disp_dev.h drivers/disp_dev: use struct to store display area coordinates 2022-04-13 12:49:58 +02:00
dose.h drivers/dose: make RX buffer size configurable 2022-05-15 14:43:47 +02:00
ds18.h drivers/ds18.h: add missing stdint.h include 2021-11-09 21:48:48 +01:00
ds75lx.h
ds1307.h drivers/include/ds1307.h : Remove ifndef for I2C 2020-04-17 14:07:58 +05:30
ds3231.h drivers/ds3231 fix docs, alarms are supported 2022-12-27 17:21:55 +01:00
ds3234.h
dsp0401.h dsp0401: move to display devices doxygen group 2020-02-10 14:10:18 +01:00
dynamixel.h
edbg_eui.h drivers/edbg_eui: add note on edbg startup time 2020-09-28 20:18:43 +02:00
enc28j60.h drivers: add anchor to doc to allow stable references 2021-10-13 17:37:16 +02:00
encx24j600.h drivers/encx24j600: introduce setup function with index 2022-03-24 09:32:10 +01:00
ethos.h doc: sort all stdio implementations into sys_stdio group 2023-01-13 11:08:22 +01:00
feetech.h
ft5x06.h drivers/ft5x06: allow multiple device types 2022-01-21 13:13:09 +01:00
fxos8700.h drivers/fxos8700 : Add CONFIG_ 2020-04-29 14:32:00 +05:30
gp2y10xx.h drivers: add gp2y10xx dust sensor 2020-11-18 09:13:56 +01:00
grove_ledbar.h
hd44780.h hd44780: move to display devices doxygen group 2020-02-10 14:10:46 +01:00
hdc1000.h drivers/hdc1000 : Add CONFIG_ 2020-04-16 17:17:27 +05:30
hih6130.h
hm330x.h drivers/hms330x: initial import 2021-12-16 15:19:44 +01:00
hmc5883l.h drivers: add hmc5883l device driver 2020-04-01 13:37:22 +02:00
hsc.h treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
hts221.h drivers/include/hts221.h : Remove ifndef for I2C 2020-04-17 14:07:58 +05:30
ili9341.h drivers/lcd: rework rotation modes and enable it with st7735 2022-04-19 16:22:10 +02:00
ina2xx.h
ina3221.h drivers/ina3221: refactor 2021-07-07 08:40:02 +02:00
io1_xplained.h
ir_nec.h drivers/ir_nec: ir remote implementation 2022-05-31 17:58:39 +02:00
isl29020.h drivers/isl29020 : Expose to Kconfig 2020-05-08 18:07:27 +05:30
isl29125.h
itg320x.h drivers: add driver for ITG320X 3-axis gyroscope 2020-01-11 08:02:34 +01:00
jc42.h treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
kw2xrf.h drivers/kw2xrf: remove unused kw2xrf_setup function 2022-08-25 15:44:34 +02:00
kw41zrf.h drivers/kw41zrf: register with netdev 2020-10-08 16:19:23 +02:00
l3g4200d.h drivers/l3g4200d : Expose to Kconfig 2020-05-05 13:19:49 +05:30
l3gxxxx.h codespell: fix remaining issues 2022-09-16 14:00:35 +02:00
lc709203f.h drivers/lc709203f: fix typo 'Invlid' -> 'Invalid' 2020-10-02 08:05:00 +02:00
lcd.h drivers/lcd: rework rotation modes and enable it with st7735 2022-04-19 16:22:10 +02:00
led.h
lis2dh12.h drivers/lis2dh12: fix missing stdbool include 2022-01-06 12:07:41 +01:00
lis3dh.h drivers/lis3dh: fix unaligned memory access 2021-11-06 20:05:05 +01:00
lis3mdl.h treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
lm75.h doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
lpd8808.h
lpsxxx.h driver/lpsxxx: adding lps22ch support 2022-03-09 15:23:51 +01:00
lsm6dsl.h
lsm303dlhc.h
ltc4150.h drivers/ltc4150: migrate to ztimer64 2022-01-18 16:27:44 +01:00
mag3110.h drivers/mag3110 : Add CONFIG_ 2020-04-23 15:49:55 +05:30
matrix_keypad.h matrix_keypad: Add driver for a matrix keypad 2022-10-28 10:03:37 +02:00
mcp47xx.h drivers/mcp47xx: add driver for MCP47xx DAC devices 2021-12-08 05:42:07 +01:00
mfrc522.h drivers/mfrc522: add new driver 2023-01-31 21:05:07 +01:00
mhz19.h drivers/mhz19: initial support 2020-06-17 08:41:41 +02:00
mii.h drivers/mii: fix typo 'auto-negotation' => 'auto-negotiation' 2020-10-27 10:33:48 +01:00
mma8x5x.h drivers/mma8x5x : Add CONFIG_ 2020-04-22 21:57:05 +05:30
mma7660.h treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
motor_driver.h drivers/motor_driver : Add CONFIG_ 2020-04-23 15:21:17 +05:30
mpl3115a2.h drivers/include/mpl3115a2.h : Remove ifndef for I2C 2020-04-17 15:45:37 +05:30
mpu9x50.h drivers/mpu9x50: Fix prameter placement for docs 2020-01-13 12:50:13 +01:00
mq3.h
mrf24j40.h drivers/mrf24j40: add support for IEEE 802.15.4 Radio HAL 2023-01-19 15:31:06 +01:00
mtd_at24cxxx.h drivers/at24cxxx: add MTD wrapper for at24cxxx EEPROMs 2020-05-20 19:20:05 +02:00
mtd_flashpage.h drives/mtd_flashpage: Configure write_size in MTD device 2022-03-31 10:52:34 +02:00
mtd_mapper.h drivers/mtd_mapper: Add write_size 2022-03-31 10:58:52 +02:00
mtd_sdcard.h drivers/mtd_sdcard: implement erase_sector() 2022-02-07 11:40:27 +01:00
mtd_spi_nor.h drivers/mtd_spi_nor: drop addr_width from mtd_spi_nor_params_t 2022-02-04 12:17:17 +01:00
mtd.h drivers/mtd: fix doc of mtd_read_page(), mtd_write_page_raw() 2022-06-20 14:59:41 +02:00
my9221.h
ncv7356.h drivers/ncv7356: Add documentation 2019-11-27 13:35:57 +01:00
nrf24l01p_ng.h nrf24l01p_ng: add hook nrf24l01p_ng_eui_get() 2021-04-09 17:39:40 +02:00
nrf24l01p.h treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
nvram-spi.h
nvram.h
opt3001.h treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
pca9633.h drivers/pca9633: make enum anonymous 2020-07-17 15:05:32 +02:00
pca9685.h drivers/pca9685: fix typo (oscilator => oscillator) 2021-01-08 10:15:33 +01:00
pcd8544.h pcd8544: move to display devices doxygen group 2020-02-10 14:11:17 +01:00
pcf857x.h boards: add some missing whitespaces for static tests 2022-09-14 15:11:14 +02:00
ph_oem.h
pir.h treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
pn532.h treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
pulse_counter.h drivers/pulse_counter: Use C11 atomics & bugfix 2019-11-26 14:04:42 +01:00
qmc5883l.h
rgbled.h treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
rn2xx3.h drivers/rn2xx3: migrate to ztimer 2021-11-04 10:39:36 +01:00
rtt_rtc.h rtt_rtc: clarify documentation about epoch 2021-09-28 15:12:14 +02:00
saul.h drivers/saul: use const qualifier for data to write 2022-05-23 08:35:27 +02:00
scd30.h drivers/scd30: Add reset function to Sensirion scd30 sensor 2020-10-14 15:07:01 +02:00
screen_dev.h drivers/screen_dev: add a bit of documentation 2021-03-03 18:04:42 +01:00
sdcard_spi.h drivers/sdcard_spi: make 8-bit safe 2022-09-11 10:27:40 +02:00
sdp3x.h drivers/sdp3x: Driver for sensirion sdp3x sensor 2020-06-29 20:50:41 +02:00
sds011.h drivers/include: fix typos 2019-11-23 22:39:40 +01:00
seesaw_soil.h Add support for Adafruit Seesaw Soil moisture sensor (#14835) 2020-09-23 17:35:33 +02:00
servo.h
sgp30.h driver/sgp30: initial import 2021-04-08 10:14:30 +02:00
sht1x.h drivers/sht1x: fix doccheck 2022-09-16 11:12:27 +02:00
sht2x.h drivers/sht2x: fix measurement duration 2022-12-14 21:47:32 +01:00
sht3x.h treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
shtcx.h drivers/shtcx: integration of shtc3 sensor 2022-03-10 21:35:25 +01:00
si70xx.h drivers/si70xx: Add support for Si705x sensors 2021-04-17 20:14:35 +00:00
si114x.h treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
si1133.h drivers/si1133: New SI1133 UV/IR/Ambient light driver 2020-12-14 03:13:23 +00:00
slipdev.h doc: sort all stdio implementations into sys_stdio group 2023-01-13 11:08:22 +01:00
sm_pwm_01c.h drivers/sm_pwm_01c: initial import 2021-04-07 12:05:09 +02:00
soft_spi.h drivers/soft_spi: remove nanosleep 2021-11-30 10:31:22 +01:00
soft_uart.h drivers/soft_uart: fix typo in eMail address 2021-04-26 17:15:17 +02:00
sps30.h drivers/sps30: Add sleep mode 2020-08-25 16:20:18 +02:00
srf02.h
srf04.h drivers/sfr04: Use uncrustify 2020-11-22 23:12:40 +01:00
srf08.h drivers/srf08: refactor driver configuration 2020-02-25 21:24:02 +01:00
st7735.h drivers/lcd: rework rotation modes and enable it with st7735 2022-04-19 16:22:10 +02:00
stm32_eth.h
stmpe811.h drivers/stmpe811: add spi mode 2021-12-03 17:12:03 +01:00
sx126x.h drivers/sx126x: add tx_pa_mode 2021-11-08 18:42:05 +01:00
sx127x.h Revert "drivers/sx127x: fix size of rx symbol timeout" 2021-07-13 21:14:28 +02:00
sx1280.h drivers/sx1280: initial import 2022-05-18 17:06:12 +02:00
tcs37727.h drivers/tcs37727 : Expose to Kconfig 2020-05-07 23:55:32 +05:30
tja1042.h
tmp00x.h doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
touch_dev.h drivers/touch_dev: extend API to set event callback function 2021-03-03 18:00:49 +01:00
tps6274x.h
tsl2561.h
tsl4531x.h drivers/include: fix typos 2019-11-23 22:39:40 +01:00
usbdev_mock.h doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
usbdev_synopsys_dwc2.h drivers/usbdev_synopsys_dwc2: add internal UTMI HS PHY support 2022-10-16 11:35:42 +02:00
vcnl40x0.h
veml6070.h
vl6180x.h drivers/vl6180x: driver for VL6180X ranging and ALS 2023-02-02 02:04:09 +01:00
w5100.h doc: fix unbalaced grouping 2022-09-14 15:05:25 +02:00
ws281x.h drivers/ws281x: Extended doc 2020-04-09 13:34:51 +02:00
xbee.h codespell: fix remaining issues 2022-09-16 14:00:35 +02:00