diff --git a/CherryUSB.svg b/CherryUSB.svg index 63bef8a8..c1ed4782 100644 --- a/CherryUSB.svg +++ b/CherryUSB.svg @@ -1,4 +1,3 @@ - -CherryUSBCherryUSBHardwareHardwareWCHWCHDWC2DWC2EHCIEHCIXHCIXHCIMUSBMUSBFSDEVFSDEVBouffaloBouffaloHPMHPMDevice Controller Driver (DCD)Device Controller Driver (DCD)Host Controller Driver (HCD)Host Controller Driver (HCD)OS Abstraction Layer (OSAL)OS Abstraction Layer (OSAL)USB HostUSB HostUSB Host CoreUSB Host CoreHIDHIDMSCMSCCDCCDCUACUACUVCUVCRNDISRNDISVENDORVENDORHUBHUBUSB DeviceUSB DeviceUSB Device CoreUSB Device CoreHIDHIDMSCMSCCDCCDCUACUACUVCUVCRNDISRNDISVENDORVENDORDFUDFUoptionaloptionalrequiredrequiredText is not SVG - cannot display \ No newline at end of file +CherryUSBCherryUSBHardwareHardwareBLBLDWC2DWC2OHCIOHCIEHCIEHCIXHCIXHCIMUSBMUSBFSDEVFSDEVHPMHPMDevice Controller Driver (DCD)Device Controller Driver (DCD)Host Controller Driver (HCD)Host Controller Driver (HCD)OS Abstraction Layer (OSAL)OS Abstraction Layer (OSAL)USB HostUSB HostUSB Host CoreUSB Host CoreHIDHIDMSCMSCCDCCDCUACUACUVCUVCRNDISRNDISVENDORVENDORHUBHUBUSB DeviceUSB DeviceUSB Device CoreUSB Device CoreHIDHIDMSCMSCCDCCDCUACUACUVCUVCRNDISRNDISVENDORVENDORDFUDFUoptionaloptionalrequiredrequiredText is not SVG - cannot display \ No newline at end of file diff --git a/README.md b/README.md index 42c07133..d61b4a29 100644 --- a/README.md +++ b/README.md @@ -103,7 +103,7 @@ CherryUSB Host Stack has the following functions: - Automatic loading of supported Class drivers - Support blocking transfers and asynchronous transfers - Support Composite Device -- Multi-level HUB support, expandable up to 7 levels +- Multi-level HUB support, expandable up to 7 levels(Testing hub with 10 ports works well) - Support Communication Device Class (CDC_ACM, CDC_ECM) - Support Human Interface Device (HID) - Support Mass Storage Class (MSC) @@ -152,6 +152,23 @@ x is affected by the following macros: #define CONFIG_USBHOST_MAX_VIDEO_CLASS 1 ``` +## USB IP Support + +Only standard and commercial USB IP are listed. + +| IP | device | host | Support status | +|:----------------:|:----------:|:--------:|:--------------:| +| OHCI(intel) | none | OHCI | × | +| EHCI(intel) | none | EHCI | √ | +| XHCI(intel) | none | XHCI | √ | +| UHCI(intel) | none | UHCI | × | +| DWC2(synopsys) | DWC2 | DWC2 | √ | +| MUSB(mentor) | MUSB | MUSB | √ | +| FOTG210(faraday)| FOTG210 | EHCI | √ | +| CDNS2(cadence) | CDNS2 | CDNS2 | √ | +| CDNS3(cadence) | CDNS3 | XHCI | × | +| DWC3(synopsys) | DWC3 | XHCI | × | + ## Documentation Tutorial Quickly start, USB basic concepts, API manual, Class basic concepts and examples, see [CherryUSB Documentation Tutorial](https://cherryusb.readthedocs.io/) @@ -173,13 +190,14 @@ USB basic concepts and how the CherryUSB Device stack is implemented, see [Cherr |ST | STM32F4/STM32H7 | dwc2 |[stm32_repo](https://github.com/CherryUSB/cherryusb_stm32)|<= latest | Long-term | |HPMicro | HPM6750 | hpm/ehci |[hpm_sdk](https://github.com/CherryUSB/hpm_sdk)|<= latest | Long-term | |Essemi | ES32F36xx | musb |[es32f369_repo](https://github.com/CherryUSB/cherryusb_es32)|<= latest | Long-term | -|AllwinnerTech | F1C100S/F1C200S | musb |[cherryusb_rtt_f1c100s](https://github.com/CherryUSB/cherryusb_rtt_f1c100s)|<= latest | the same with Essemi | |Phytium | e2000 | pusb2/xhci |[phytium_repo](https://gitee.com/phytium_embedded/phytium-free-rtos-sdk)|v0.10.2 | Long-term | +|artinchip | d12x/d13x/d21x | dwc2/ehci/ohci |[luban-lite](https://gitee.com/artinchip/luban-lite)|<= latest | Long-term | +|Espressif | esp32s2/esp32s3 | dwc2 |[esp32_repo](https://github.com/CherryUSB/cherryusb_esp32)|<= latest | the same with ST | +|AllwinnerTech | F1C100S/F1C200S | musb |[cherryusb_rtt_f1c100s](https://github.com/CherryUSB/cherryusb_rtt_f1c100s)|<= latest | the same with Essemi | |WCH | CH32V307/ch58x | ch32_usbfs/ch32_usbhs/ch58x |[wch_repo](https://github.com/CherryUSB/cherryusb_wch)|<= v0.10.2 | TBD | -|Espressif | esp32s3 | dwc2 |[esp32_repo](https://github.com/CherryUSB/cherryusb_esp32)|<= latest | the same with ST | |Nordicsemi | Nrf52840 | nrf5x |[nrf5x_repo](https://github.com/CherryUSB/cherryusb_nrf5x)|<= v0.10.2 | No more updated | |Raspberry pi | rp2040 | rp2040 |[pico-examples](https://github.com/CherryUSB/pico-examples)|<= v0.10.2 | No more updated | ## Contact -QQ group: 642693751 \ No newline at end of file +CherryUSB discord: https://discord.com/invite/wFfvrSAey8. \ No newline at end of file diff --git a/README_zh.md b/README_zh.md index b160a3dd..ca0d69ef 100644 --- a/README_zh.md +++ b/README_zh.md @@ -101,7 +101,7 @@ CherryUSB Host 协议栈当前实现以下功能: - 自动加载支持的Class 驱动 - 支持阻塞式传输和异步传输 - 支持复合设备 -- 支持多级 HUB,最高可拓展到 7 级 +- 支持多级 HUB,最高可拓展到 7 级(目前测试 1拖 10 没有问题) - 支持 Communication Device Class (CDC_ACM, CDC_ECM) - 支持 Human Interface Device (HID) - 支持 Mass Storage Class (MSC) @@ -150,6 +150,23 @@ x 受以下宏影响: #define CONFIG_USBHOST_MAX_VIDEO_CLASS 1 ``` +## USB IP 支持情况 + +仅列举标准 USB IP 和商业性 USB IP + +| IP | device | host | Support status | +|:----------------:|:----------:|:--------:|:--------------:| +| OHCI(intel) | none | OHCI | × | +| EHCI(intel) | none | EHCI | √ | +| XHCI(intel) | none | XHCI | √ | +| UHCI(intel) | none | UHCI | × | +| DWC2(synopsys) | DWC2 | DWC2 | √ | +| MUSB(mentor) | MUSB | MUSB | √ | +| FOTG210(faraday)| FOTG210 | EHCI | √ | +| CDNS2(cadence) | CDNS2 | CDNS2 | √ | +| CDNS3(cadence) | CDNS3 | XHCI | × | +| DWC3(synopsys) | DWC3 | XHCI | × | + ## 文档教程 CherryUSB 快速入门、USB 基本概念,API 手册,Class 基本概念和例程,参考 [CherryUSB Documentation Tutorial](https://cherryusb.readthedocs.io/) @@ -172,13 +189,15 @@ CherryUSB 快速入门、USB 基本概念,API 手册,Class 基本概念和 |ST | STM32F4/STM32H7 | dwc2 |[stm32_repo](https://github.com/CherryUSB/cherryusb_stm32)|<= latest | Long-term | |HPMicro | HPM6750 | hpm/ehci |[hpm_sdk](https://github.com/CherryUSB/hpm_sdk)|<= latest | Long-term | |Essemi | ES32F36xx | musb |[es32f369_repo](https://github.com/CherryUSB/cherryusb_es32)|<= latest | Long-term | -|AllwinnerTech | F1C100S/F1C200S | musb |[cherryusb_rtt_f1c100s](https://github.com/CherryUSB/cherryusb_rtt_f1c100s)|<= latest | the same with Essemi | |Phytium | e2000 | pusb2/xhci |[phytium_repo](https://gitee.com/phytium_embedded/phytium-free-rtos-sdk)|v0.10.2 | Long-term | +|artinchip | d12x/d13x/d21x | dwc2/ehci/ohci |[luban-lite](https://gitee.com/artinchip/luban-lite)|<= latest | Long-term | +|Espressif | esp32s2/esp32s3 | dwc2 |[esp32_repo](https://github.com/CherryUSB/cherryusb_esp32)|<= latest | the same with ST | +|AllwinnerTech | F1C100S/F1C200S | musb |[cherryusb_rtt_f1c100s](https://github.com/CherryUSB/cherryusb_rtt_f1c100s)|<= latest | the same with Essemi | |WCH | CH32V307/ch58x | ch32_usbfs/ch32_usbhs/ch58x |[wch_repo](https://github.com/CherryUSB/cherryusb_wch)|<= v0.10.2 | TBD | -|Espressif | esp32s3 | dwc2 |[esp32_repo](https://github.com/CherryUSB/cherryusb_esp32)|<= latest | the same with ST | |Nordicsemi | Nrf52840 | nrf5x |[nrf5x_repo](https://github.com/CherryUSB/cherryusb_nrf5x)|<= v0.10.2 | No more updated | |Raspberry pi | rp2040 | rp2040 |[pico-examples](https://github.com/CherryUSB/pico-examples)|<= v0.10.2 | No more updated | ## Contact -QQ 群:642693751 \ No newline at end of file +CherryUSB QQ 群:642693751 +CherryUSB 微信群:与我联系后邀请加入 \ No newline at end of file