Hi,
I’m little confused how u-boot device tree is configured. I assume it has its own, completely isolated, device tree built from here?
I have a “problem” with USB OTG while in u-boot console. I have an ID pin (from external TUSB320) connected to GPIO5_8 (pin 135) and it works, but I don’t understand why.
VBUS detection pin 137 is always 1 in my system and I can see that with gpio status GPIO5_09
.
On the other hand, gpio status GPIO5_08
for pin 135 returns always 0, no matter whether there is mass storage or a PC connected, but both modes work. If I disconnect the ID pin from 135, host role doesn’t work anymore, so the pin clearly is significant.
From fsl-imx8qxp-colibri-u-boot.dtsi I find that
usbg1: usbg1 {
compatible = "fsl,imx27-usb-gadget";
dr_mode = "peripheral";
chipidea,usb = <&usbotg1>;
status = "okay";
u-boot,dm-pre-proper;
};
which I think means that the port is in peripheral ONLY mode (I have only this one port). And in fsl-imx8qxp-colibri.dtsi is
pinctrl_usbc_det: usbc-det {
fsl,pins = <
SC_P_ENET0_REFCLK_125M_25M_LSIO_GPIO5_IO09 0x06000040
>;
};
which means GPIO5_9 (pin 137) is monitored. U-boot’s gpio status
also says this GPIO is named usb_cdet
(notice place of underscore) and I don’t find anywhere where this name would be defined?
So I guess my question is, where is it defined that pin 135 in u-boot is monitored for OTG role change?
Where the names of gpio’s in u-boot come?
Is Linux-side DTB used in any way while in u-boot console? (except for booting linux later)
Thank you!
Colibri iMX8QXP V1.0D
Toradex_5.4-2.3.x-imx
Custom carrier