Hi! I am developing usb host mode based on linux 4.19y and am4378 chip.
I checked the DRVVBUS and VBUS pin.
I find sometime stange.
I set the usb device tree as am437x-epos-evm.dts
/*pinset*/ usb2_phy1_default: usb2_phy1_default {
pinctrl-single,pins = <
AM4372_IOPAD(0xac0, PIN_INPUT_PULLDOWN | MUX_MODE0)
>;
};
usb2_phy1_sleep: usb2_phy1_sleep {
pinctrl-single,pins = <
AM4372_IOPAD(0xac0, DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7)
>;
};
usb2_phy2_default: usb2_phy2_default {
pinctrl-single,pins = <
AM4372_IOPAD(0xac4, PIN_INPUT_PULLDOWN | MUX_MODE0)
>;
};
usb2_phy2_sleep: usb2_phy2_sleep {
pinctrl-single,pins = <
AM4372_IOPAD(0xac4, DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7)
>;
};
/*device setting*/
&usb2_phy1 {
status = "okay";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&usb2_phy1_default>;
pinctrl-1 = <&usb2_phy1_sleep>;
};
&usb1 {
dr_mode = "otg";
status = "okay";
};
&usb2_phy2 {
status = "okay";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&usb2_phy2_default>;
pinctrl-1 = <&usb2_phy2_sleep>;
};
&usb2 {
dr_mode = "host";
status = "okay";
};
The usb0,&&usb1_VBUS is 5V.It is okay.
But i check the voltage of USB0_DRVVBUS and USB1_DRVVBUS is 0V.
when i set the their dr_mode both to "host", i check the voltage of USB0_DRVVBUS is 3.3V and the voltage of USB1_VBUS is 0V.
I config the USB1_DRRVBUS pin to OUTPUT_PULLUP,OUTPUT_PULLDOWN,INPUT_PULLDOWN,INPUT_PULLUP,the voltage of USB1_VBUS is always 0V.
According to the doc, I set the pin to mode7 OUTPUT_PULLUP,and the voltage of USB1_VBUS is always 1.68V. So i think the config of the pin is okay, at least the address is okay/
It makes me confused. And I think it is the reason why my USB plugs in without response.
Regrads,
Zikai

