我已将板载集线器连接到我的微处理器。板载集线器是USB2514B,微处理器是 STM32MP1。
我可以使用 OHCI(开放主机控制器接口)指定与板载集线器的连接,但随后我会收到错误消息。
usb 1-1.4: device descriptor read/64, error -62
usb 1-1-port4: unable to enumerate USB device
这意味着 OHCI(USB 1.1)无法与需要 USB 2.0 规范的 USB2514B 通信。
但是如果我使用 EHCI(增强型主机控制器接口)(即 USB 2.0)连接我的板载集线器。
然后在 Linux 中,我不会收到任何有关设备描述的错误。我的lsusb
看起来像这样:
>> lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
问题:
这是否意味着这1d6b:0002
是USB2514B集线器,或者是否意味着它是处理器的内部USB?
我正在寻找一种方法来确认我是否已连接到我的 USB2514B 或者是否lsusb
仅显示来自处理器的内部 USB 连接。
注意:此板载 USB 集线器不需要任何外部通信接口,如 SMDbus、I2C 或其他。仅需普通 USB 连接 + Linux 设备树配置。
&usbh_ehci{
status = "okay";
/* USER CODE BEGIN usbh_ehci */
phys = <&usbphyc_port1>;
#address-cells = <1>;
#size-cells = <0>;
/* onboard HUB */
hub@1 {
compatible = "usb424,2514";
reg = <1>;
vdd-supply = <&v3v3>;
};
/* USER CODE END usbh_ehci */
};
&usbh_ohci{
status = "disabled";
};
有用来源: