summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHa Thach <[email protected]>2024-08-19 21:42:14 +0700
committerGitHub <[email protected]>2024-08-19 21:42:14 +0700
commit5f519819bad94b1d19364b485c314b412199fba0 (patch)
tree1cc0eed20cb8950d7a8b97cfb80a12a3eaf3fb89
parentca3925a4c5b8958ec6f49818e78ccf35aba59247 (diff)
parent0541598d07fd57e4ad0067abe85c4c7a71b3756a (diff)
Merge pull request #2767 from hathach/minor-update
Minor update
-rw-r--r--.github/workflows/build.yml5
-rw-r--r--README.rst4
-rw-r--r--docs/reference/supported.rst277
-rw-r--r--examples/device/cdc_dual_ports/src/usb_descriptors.c2
-rw-r--r--examples/device/cdc_msc/src/usb_descriptors.c2
-rw-r--r--examples/device/cdc_msc_freertos/src/usb_descriptors.c2
-rw-r--r--examples/device/cdc_uac2/src/usb_descriptors.c2
-rw-r--r--examples/device/dynamic_configuration/src/usb_descriptors.c2
-rw-r--r--examples/device/midi_test/src/usb_descriptors.c2
-rw-r--r--examples/device/msc_dual_lun/src/usb_descriptors.c2
-rw-r--r--examples/device/net_lwip_webserver/src/usb_descriptors.c2
-rw-r--r--examples/device/uac2_headset/src/usb_descriptors.c2
-rw-r--r--examples/device/uac2_speaker_fb/src/usb_descriptors.c2
-rw-r--r--examples/device/video_capture/src/tusb_config.h2
-rw-r--r--examples/device/video_capture/src/usb_descriptors.c2
-rw-r--r--examples/device/webusb_serial/src/usb_descriptors.c2
-rw-r--r--src/common/tusb_mcu.h16
-rw-r--r--src/device/dcd.h2
-rw-r--r--src/portable/microchip/samg/dcd_samg.c5
-rw-r--r--src/portable/nxp/lpc17_40/dcd_lpc17_40.c5
-rw-r--r--src/portable/template/dcd_template.c16
-rw-r--r--src/portable/ti/msp430x5xx/dcd_msp430x5xx.c5
-rw-r--r--src/portable/valentyusb/eptri/dcd_eptri.c5
-rw-r--r--test/hil/hil_test.py6
-rw-r--r--test/hil/rpi.json9
25 files changed, 208 insertions, 173 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index fde9400a7..e4204ca3d 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -66,7 +66,7 @@ jobs:
build-system: 'cmake'
toolchain: ${{ matrix.toolchain }}
build-args: ${{ toJSON(fromJSON(needs.set-matrix.outputs.json)[matrix.toolchain].family) }}
- one-per-family: ${{ github.event_name != 'pull_request' }}
+ one-per-family: ${{ github.event_name == 'push' }}
# ---------------------------------------
# Build CMake arm-gcc
@@ -103,12 +103,13 @@ jobs:
build-system: 'make'
toolchain: ${{ matrix.toolchain }}
build-args: ${{ toJSON(fromJSON(needs.set-matrix.outputs.json)[matrix.toolchain].family) }}
- one-per-family: ${{ github.event_name != 'pull_request' }}
+ one-per-family: ${{ github.event_name == 'push' }}
# ---------------------------------------
# Build Make on Windows/MacOS
# ---------------------------------------
make-os:
+ if: github.event_name == 'pull_request'
uses: ./.github/workflows/build_util.yml
strategy:
fail-fast: false
diff --git a/README.rst b/README.rst
index 422f23271..6dd0e2714 100644
--- a/README.rst
+++ b/README.rst
@@ -109,7 +109,9 @@ Following CPUs are supported, check out `Supported Devices`_ for comprehensive l
+==============+============================================================+
| Allwinner | F1C100s/F1C200s |
+--------------+------------------------------------------------------------+
-| Analog | MAX3421E (usb host shield) |
+| Analog | max32: 650, 666, 690. max78002 |
+| | |
+| | max3421e (host) |
+--------------+------------------------------------------------------------+
| Brigetek | FT90x |
+--------------+------------------------------------------------------------+
diff --git a/docs/reference/supported.rst b/docs/reference/supported.rst
index edb6b69ca..2bfa1b8d0 100644
--- a/docs/reference/supported.rst
+++ b/docs/reference/supported.rst
@@ -5,147 +5,142 @@ Supported Devices
Supported MCUs
==============
-+--------------+-----------------------+--------+------+-----------+-------------------+--------------+
-| Manufacturer | Family | Device | Host | Highspeed | Driver | Note |
-+==============+=======================+========+======+===========+===================+==============+
-| Allwinner | F1C100s/F1C200s | ✔ | | ✔ | sunxi | musb variant |
-+--------------+-----------------------+--------+------+-----------+-------------------+--------------+
-| Analog | MAX3421E | | ✔ | ✖ | max3421 | via SPI |
-+--------------+-----------------------+--------+------+-----------+-------------------+--------------+
-| Brigetek | FT90x | ✔ | | ✔ | ft9xx | |
-+--------------+-----------------------+--------+------+-----------+-------------------+--------------+
-| Broadcom | BCM2711, BCM2837 | ✔ | | ✔ | dwc2 | |
-+--------------+-----------------------+--------+------+-----------+-------------------+--------------+
-| Dialog | DA1469x | ✔ | ✖ | ✖ | da146xx | |
-+--------------+-----------------------+--------+------+-----------+-------------------+--------------+
-| Espressif | ESP32 S2, S3 | ✔ | | ✖ | dwc2 or esp32sx | |
-+--------------+-----------------------+--------+------+-----------+-------------------+--------------+
-| GigaDevice | GD32VF103 | ✔ | | ✖ | dwc2 | |
-+--------------+-----------------------+--------+------+-----------+-------------------+--------------+
-| Infineon | XMC4500 | ✔ | | ✖ | dwc2 | |
-+--------------+-----+-----------------+--------+------+-----------+-------------------+--------------+
-| MicroChip | SAM | D11, D21 | ✔ | | ✖ | samd | |
-| | +-----------------+--------+------+-----------+-------------------+--------------+
-| | | D51, E5x | ✔ | | ✖ | samd | |
-| | +-----------------+--------+------+-----------+-------------------+--------------+
-| | | G55 | ✔ | | ✖ | samg | |
-| | +-----------------+--------+------+-----------+-------------------+--------------+
-| | | L21, L22 | ✔ | | ✖ | samd | |
-| | +-----------------+--------+------+-----------+-------------------+--------------+
-| | | E70,S70,V70,V71 | ✔ | | ✔ | samx7x | |
-| +-----+-----------------+--------+------+-----------+-------------------+--------------+
-| | PIC | 24 | ✔ | | | pic | ci_fs variant|
-| | +-----------------+--------+------+-----------+-------------------+--------------+
-| | | 32 mm, mk, mx | ✔ | | | pic | ci_fs variant|
-| | +-----------------+--------+------+-----------+-------------------+--------------+
-| | | dsPIC33 | ✔ | | | pic | ci_fs variant|
-| | +-----------------+--------+------+-----------+-------------------+--------------+
-| | | 32mz | ✔ | | | pic32mz | musb variant |
-+--------------+-----+-----------------+--------+------+-----------+-------------------+--------------+
-| Mind Montion | mm32 | ✔ | | ✖ | mm32f327x_otg | ci_fs variant|
-+--------------+-----+-----------------+--------+------+-----------+-------------------+--------------+
-| NordicSemi | nRF52833, nRF52840 | ✔ | ✖ | ✖ | nrf5x | |
-| +-----------------------+--------+------+-----------+-------------------+--------------+
-| | nRF5340 | ✔ | ✖ | ✖ | nrf5x | |
-+--------------+-----------------------+--------+------+-----------+-------------------+--------------+
-| Nuvoton | NUC120 | ✔ | ✖ | ✖ | nuc120 | |
-| +-----------------------+--------+------+-----------+-------------------+--------------+
-| | NUC121/NUC125 | ✔ | ✖ | ✖ | nuc121 | |
-| +-----------------------+--------+------+-----------+-------------------+--------------+
-| | NUC126 | ✔ | ✖ | ✖ | nuc121 | |
-| +-----------------------+--------+------+-----------+-------------------+--------------+
-| | NUC505 | ✔ | | ✔ | nuc505 | |
-+--------------+---------+-------------+--------+------+-----------+-------------------+--------------+
-| NXP | iMXRT | RT10xx | ✔ | ✔ | ✔ | ci_hs | |
-| | +-------------+--------+------+-----------+-------------------+--------------+
-| | | RT11xx | ✔ | ✔ | ✔ | ci_hs | |
-| +---------+-------------+--------+------+-----------+-------------------+--------------+
-| | Kinetis | KL | ✔ | ⚠ | ✖ | ci_fs, khci | |
-| | +-------------+--------+------+-----------+-------------------+--------------+
-| | | K32L2 | ✔ | | ✖ | khci | ci_fs variant|
-| +---------+-------------+--------+------+-----------+-------------------+--------------+
-| | LPC | 11u, 13, 15 | ✔ | ✖ | ✖ | lpc_ip3511 | |
-| | +-------------+--------+------+-----------+-------------------+--------------+
-| | | 17, 40 | ✔ | ⚠ | ✖ | lpc17_40 | |
-| | +-------------+--------+------+-----------+-------------------+--------------+
-| | | 18, 43 | ✔ | ✔ | ✔ | ci_hs | |
-| | +-------------+--------+------+-----------+-------------------+--------------+
-| | | 51u | ✔ | ✖ | ✖ | lpc_ip3511 | |
-| | +-------------+--------+------+-----------+-------------------+--------------+
-| | | 54 | ✔ | | ✔ | lpc_ip3511 | |
-| | +-------------+--------+------+-----------+-------------------+--------------+
-| | | 55 | ✔ | | ✔ | lpc_ip3511 | |
-| +---------+-------------+--------+------+-----------+-------------------+--------------+
-| | MCX | N9 | ✔ | | ✔ | ci_fs, ci_hs | |
-+--------------+---------+-------------+--------+------+-----------+-------------------+--------------+
-| Raspberry Pi | RP2040 | ✔ | ✔ | ✖ | rp2040, pio_usb | |
-+--------------+-----+-----------------+--------+------+-----------+-------------------+--------------+
-| Renesas | RX | 63N, 65N, 72N | ✔ | ✔ | ✖ | rusb2 | |
-| +-----+-----------------+--------+------+-----------+-------------------+--------------+
-| | RA | 4M1, 4M3, 6M1 | ✔ | ✔ | ✖ | rusb2 | |
-| | +-----------------+--------+------+-----------+-------------------+--------------+
-| | | 6M5 | ✔ | ✔ | ✔ | rusb2 | |
-+--------------+-----+-----------------+--------+------+-----------+-------------------+--------------+
-| Silabs | EFM32GG12 | ✔ | | ✖ | dwc2 | |
-+--------------+-----------------------+--------+------+-----------+-------------------+--------------+
-| Sony | CXD56 | ✔ | ✖ | ✔ | cxd56 | |
-+--------------+-----------------------+--------+------+-----------+-------------------+--------------+
-| ST STM32 | F0 | ✔ | ✖ | ✖ | stm32_fsdev | |
-| +----+------------------+--------+------+-----------+-------------------+--------------+
-| | F1 | 102, 103 | ✔ | ✖ | ✖ | stm32_fsdev | |
-| | +------------------+--------+------+-----------+-------------------+--------------+
-| | | 105, 107 | ✔ | | ✖ | dwc2 | |
-| +----+------------------+--------+------+-----------+-------------------+--------------+
-| | F2 | ✔ | | ✔ | dwc2 | |
-| +-----------------------+--------+------+-----------+-------------------+--------------+
-| | F3 | ✔ | ✖ | ✖ | stm32_fsdev | |
-| +-----------------------+--------+------+-----------+-------------------+--------------+
-| | F4 | ✔ | | ✔ | dwc2 | |
-| +-----------------------+--------+------+-----------+-------------------+--------------+
-| | F7 | ✔ | | ✔ | dwc2 | |
-| +-----------------------+--------+------+-----------+-------------------+--------------+
-| | G0 | ✔ | | ✖ | stm32_fsdev | |
-| +-----------------------+--------+------+-----------+-------------------+--------------+
-| | G4 | ✔ | ✖ | ✖ | stm32_fsdev | |
-| +-----------------------+--------+------+-----------+-------------------+--------------+
-| | H5 | ✔ | | ✖ | stm32_fsdev | |
-| +-----------------------+--------+------+-----------+-------------------+--------------+
-| | H7 | ✔ | | ✔ | dwc2 | |
-| +-----------------------+--------+------+-----------+-------------------+--------------+
-| | L0 | ✔ | ✖ | ✖ | stm32_fsdev | |
-| +-----------------------+--------+------+-----------+-------------------+--------------+
-| | L1 | ✔ | ✖ | ✖ | stm32_fsdev | |
-| +----+------------------+--------+------+-----------+-------------------+--------------+
-| | L4 | 4x2, 4x3 | ✔ | ✖ | ✖ | stm32_fsdev | |
-| | +------------------+--------+------+-----------+-------------------+--------------+
-| | | 4x5, 4x6 | ✔ | | ✖ | dwc2 | |
-| +----+------------------+--------+------+-----------+-------------------+--------------+
-| | L4+ | ✔ | | ✖ | dwc2 | |
-| +-----------------------+--------+------+-----------+-------------------+--------------+
-| | L5 | ✔ | ✖ | ✖ | stm32_fsdev | |
-| +----+------------------+--------+------+-----------+-------------------+--------------+
-| | U5 | 535, 545 | ✔ | | ✖ | stm32_fsdev | |
-| | +------------------+--------+------+-----------+-------------------+--------------+
-| | | 575, 585 | ✔ | | ✖ | dwc2 | |
-| | +------------------+--------+------+-----------+-------------------+--------------+
-| | | 59x,5Ax,5Fx,5Gx | ✔ | | ✔ | dwc2 | |
-| +----+------------------+--------+------+-----------+-------------------+--------------+
-| | WBx5 | ✔ | ✖ | ✖ | stm32_fsdev | |
-+--------------+-----------------------+--------+------+-----------+-------------------+--------------+
-| TI | MSP430 | ✔ | ✖ | ✖ | msp430x5xx | |
-| +-----------------------+--------+------+-----------+-------------------+--------------+
-| | MSP432E4 | ✔ | | ✖ | musb | |
-| +-----------------------+--------+------+-----------+-------------------+--------------+
-| | TM4C123 | ✔ | | ✖ | musb | |
-+--------------+-----------------------+--------+------+-----------+-------------------+--------------+
-| ValentyUSB | eptri | ✔ | ✖ | ✖ | eptri | |
-+--------------+-----------------------+--------+------+-----------+-------------------+--------------+
-| WCH | CH32F20x | ✔ | | ✔ | ch32f205 | |
-| +-----------------------+--------+------+-----------+-------------------+--------------+
-| | CH32V20x | ✔ | | ✖ | ch32v20x | |
-| +-----------------------+--------+------+-----------+-------------------+--------------+
-| | CH32V307 | ✔ | | ✔ | ch32v307 | |
-+--------------+-----------------------+--------+------+-----------+-------------------+--------------+
++--------------+-----------------------------+--------+------+-----------+-------------------+-------------------+
+| Manufacturer | Family | Device | Host | Highspeed | Driver | Note |
++==============+=============================+========+======+===========+===================+===================+
+| Allwinner | F1C100s/F1C200s | ✔ | | ✔ | sunxi | musb variant |
++--------------+-----------------------------+--------+------+-----------+-------------------+-------------------+
+| Analog | MAX3421E | | ✔ | ✖ | max3421 | via SPI |
+| +-----------------------------+--------+------+-----------+-------------------+-------------------+
+| | MAX32 650, 666, 690, | ✔ | | ✔ | musb | 1-dir ep |
+| | MAX78002 | | | | | |
++--------------+-----------------------------+--------+------+-----------+-------------------+-------------------+
+| Brigetek | FT90x | ✔ | | ✔ | ft9xx | 1-dir ep |
++--------------+-----------------------------+--------+------+-----------+-------------------+-------------------+
+| Broadcom | BCM2711, BCM2837 | ✔ | | ✔ | dwc2 | |
++--------------+-----------------------------+--------+------+-----------+-------------------+-------------------+
+| Dialog | DA1469x | ✔ | ✖ | ✖ | da146xx | |
++--------------+-----------------------------+--------+------+-----------+-------------------+-------------------+
+| Espressif | ESP32 S2, S3 | ✔ | | ✖ | dwc2 or esp32sx | |
++--------------+-----------------------------+--------+------+-----------+-------------------+-------------------+
+| GigaDevice | GD32VF103 | ✔ | | ✖ | dwc2 | |
++--------------+-----------------------------+--------+------+-----------+-------------------+-------------------+
+| Infineon | XMC4500 | ✔ | | ✖ | dwc2 | |
++--------------+-----+-----------------------+--------+------+-----------+-------------------+-------------------+
+| MicroChip | SAM | D11, D21, L21, L22 | ✔ | | ✖ | samd | |
+| | +-----------------------+--------+------+-----------+-------------------+-------------------+
+| | | D51, E5x | ✔ | | ✖ | samd | |
+| | +-----------------------+--------+------+-----------+-------------------+-------------------+
+| | | G55 | ✔ | | ✖ | samg | 1-dir ep |
+| | +-----------------------+--------+------+-----------+-------------------+-------------------+
+| | | E70,S70,V70,V71 | ✔ | | ✔ | samx7x | 1-dir ep |
+| +-----+-----------------------+--------+------+-----------+-------------------+-------------------+
+| | PIC | 24 | ✔ | | | pic | ci_fs variant |
+| | +-----------------------+--------+------+-----------+-------------------+-------------------+
+| | | 32 mm, mk, mx | ✔ | | | pic | ci_fs variant |
+| | +-----------------------+--------+------+-----------+-------------------+-------------------+
+| | | dsPIC33 | ✔ | | | pic | ci_fs variant |
+| | +-----------------------+--------+------+-----------+-------------------+-------------------+
+| | | 32mz | ✔ | | | pic32mz | musb variant |
++--------------+-----+-----------------------+--------+------+-----------+-------------------+-------------------+
+| Mind Montion | mm32 | ✔ | | ✖ | mm32f327x_otg | ci_fs variant |
++--------------+-----+-----------------------+--------+------+-----------+-------------------+-------------------+
+| NordicSemi | nRF 52833, 52840, 5340 | ✔ | ✖ | ✖ | nrf5x | only ep8 is ISO |
++--------------+-----------------------------+--------+------+-----------+-------------------+-------------------+
+| Nuvoton | NUC120 | ✔ | ✖ | ✖ | nuc120 | |
+| +-----------------------------+--------+------+-----------+-------------------+-------------------+
+| | NUC121/NUC125 | ✔ | ✖ | ✖ | nuc121 | |
+| +-----------------------------+--------+------+-----------+-------------------+-------------------+
+| | NUC126 | ✔ | ✖ | ✖ | nuc121 | |
+| +-----------------------------+--------+------+-----------+-------------------+-------------------+
+| | NUC505 | ✔ | | ✔ | nuc505 | |
++--------------+---------+-------------------+--------+------+-----------+-------------------+-------------------+
+| NXP | iMXRT | RT 10xx, 11xx | ✔ | ✔ | ✔ | ci_hs | |
+| +---------+-------------------+--------+------+-----------+-------------------+-------------------+
+| | Kinetis | KL | ✔ | ⚠ | ✖ | ci_fs, khci | |
+| | +-------------------+--------+------+-----------+-------------------+-------------------+
+| | | K32L2 | ✔ | | ✖ | khci | ci_fs variant |
+| +---------+-------------------+--------+------+-----------+-------------------+-------------------+
+| | LPC | 11u, 13, 15 | ✔ | ✖ | ✖ | lpc_ip3511 | |
+| | +-------------------+--------+------+-----------+-------------------+-------------------+
+| | | 17, 40 | ✔ | ⚠ | ✖ | lpc17_40 | |
+| | +-------------------+--------+------+-----------+-------------------+-------------------+
+| | | 18, 43 | ✔ | ✔ | ✔ | ci_hs | |
+| | +-------------------+--------+------+-----------+-------------------+-------------------+
+| | | 51u | ✔ | ✖ | ✖ | lpc_ip3511 | |
+| | +-------------------+--------+------+-----------+-------------------+-------------------+
+| | | 54, 55 | ✔ | | ✔ | lpc_ip3511 | |
+| +---------+-------------------+--------+------+-----------+-------------------+-------------------+
+| | MCX | N9 | ✔ | | ✔ | ci_fs, ci_hs | |
++--------------+---------+-------------------+--------+------+-----------+-------------------+-------------------+
+| Raspberry Pi | RP2040, RP2350 | ✔ | ✔ | ✖ | rp2040, pio_usb | |
++--------------+-----+-----------------------+--------+------+-----------+-------------------+-------------------+
+| Renesas | RX | 63N, 65N, 72N | ✔ | ✔ | ✖ | rusb2 | |
+| +-----+-----------------------+--------+------+-----------+-------------------+-------------------+
+| | RA | 4M1, 4M3, 6M1 | ✔ | ✔ | ✖ | rusb2 | |
+| | +-----------------------+--------+------+-----------+-------------------+-------------------+
+| | | 6M5 | ✔ | ✔ | ✔ | rusb2 | |
++--------------+-----+-----------------------+--------+------+-----------+-------------------+-------------------+
+| Silabs | EFM32GG12 | ✔ | | ✖ | dwc2 | |
++--------------+-----------------------------+--------+------+-----------+-------------------+-------------------+
+| Sony | CXD56 | ✔ | ✖ | ✔ | cxd56 | |
++--------------+-----------------------------+--------+------+-----------+-------------------+-------------------+
+| ST STM32 | F0 | ✔ | ✖ | ✖ | stm32_fsdev | |
+| +----+------------------------+--------+------+-----------+-------------------+-------------------+
+| | F1 | 102, 103 | ✔ | ✖ | ✖ | stm32_fsdev | |
+| | +------------------------+--------+------+-----------+-------------------+-------------------+
+| | | 105, 107 | ✔ | | ✖ | dwc2 | |
+| +----+------------------------+--------+------+-----------+-------------------+-------------------+
+| | F2 | ✔ | | ✔ | dwc2 | |
+| +-----------------------------+--------+------+-----------+-------------------+-------------------+
+| | F3 | ✔ | ✖ | ✖ | stm32_fsdev | |
+| +-----------------------------+--------+------+-----------+-------------------+-------------------+
+| | F4 | ✔ | | ✔ | dwc2 | |
+| +-----------------------------+--------+------+-----------+-------------------+-------------------+
+| | F7 | ✔ | | ✔ | dwc2 | |
+| +-----------------------------+--------+------+-----------+-------------------+-------------------+
+| | G0 | ✔ | | ✖ | stm32_fsdev | |
+| +-----------------------------+--------+------+-----------+-------------------+-------------------+
+| | G4 | ✔ | ✖ | ✖ | stm32_fsdev | |
+| +-----------------------------+--------+------+-----------+-------------------+-------------------+
+| | H5 | ✔ | | ✖ | stm32_fsdev | |
+| +-----------------------------+--------+------+-----------+-------------------+-------------------+
+| | H7 | ✔ | | ✔ | dwc2 | |
+| +-----------------------------+--------+------+-----------+-------------------+-------------------+
+| | L0 | ✔ | ✖ | ✖ | stm32_fsdev | |
+| +-----------------------------+--------+------+-----------+-------------------+-------------------+
+| | L1 | ✔ | ✖ | ✖ | stm32_fsdev | |
+| +----+------------------------+--------+------+-----------+-------------------+-------------------+
+| | L4 | 4x2, 4x3 | ✔ | ✖ | ✖ | stm32_fsdev | |
+| | +------------------------+--------+------+-----------+-------------------+-------------------+
+| | | 4x5, 4x6 | ✔ | | ✖ | dwc2 | |
+| +----+------------------------+--------+------+-----------+-------------------+-------------------+
+| | L4+ | ✔ | | ✖ | dwc2 | |
+| +-----------------------------+--------+------+-----------+-------------------+-------------------+
+| | L5 | ✔ | ✖ | ✖ | stm32_fsdev | |
+| +----+------------------------+--------+------+-----------+-------------------+-------------------+
+| | U5 | 535, 545 | ✔ | | ✖ | stm32_fsdev | |
+| | +------------------------+--------+------+-----------+-------------------+-------------------+
+| | | 575, 585 | ✔ | | ✖ | dwc2 | |
+| | +------------------------+--------+------+-----------+-------------------+-------------------+
+| | | 59x,5Ax,5Fx,5Gx | ✔ | | ✔ | dwc2 | |
+| +----+------------------------+--------+------+-----------+-------------------+-------------------+
+| | WBx5 | ✔ | ✖ | ✖ | stm32_fsdev | |
++--------------+-----------------------------+--------+------+-----------+-------------------+-------------------+
+| TI | MSP430 | ✔ | ✖ | ✖ | msp430x5xx | |
+| +-----------------------------+--------+------+-----------+-------------------+-------------------+
+| | MSP432E4 | ✔ | | ✖ | musb | |
+| +-----------------------------+--------+------+-----------+-------------------+-------------------+
+| | TM4C123 | ✔ | | ✖ | musb | |
++--------------+-----------------------------+--------+------+-----------+-------------------+-------------------+
+| ValentyUSB | eptri | ✔ | ✖ | ✖ | eptri | |
++--------------+-----------------------------+--------+------+-----------+-------------------+-------------------+
+| WCH | CH32F20x | ✔ | | ✔ | ch32f205 | |
+| +-----------------------------+--------+------+-----------+-------------------+-------------------+
+| | CH32V20x | ✔ | | ✖ | ch32v20x | |
+| +-----------------------------+--------+------+-----------+-------------------+-------------------+
+| | CH32V307 | ✔ | | ✔ | ch32v307 | |
++--------------+-----------------------------+--------+------+-----------+-------------------+-------------------+
Table Legend
diff --git a/examples/device/cdc_dual_ports/src/usb_descriptors.c b/examples/device/cdc_dual_ports/src/usb_descriptors.c
index ca4fe279b..7776eb958 100644
--- a/examples/device/cdc_dual_ports/src/usb_descriptors.c
+++ b/examples/device/cdc_dual_ports/src/usb_descriptors.c
@@ -109,7 +109,7 @@ enum
#define EPNUM_CDC_1_OUT 0x05
#define EPNUM_CDC_1_IN 0x84
-#elif defined(TUD_ENDPOINT_EXCLUSIVE_NUMBER)
+#elif defined(TUD_ENDPOINT_ONE_DIRECTION_ONLY)
// MCUs that don't support a same endpoint number with different direction IN and OUT defined in tusb_mcu.h
// e.g EP1 OUT & EP1 IN cannot exist together
#define EPNUM_CDC_0_NOTIF 0x81
diff --git a/examples/device/cdc_msc/src/usb_descriptors.c b/examples/device/cdc_msc/src/usb_descriptors.c
index 4789f5a9b..4b6b88041 100644
--- a/examples/device/cdc_msc/src/usb_descriptors.c
+++ b/examples/device/cdc_msc/src/usb_descriptors.c
@@ -103,7 +103,7 @@ enum {
#define EPNUM_MSC_OUT 0x05
#define EPNUM_MSC_IN 0x84
-#elif defined(TUD_ENDPOINT_EXCLUSIVE_NUMBER)
+#elif defined(TUD_ENDPOINT_ONE_DIRECTION_ONLY)
// MCUs that don't support a same endpoint number with different direction IN and OUT defined in tusb_mcu.h
// e.g EP1 OUT & EP1 IN cannot exist together
#define EPNUM_CDC_NOTIF 0x81
diff --git a/examples/device/cdc_msc_freertos/src/usb_descriptors.c b/examples/device/cdc_msc_freertos/src/usb_descriptors.c
index 7f9338753..405a57fe4 100644
--- a/examples/device/cdc_msc_freertos/src/usb_descriptors.c
+++ b/examples/device/cdc_msc_freertos/src/usb_descriptors.c
@@ -103,7 +103,7 @@ enum {
#define EPNUM_MSC_OUT 0x05
#define EPNUM_MSC_IN 0x84
-#elif defined(TUD_ENDPOINT_EXCLUSIVE_NUMBER)
+#elif defined(TUD_ENDPOINT_ONE_DIRECTION_ONLY)
// MCUs that don't support a same endpoint number with different direction IN and OUT defined in tusb_mcu.h
// e.g EP1 OUT & EP1 IN cannot exist together
#define EPNUM_CDC_NOTIF 0x81
diff --git a/examples/device/cdc_uac2/src/usb_descriptors.c b/examples/device/cdc_uac2/src/usb_descriptors.c
index 6384f722a..9f7255d8a 100644
--- a/examples/device/cdc_uac2/src/usb_descriptors.c
+++ b/examples/device/cdc_uac2/src/usb_descriptors.c
@@ -97,7 +97,7 @@ uint8_t const * tud_descriptor_device_cb(void)
#define EPNUM_CDC_OUT 0x02
#define EPNUM_CDC_IN 0x82
-#elif defined(TUD_ENDPOINT_EXCLUSIVE_NUMBER)
+#elif defined(TUD_ENDPOINT_ONE_DIRECTION_ONLY)
// MCUs that don't support a same endpoint number with different direction IN and OUT defined in tusb_mcu.h
// e.g EP1 OUT & EP1 IN cannot exist together
#define EPNUM_AUDIO_IN 0x01
diff --git a/examples/device/dynamic_configuration/src/usb_descriptors.c b/examples/device/dynamic_configuration/src/usb_descriptors.c
index 7be3d7da5..0a2049288 100644
--- a/examples/device/dynamic_configuration/src/usb_descriptors.c
+++ b/examples/device/dynamic_configuration/src/usb_descriptors.c
@@ -132,7 +132,7 @@ enum
#define EPNUM_1_MSC_OUT 0x02
#define EPNUM_1_MSC_IN 0x82
-#elif defined(TUD_ENDPOINT_EXCLUSIVE_NUMBER)
+#elif defined(TUD_ENDPOINT_ONE_DIRECTION_ONLY)
// MCUs that don't support a same endpoint number with different direction IN and OUT defined in tusb_mcu.h
// e.g EP1 OUT & EP1 IN cannot exist together
#define EPNUM_0_CDC_NOTIF 0x81
diff --git a/examples/device/midi_test/src/usb_descriptors.c b/examples/device/midi_test/src/usb_descriptors.c
index 3511f7eba..3870eaaf0 100644
--- a/examples/device/midi_test/src/usb_descriptors.c
+++ b/examples/device/midi_test/src/usb_descriptors.c
@@ -93,7 +93,7 @@ enum
#define EPNUM_MIDI_OUT 0x02
#define EPNUM_MIDI_IN 0x81
-#elif defined(TUD_ENDPOINT_EXCLUSIVE_NUMBER)
+#elif defined(TUD_ENDPOINT_ONE_DIRECTION_ONLY)
// MCUs that don't support a same endpoint number with different direction IN and OUT defined in tusb_mcu.h
// e.g EP1 OUT & EP1 IN cannot exist together
#define EPNUM_MIDI_OUT 0x01
diff --git a/examples/device/msc_dual_lun/src/usb_descriptors.c b/examples/device/msc_dual_lun/src/usb_descriptors.c
index bc2f2577c..efb9a966d 100644
--- a/examples/device/msc_dual_lun/src/usb_descriptors.c
+++ b/examples/device/msc_dual_lun/src/usb_descriptors.c
@@ -91,7 +91,7 @@ enum
#define EPNUM_MSC_OUT 0x02
#define EPNUM_MSC_IN 0x81
-#elif defined(TUD_ENDPOINT_EXCLUSIVE_NUMBER)
+#elif defined(TUD_ENDPOINT_ONE_DIRECTION_ONLY)
// MCUs that don't support a same endpoint number with different direction IN and OUT defined in tusb_mcu.h
// e.g EP1 OUT & EP1 IN cannot exist together
#define EPNUM_MSC_OUT 0x01
diff --git a/examples/device/net_lwip_webserver/src/usb_descriptors.c b/examples/device/net_lwip_webserver/src/usb_descriptors.c
index 2a3061162..d061f5076 100644
--- a/examples/device/net_lwip_webserver/src/usb_descriptors.c
+++ b/examples/device/net_lwip_webserver/src/usb_descriptors.c
@@ -120,7 +120,7 @@ uint8_t const * tud_descriptor_device_cb(void)
#define EPNUM_NET_OUT 0x02
#define EPNUM_NET_IN 0x81
-#elif defined(TUD_ENDPOINT_EXCLUSIVE_NUMBER)
+#elif defined(TUD_ENDPOINT_ONE_DIRECTION_ONLY)
// MCUs that don't support a same endpoint number with different direction IN and OUT defined in tusb_mcu.h
// e.g EP1 OUT & EP1 IN cannot exist together
#define EPNUM_NET_NOTIF 0x81
diff --git a/examples/device/uac2_headset/src/usb_descriptors.c b/examples/device/uac2_headset/src/usb_descriptors.c
index e8dc5ec15..bc9160d5e 100644
--- a/examples/device/uac2_headset/src/usb_descriptors.c
+++ b/examples/device/uac2_headset/src/usb_descriptors.c
@@ -97,7 +97,7 @@ uint8_t const * tud_descriptor_device_cb(void)
#define EPNUM_AUDIO_OUT 0x08
#define EPNUM_AUDIO_INT 0x01
-#elif defined(TUD_ENDPOINT_EXCLUSIVE_NUMBER)
+#elif defined(TUD_ENDPOINT_ONE_DIRECTION_ONLY)
// MCUs that don't support a same endpoint number with different direction IN and OUT defined in tusb_mcu.h
// e.g EP1 OUT & EP1 IN cannot exist together
#define EPNUM_AUDIO_IN 0x01
diff --git a/examples/device/uac2_speaker_fb/src/usb_descriptors.c b/examples/device/uac2_speaker_fb/src/usb_descriptors.c
index aadeb7e8a..ee1b92225 100644
--- a/examples/device/uac2_speaker_fb/src/usb_descriptors.c
+++ b/examples/device/uac2_speaker_fb/src/usb_descriptors.c
@@ -131,7 +131,7 @@ uint8_t const * tud_hid_descriptor_report_cb(uint8_t itf)
#define EPNUM_AUDIO_OUT 0x08
#define EPNUM_DEBUG 0x01
-#elif defined(TUD_ENDPOINT_EXCLUSIVE_NUMBER)
+#elif defined(TUD_ENDPOINT_ONE_DIRECTION_ONLY)
// MCUs that don't support a same endpoint number with different direction IN and OUT defined in tusb_mcu.h
// e.g EP1 OUT & EP1 IN cannot exist together
#define EPNUM_AUDIO_FB 0x01
diff --git a/examples/device/video_capture/src/tusb_config.h b/examples/device/video_capture/src/tusb_config.h
index 21483a2da..3a6daa3d3 100644
--- a/examples/device/video_capture/src/tusb_config.h
+++ b/examples/device/video_capture/src/tusb_config.h
@@ -106,7 +106,7 @@
#define CFG_TUD_VIDEO_STREAMING_EP_BUFSIZE 256
// use bulk endpoint for streaming interface
-#define CFG_TUD_VIDEO_STREAMING_BULK 1
+ #define CFG_TUD_VIDEO_STREAMING_BULK 0
//#define CFG_EXAMPLE_VIDEO_READONLY
//#define CFG_EXAMPLE_VIDEO_DISABLE_MJPEG
diff --git a/examples/device/video_capture/src/usb_descriptors.c b/examples/device/video_capture/src/usb_descriptors.c
index 5011bee18..b3e19b0f0 100644
--- a/examples/device/video_capture/src/usb_descriptors.c
+++ b/examples/device/video_capture/src/usb_descriptors.c
@@ -118,6 +118,8 @@ enum {
#elif TU_CHECK_MCU(OPT_MCU_NRF5X)
// nRF5x ISO can only be endpoint 8
#define EPNUM_VIDEO_IN (CFG_TUD_VIDEO_STREAMING_BULK ? 0x81 : 0x88)
+#elif TU_CHECK_MCU(OPT_MCU_MAX32650, OPT_MCU_MAX32666, OPT_MCU_MAX32690, OPT_MCU_MAX78002)
+ #define EPNUM_VIDEO_IN 0x81
#else
#define EPNUM_VIDEO_IN 0x81
#endif
diff --git a/examples/device/webusb_serial/src/usb_descriptors.c b/examples/device/webusb_serial/src/usb_descriptors.c
index 2ff6d9ced..2b69a5b56 100644
--- a/examples/device/webusb_serial/src/usb_descriptors.c
+++ b/examples/device/webusb_serial/src/usb_descriptors.c
@@ -104,7 +104,7 @@ enum
#define EPNUM_VENDOR_OUT 0x05
#define EPNUM_VENDOR_IN 0x84
-#elif defined(TUD_ENDPOINT_EXCLUSIVE_NUMBER)
+#elif defined(TUD_ENDPOINT_ONE_DIRECTION_ONLY)
// MCUs that don't support a same endpoint number with different direction IN and OUT defined in tusb_mcu.h
// e.g EP1 OUT & EP1 IN cannot exist together
#define EPNUM_CDC_NOTIF 0x81
diff --git a/src/common/tusb_mcu.h b/src/common/tusb_mcu.h
index e86f55c1d..52debf079 100644
--- a/src/common/tusb_mcu.h
+++ b/src/common/tusb_mcu.h
@@ -138,21 +138,21 @@
#elif TU_CHECK_MCU(OPT_MCU_SAMG)
#define TUP_DCD_ENDPOINT_MAX 6
- #define TUD_ENDPOINT_EXCLUSIVE_NUMBER
+ #define TUD_ENDPOINT_ONE_DIRECTION_ONLY
#elif TU_CHECK_MCU(OPT_MCU_SAMX7X)
#define TUP_DCD_ENDPOINT_MAX 10
#define TUP_RHPORT_HIGHSPEED 1
- #define TUD_ENDPOINT_EXCLUSIVE_NUMBER
+ #define TUD_ENDPOINT_ONE_DIRECTION_ONLY
#elif TU_CHECK_MCU(OPT_MCU_PIC32MZ)
#define TUP_DCD_ENDPOINT_MAX 8
- #define TUD_ENDPOINT_EXCLUSIVE_NUMBER
+ #define TUD_ENDPOINT_ONE_DIRECTION_ONLY
#elif TU_CHECK_MCU(OPT_MCU_PIC32MX, OPT_MCU_PIC32MM, OPT_MCU_PIC32MK) || \
TU_CHECK_MCU(OPT_MCU_PIC24, OPT_MCU_DSPIC33)
#define TUP_DCD_ENDPOINT_MAX 16
- #define TUD_ENDPOINT_EXCLUSIVE_NUMBER
+ #define TUD_ENDPOINT_ONE_DIRECTION_ONLY
//--------------------------------------------------------------------+
// ST
@@ -299,7 +299,7 @@
#elif TU_CHECK_MCU(OPT_MCU_CXD56)
#define TUP_DCD_ENDPOINT_MAX 7
#define TUP_RHPORT_HIGHSPEED 1
- #define TUD_ENDPOINT_EXCLUSIVE_NUMBER
+ #define TUD_ENDPOINT_ONE_DIRECTION_ONLY
//--------------------------------------------------------------------+
// TI
@@ -400,12 +400,12 @@
#elif TU_CHECK_MCU(OPT_MCU_FT90X)
#define TUP_DCD_ENDPOINT_MAX 8
#define TUP_RHPORT_HIGHSPEED 1
- #define TUD_ENDPOINT_EXCLUSIVE_NUMBER
+ #define TUD_ENDPOINT_ONE_DIRECTION_ONLY
#elif TU_CHECK_MCU(OPT_MCU_FT93X)
#define TUP_DCD_ENDPOINT_MAX 16
#define TUP_RHPORT_HIGHSPEED 1
- #define TUD_ENDPOINT_EXCLUSIVE_NUMBER
+ #define TUD_ENDPOINT_ONE_DIRECTION_ONLY
//--------------------------------------------------------------------+
// Allwinner
@@ -480,7 +480,7 @@
#define TUP_USBIP_MUSB_ADI
#define TUP_DCD_ENDPOINT_MAX 12
#define TUP_RHPORT_HIGHSPEED 1
- #define TUD_ENDPOINT_EXCLUSIVE_NUMBER
+ #define TUD_ENDPOINT_ONE_DIRECTION_ONLY
#endif
diff --git a/src/device/dcd.h b/src/device/dcd.h
index d1d4e4897..3ef5188fc 100644
--- a/src/device/dcd.h
+++ b/src/device/dcd.h
@@ -181,7 +181,7 @@ bool dcd_edpt_iso_activate(uint8_t rhport, tusb_desc_endpoint_t const * desc_ep)
#else
// Close an endpoint.
-void dcd_edpt_close (uint8_t rhport, uint8_t ep_addr) TU_ATTR_WEAK;
+void dcd_edpt_close(uint8_t rhport, uint8_t ep_addr);
#endif
diff --git a/src/portable/microchip/samg/dcd_samg.c b/src/portable/microchip/samg/dcd_samg.c
index e3fa51e31..a15431937 100644
--- a/src/portable/microchip/samg/dcd_samg.c
+++ b/src/portable/microchip/samg/dcd_samg.c
@@ -277,6 +277,11 @@ bool dcd_edpt_open (uint8_t rhport, tusb_desc_endpoint_t const * ep_desc)
return true;
}
+void dcd_edpt_close(uint8_t rhport, uint8_t ep_addr) {
+ (void) rhport; (void) ep_addr;
+ // TODO implement dcd_edpt_close()
+}
+
void dcd_edpt_close_all (uint8_t rhport)
{
(void) rhport;
diff --git a/src/portable/nxp/lpc17_40/dcd_lpc17_40.c b/src/portable/nxp/lpc17_40/dcd_lpc17_40.c
index b880c2870..75b29faf3 100644
--- a/src/portable/nxp/lpc17_40/dcd_lpc17_40.c
+++ b/src/portable/nxp/lpc17_40/dcd_lpc17_40.c
@@ -335,6 +335,11 @@ bool dcd_edpt_open(uint8_t rhport, tusb_desc_endpoint_t const * p_endpoint_desc)
return true;
}
+void dcd_edpt_close(uint8_t rhport, uint8_t ep_addr) {
+ (void) rhport; (void) ep_addr;
+ // TODO implement dcd_edpt_close()
+}
+
void dcd_edpt_close_all (uint8_t rhport)
{
(void) rhport;
diff --git a/src/portable/template/dcd_template.c b/src/portable/template/dcd_template.c
index 12d610bd6..25ee507c1 100644
--- a/src/portable/template/dcd_template.c
+++ b/src/portable/template/dcd_template.c
@@ -102,6 +102,22 @@ bool dcd_edpt_open (uint8_t rhport, tusb_desc_endpoint_t const * ep_desc)
return false;
}
+// Allocate packet buffer used by ISO endpoints
+// Some MCU need manual packet buffer allocation, we allocate the largest size to avoid clustering
+bool dcd_edpt_iso_alloc(uint8_t rhport, uint8_t ep_addr, uint16_t largest_packet_size) {
+ (void) rhport;
+ (void) ep_addr;
+ (void) largest_packet_size;
+ return false;
+}
+
+// Configure and enable an ISO endpoint according to descriptor
+bool dcd_edpt_iso_activate(uint8_t rhport, tusb_desc_endpoint_t const * desc_ep) {
+ (void) rhport;
+ (void) desc_ep;
+ return false;
+}
+
void dcd_edpt_close_all (uint8_t rhport)
{
(void) rhport;
diff --git a/src/portable/ti/msp430x5xx/dcd_msp430x5xx.c b/src/portable/ti/msp430x5xx/dcd_msp430x5xx.c
index 8005f5f7b..6b60bc657 100644
--- a/src/portable/ti/msp430x5xx/dcd_msp430x5xx.c
+++ b/src/portable/ti/msp430x5xx/dcd_msp430x5xx.c
@@ -332,6 +332,11 @@ bool dcd_edpt_open (uint8_t rhport, tusb_desc_endpoint_t const * desc_edpt)
return true;
}
+void dcd_edpt_close(uint8_t rhport, uint8_t ep_addr) {
+ (void) rhport; (void) ep_addr;
+ // TODO implement dcd_edpt_close()
+}
+
void dcd_edpt_close_all (uint8_t rhport)
{
(void) rhport;
diff --git a/src/portable/valentyusb/eptri/dcd_eptri.c b/src/portable/valentyusb/eptri/dcd_eptri.c
index 58628a8bb..8f40e3349 100644
--- a/src/portable/valentyusb/eptri/dcd_eptri.c
+++ b/src/portable/valentyusb/eptri/dcd_eptri.c
@@ -436,6 +436,11 @@ bool dcd_edpt_open(uint8_t rhport, tusb_desc_endpoint_t const * p_endpoint_desc)
return true;
}
+void dcd_edpt_close(uint8_t rhport, uint8_t ep_addr) {
+ (void) rhport; (void) ep_addr;
+ // TODO implement dcd_edpt_close()
+}
+
void dcd_edpt_close_all (uint8_t rhport)
{
(void) rhport;
diff --git a/test/hil/hil_test.py b/test/hil/hil_test.py
index e5900c616..09c30bf52 100644
--- a/test/hil/hil_test.py
+++ b/test/hil/hil_test.py
@@ -436,11 +436,11 @@ def main():
else:
config_boards = [e for e in config['boards'] if e['name'] in boards]
- err_count_list = 0
+ err_count_list = []
with Pool(processes=os.cpu_count()) as pool:
err_count_list = pool.map(test_board, config_boards)
-
- sys.exit(sum(err_count_list))
+ err_count = sum(err_count_list)
+ sys.exit(err_count)
if __name__ == '__main__':
diff --git a/test/hil/rpi.json b/test/hil/rpi.json
index e90e435d8..49d2d8286 100644
--- a/test/hil/rpi.json
+++ b/test/hil/rpi.json
@@ -61,12 +61,11 @@
],
"boards-skip": [
{
- "name": "metro_m7_1011",
- "uid": "9CE8715DD71137363E00005002004200",
+ "name": "mimxrt1015_evk",
+ "uid": "DC28F865D2111D228D00B0543A70463C",
"flasher": "jlink",
- "flasher_sn": "000611000000",
- "flasher_args": "-device MIMXRT1011xxx5A",
- "comment": "not running reliably in bulk with other boards, probably power, flashing etc .."
+ "flasher_sn": "000726284213",
+ "flasher_args": "-device MIMXRT1015DAF5A"
},
{
"name": "nanoch32v203",