Hi,
I would like to activate OTG on our board based on beaglebone black. In device tree I mentioned this:
&usb { status = "okay"; }; &usb_ctrl_mod { status = "okay"; }; &usb0_phy { status = "okay"; }; &usb1_phy { status = "okay"; }; &usb0 { status = "okay"; dr_mode = "peripheral"; interrupts-extended = <&intc 18 &tps 0>; interrupt-names = "mc", "vbus"; }; &usb1 { status = "okay"; dr_mode = "otg"; }; &cppi41dma { status = "okay"; };
When I boot and check the register USB1MODE I got value 0x00000100. According the TRM it should be driven by the USB1_ID pin.
However when I grounded the USB1_ID pin, USB_DRVVBUS is not raised.
If I set the dr_mode to "host" then after boot I have USB_DRVVBUS pin high and I can connect usb flash drive. The USB1MODE register is 0x00000080.
I am using mainline linux 4.19.68.
Here is the USB snippet of my defconfig:
# CONFIG_USB_NET_DRIVERS is not set # CONFIG_SND_USB is not set # CONFIG_USB_HID is not set CONFIG_USB=y CONFIG_USB_ANNOUNCE_NEW_DEVICES=y CONFIG_USB_OTG=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_PLATFORM=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y CONFIG_USB_OHCI_HCD_PLATFORM=y CONFIG_USB_STORAGE=y CONFIG_USB_MUSB_HDRC=y CONFIG_USB_MUSB_OMAP2PLUS=y CONFIG_USB_MUSB_DSPS=y CONFIG_USB_INVENTRA_DMA=y CONFIG_USB_TI_CPPI41_DMA=y CONFIG_NOP_USB_XCEIV=y CONFIG_AM335X_PHY_USB=y CONFIG_USB_GPIO_VBUS=m CONFIG_USB_GADGET=y CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=32 CONFIG_USB_CONFIGFS=y CONFIG_USB_CONFIGFS_SERIAL=y CONFIG_USB_CONFIGFS_ACM=y CONFIG_USB_CONFIGFS_OBEX=y CONFIG_USB_CONFIGFS_NCM=y CONFIG_USB_CONFIGFS_ECM=y CONFIG_USB_CONFIGFS_ECM_SUBSET=y CONFIG_USB_CONFIGFS_RNDIS=y CONFIG_USB_CONFIGFS_EEM=y CONFIG_USB_CONFIGFS_MASS_STORAGE=y CONFIG_USB_CONFIGFS_F_LB_SS=y CONFIG_USB_CONFIGFS_F_FS=y CONFIG_USB_CONFIGFS_F_UAC1=y CONFIG_USB_CONFIGFS_F_UAC1_LEGACY=y CONFIG_USB_CONFIGFS_F_UAC2=y CONFIG_USB_CONFIGFS_F_MIDI=y CONFIG_USB_CONFIGFS_F_HID=y CONFIG_USB_CONFIGFS_F_PRINTER=y CONFIG_USB_ETH=y CONFIG_USB_ROLE_SWITCH=y CONFIG_OMAP_USB2=m
Any idea what can be wrong?