update(docs): update rst
This commit is contained in:
@@ -6,16 +6,16 @@ USB IP 勘误
|
||||
FSDEV
|
||||
--------------------------
|
||||
|
||||
FSDEV 仅支持从机。这个 ip 不同厂家基本都是基于标准的 usb 寄存器,所以用户使用时,仅需要修改 `USBD_IRQHandler` 、 `USB_BASE` 、 `USB_NUM_BIDIR_ENDPOINTS` 即可。有些芯片可能还需要配置 `PMA_ACCESS` 的值,默认为2。下表为具体芯片相关宏的修改值:
|
||||
FSDEV 仅支持从机。这个 ip 不同厂家基本都是基于标准的 usb 寄存器,有些芯片可能还需要配置 `PMA_ACCESS` 的值,默认为2。下表为具体芯片相关宏的修改值:
|
||||
|
||||
.. list-table::
|
||||
:widths: 30 20 30 30 30
|
||||
:header-rows: 1
|
||||
|
||||
* - 芯片
|
||||
- USBD_IRQHandler
|
||||
- USB_BASE
|
||||
- USB_NUM_BIDIR_ENDPOINTS
|
||||
- 中断名
|
||||
- 寄存器地址
|
||||
- CONFIG_USBDEV_EP_NUM
|
||||
- PMA_ACCESS
|
||||
* - STM32F0
|
||||
- USB_IRQHandler
|
||||
@@ -67,7 +67,7 @@ fsdev 需要外置 dp 上拉才能使用,有些芯片可能是接上拉电阻
|
||||
MUSB
|
||||
--------------------------
|
||||
|
||||
MUSB IP 支持主从,并且由 **mentor** 定义了一套标准的寄存器偏移,所以如果是走的标准,则从机仅需要修改 `USBD_IRQHandler` 、 `USB_BASE` 、 `USB_NUM_BIDIR_ENDPOINTS` ,主机仅需要修改 `USBH_IRQHandler` 、 `USB_BASE` 以及 `CONIFG_USB_MUSB_EP_NUM` 即可。如果非标准,则需要实现以下宏的偏移,以标准为例:
|
||||
MUSB IP 支持主从,并且由 **mentor** 定义了一套标准的寄存器偏移,如果非标准,则需要实现以下宏的偏移,以标准为例:
|
||||
|
||||
.. code-block:: C
|
||||
|
||||
@@ -127,9 +127,9 @@ MUSB IP 支持主从,并且由 **mentor** 定义了一套标准的寄存器偏
|
||||
:header-rows: 1
|
||||
|
||||
* - 芯片
|
||||
- USBD_IRQHandler
|
||||
- USB_BASE
|
||||
- USB_NUM_BIDIR_ENDPOINTS
|
||||
- 中断名
|
||||
- 寄存器地址
|
||||
- CONFIG_USBDEV_EP_NUM
|
||||
* - ES32F3xx
|
||||
- USB_INT_Handler
|
||||
- 0x40086400
|
||||
@@ -150,8 +150,8 @@ MUSB IP 支持主从,并且由 **mentor** 定义了一套标准的寄存器偏
|
||||
:header-rows: 1
|
||||
|
||||
* - 芯片
|
||||
- USBH_IRQHandler
|
||||
- USB_BASE
|
||||
- 中断名
|
||||
- 寄存器地址
|
||||
- CONIFG_USB_MUSB_EP_NUM
|
||||
* - ES32F3xx
|
||||
- USB_INT_Handler
|
||||
@@ -169,7 +169,7 @@ MUSB IP 支持主从,并且由 **mentor** 定义了一套标准的寄存器偏
|
||||
DWC2
|
||||
--------------------------
|
||||
|
||||
DWC2 IP 支持主从,并且由 **synopsys** 定义了一套标准的寄存器偏移。大部分厂家都使用标准的寄存器偏移(除了 GCCFG(GGPIO)寄存器),所以如果是从机仅需要修改 `USBD_IRQHandler` 、 `USB_BASE` 、 `USB_NUM_BIDIR_ENDPOINTS` ,主机仅需要修改 `USBH_IRQHandler` 、 `USB_BASE` 即可。
|
||||
DWC2 IP 支持主从,并且由 **synopsys** 定义了一套标准的寄存器偏移。大部分厂家都使用标准的寄存器偏移(除了 GCCFG(GGPIO)寄存器),所以如果是从机仅需要修改 `中断名` 、 `USB_BASE` 、 `CONFIG_USBDEV_EP_NUM` ,主机仅需要修改 `中断名` 、 `USB_BASE` 即可。
|
||||
|
||||
.. note:: GCCFG(GGPIO) 根据不同的厂家设置不同,会影响 usb 枚举,需要根据厂家提供的手册进行配置,并实现 usbd_get_dwc2_gccfg_conf 和 usbh_get_dwc2_gccfg_conf 函数,填充相应需要使能的bit
|
||||
|
||||
@@ -182,9 +182,9 @@ DWC2 IP 支持主从,并且由 **synopsys** 定义了一套标准的寄存器
|
||||
:header-rows: 1
|
||||
|
||||
* - 芯片
|
||||
- USBH_IRQHandler
|
||||
- USB_BASE
|
||||
- USB_NUM_BIDIR_ENDPOINTS
|
||||
- 中断名
|
||||
- 寄存器地址
|
||||
- CONFIG_USBDEV_EP_NUM
|
||||
* - STM32 非 H7
|
||||
- OTG_FS_IRQHandler/OTG_HS_IRQHandler
|
||||
- 0x50000000UL/0x40040000UL
|
||||
@@ -201,9 +201,9 @@ DWC2 IP 支持主从,并且由 **synopsys** 定义了一套标准的寄存器
|
||||
:header-rows: 1
|
||||
|
||||
* - 芯片
|
||||
- USBH_IRQHandler
|
||||
- USB_BASE
|
||||
- CONFIG_USB_DWC2_PIPE_NUM
|
||||
- 中断名
|
||||
- 寄存器地址
|
||||
- CONFIG_USBHOST_PIPE_NUM
|
||||
* - STM32 全系列
|
||||
- OTG_HS_IRQHandler
|
||||
- 0x40040000UL
|
||||
@@ -216,17 +216,17 @@ EHCI 是 intel 制定的标准主机控制器接口,任何厂家都必须实
|
||||
|
||||
.. code-block:: C
|
||||
|
||||
//Host Controller Operational Register BASE 距离基地址的偏移
|
||||
#define CONFIG_USB_EHCI_HCOR_OFFSET (0x14)
|
||||
//是否打印 ehci 配置信息
|
||||
#define CONFIG_USB_EHCI_INFO_ENABLE
|
||||
#define CONFIG_USB_EHCI_HCCR_OFFSET (0x0)
|
||||
#define CONFIG_USB_EHCI_FRAME_LIST_SIZE 1024
|
||||
#define CONFIG_USB_EHCI_QH_NUM CONFIG_USBHOST_PIPE_NUM
|
||||
#define CONFIG_USB_EHCI_QTD_NUM 3
|
||||
#define CONFIG_USB_EHCI_ITD_NUM 20
|
||||
//是否关闭保留寄存器的占位,默认保留 9 个双字的占位
|
||||
#define CONFIG_USB_EHCI_HCOR_RESERVED_DISABLE
|
||||
//是否使能 configflag 寄存器中的 bit0
|
||||
#define CONFIG_USB_EHCI_CONFIGFLAG
|
||||
//是否使能 port power bit
|
||||
#define CONFIG_USB_EHCI_PORT_POWER
|
||||
//是否查看 ehci 配置信息
|
||||
#define CONFIG_USB_EHCI_PRINT_HW_PARAM
|
||||
#define CONFIG_USB_EHCI_ISO
|
||||
// 不带 tt的 IP 一般使用OHCI
|
||||
#define CONFIG_USB_EHCI_WITH_OHCI
|
||||
|
||||
同时由于 EHCI 只是主机控制器并且只支持高速,一般配合一个 otg 控制器和一个低速全速兼容控制单元,而速度的获取一般是在 otg 寄存器中,所以需要用户实现 `usbh_get_port_speed` 函数。
|
||||
Reference in New Issue
Block a user