Conectei um hub onboard ao meu microprocessador. O hub onboard é USB2514B e o microprocessador é um STM32MP1.
Posso especificar a conexão com o hub integrado usando OHCI (Open Host Controller Interface), mas então recebo mensagens de erro.
usb 1-1.4: device descriptor read/64, error -62
usb 1-1-port4: unable to enumerate USB device
Isso significa que o OHCI (USB 1.1) não pode se comunicar com o USB2514B, que requer a especificação USB 2.0.
Mas se eu conectar meu hub integrado usando EHCI (Enhanced Host Controller Interface), que é USB 2.0.
Então no Linux não terei erros sobre nenhuma descrição de dispositivo. O meu lsusb
fica assim:
>> lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Pergunta:
Isso significa que este 1d6b:0002
é o hub USB2514B ou que é o USB interno do processador?
Estou procurando uma maneira de confirmar se tenho conexão com meu USB2514B ou se lsusb
só mostra minha conexão USB interna do processador.
NOTA: Este hub USB integrado não requer nenhuma interface de comunicação externa, como SMDbus, I2C ou outra. Apenas conexão USB simples + configuração de árvore de dispositivos 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";
};
Fontes úteis: