This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM335x device tree USB mode

I'm working on the device tree (SDK 7.0) and I have a questions about a naming inconsistency that I see between the Documentation/devicetree/bindings/omap-usb.txt file and the am335x-evm.dts/am33xx.dtsi files.

In the documentation it's stated that usb can be set to one of three modes (otg, host, or peripheral) based on a "mode" parameter. Then there is an example given:

&usb_otg_hs {
	interface-type = <1>;
	mode = <3>;
	power = <50>;
};

So this is what I was expecting when I went to the device tree, however when I look in the .dtsi file at the USB section I see:

			usb0: usb@47401000 {
				compatible = "ti,musb-am33xx";
				status = "disabled";
				reg = <0x47401400 0x400
					0x47401000 0x200>;
				reg-names = "mc", "control";

				interrupts = <18>;
				interrupt-names = "mc";
				dr_mode = "otg";

Is "dr_mode" the same thing as mode? I notice that instead of using numeric tags: <1> <2> and <3> like the documentation, it uses named strings: "otg".

So question 1:

Are:

    dr_mode="PERIPHERAL"
and
    mode=<2>

synonymous?

Second question on the same topic:


I see in the current dtsi file USB1 is set to "otg" and in the dts file it's set to "host". Is it correct that the values in the dts file will overwrite those in the dtsi (just like it does for "status")?

  • Mike Worster said:
    Documentation/devicetree/bindings/omap-usb.txt file

    You should refer to am33xx-usb.txt instead for AM335x devices. omap-usb.txt is for OMAP4 or OMAP3.

    Mike Worster said:
    I see in the current dtsi file USB1 is set to "otg" and in the dts file it's set to "host". Is it correct that the values in the dts file will overwrite those in the dtsi (just like it does for "status")?

    Yes.

  • Thank you Bin Liu! I was just looking at the wrong one, this has the documentation I was looking for.

  •   musb: usb@47400000 {
                            status = "okay";
    
                            control@44e10000 {
                                    status = "okay";
                            };
    
                            usb-phy@47401300 {
                                    status = "okay";
                            };
    
                            usb-phy@47401b00 {
                                    status = "okay";
                            };
    
                            usb@47401000 {
                                    status = "okay";
                            };
    
                            usb@47401800 {
                                    status = "okay";
                                    dr_mode = "host";
                            };
    
                            dma-controller@07402000  {
                                    status = "okay";
                            };
                    };
    

    Hi Bin Liu,

    I am too trying to make the mini usb port to work as a host and slave mode. means i am trying to enable OTG in BEAGLEBONE BLACK board and kernal: linux-3.12.10-ti2013.12.01

        Should I do this with some software with out modifying any hardware USB controller like(DRVVBUS, VBUS and ID pins)? is it possible?

    If do with software; How to enable OTG in device tree( am335x-bone-common.dtsi)(dr_mode=host/peripheral/otg)

       could you suggest me how do i make USB0 port acts slave and host mode(dual role).

       please find the attached usb device tree file

    Best Regards,

    shankar.

  • Shankar,

    Due to the HW design on BBB, the mini USB port can only work in peripheral mode. There is nothing the SW can do to make it work in host mode.

  • Hi Bin Liu,

    Thank you Bin Liu, here i am using OTG cable by default  USB0_ID pin connected to gnd . I understood OTG controller from TI data sheet, here I'm working on the device tree In device tree path(am335x-bone-common.dtsi ) i was change  dr_mode = "host" i.e detecting slave device but not showing any data and also I attached device log file please look it out.

    In software; How to enable OTG in device tree( am335x-bone-common.dtsi), In device tree if  I will give dr_mode="otg" or if any interrupts mechanism their in USB controller  is it work please suggest me......

             Can i enable otg suport for BBB  which doesnt have OTG support by default. but BBB device support otg if  i can able to change the hardware is it work........

    Is there any way to find whether the BBB support OTG or not?

     

        

    In device tree:

    root@am335x-evm:/# dmesg
    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 3.12.10-ti2013.12.01 (shankarayya@tata-HP-Elite-7100-Microtower-PC) (gcc version 4.7.3 20130226 (prerelease) (crosstool-NG linaro-1.13.1-4.7-2013.03-20130313 - Linaro GCC 2013.03) ) #1 Wed Dec 3 09:44:46 IST 2014
    [    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [    0.000000] Machine: Generic AM33XX (Flattened Device Tree), model: TI AM335x BeagleBone
    [    0.000000] cma: CMA: reserved 24 MiB at 9e000000
    [    0.000000] Memory policy: ECC disabled, Data cache writeback
    [    0.000000] On node 0 totalpages: 130304
    [    0.000000] free_area_init_node: node 0, pgdat c082c570, node_mem_map c0867000
    [    0.000000]   Normal zone: 1024 pages used for memmap
    [    0.000000]   Normal zone: 0 pages reserved
    [    0.000000]   Normal zone: 130304 pages, LIFO batch:31
    [    0.000000] CPU: All CPU(s) started in SVC mode.
    [    0.000000] AM335X ES2.1 (sgx neon )
    [    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
    [    0.000000] pcpu-alloc: [0] 0
    [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 129280
    [    0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/nfs rootfstype=nfs ip=dhcp nfsroot=10.75.11.110:/tools/rootfs_dir/pavan/rootfs_1
    [    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    [    0.000000] Memory: 483352K/521216K available (5555K kernel code, 559K rwdata, 1876K rodata, 345K init, 225K bss, 37864K reserved, 0K highmem)
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    [    0.000000]     vmalloc : 0xe0800000 - 0xff000000   ( 488 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
    [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
    [    0.000000]       .text : 0xc0008000 - 0xc074a04c   (7433 kB)
    [    0.000000]       .init : 0xc074b000 - 0xc07a15f0   ( 346 kB)
    [    0.000000]       .data : 0xc07a2000 - 0xc082ddd8   ( 560 kB)
    [    0.000000]        .bss : 0xc082ddd8 - 0xc0866400   ( 226 kB)
    [    0.000000] NR_IRQS:16 nr_irqs:16 16
    [    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
    [    0.000000] Total of 128 interrupts on 1 active controller
    [    0.000000] OMAP clockevent source: timer2 at 24000000 Hz
    [    0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
    [    0.000000] OMAP clocksource: timer1 at 24000000 Hz
    [    0.000000] Console: colour dummy device 80x30
    [    0.000248] Calibrating delay loop... 663.55 BogoMIPS (lpj=3317760)
    [    0.049791] pid_max: default: 32768 minimum: 301
    [    0.049876] Security Framework initialized
    [    0.049916] Mount-cache hash table entries: 512
    [    0.055727] CPU: Testing write buffer coherency: ok
    [    0.056065] Setting up static identity map for 0xc0572e68 - 0xc0572ed8
    [    0.056761] devtmpfs: initialized
    [    0.058200] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [    0.117888] omap_hwmod: debugss: _wait_target_disable failed
    [    0.118469] pinctrl core: initialized pinctrl subsystem
    [    0.119144] regulator-dummy: no parameters
    [    0.121133] NET: Registered protocol family 16
    [    0.122824] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.124822] cpuidle: using governor ladder
    [    0.124836] cpuidle: using governor menu
    [    0.131228] platform mpu.1: FIXME: clock-name 'fck' DOES NOT exist in dt!
    [    0.132059] platform 49000000.edma: FIXME: clock-name 'fck' DOES NOT exist in dt!
    [    0.132768] gpiochip_add: registered GPIOs 0 to 31 on device: gpio
    [    0.133000] OMAP GPIO hardware version 0.1
    [    0.133688] gpiochip_add: registered GPIOs 32 to 63 on device: gpio
    [    0.134436] gpiochip_add: registered GPIOs 64 to 95 on device: gpio
    [    0.135207] gpiochip_add: registered GPIOs 96 to 127 on device: gpio
    [    0.139097] platform 56000000.sgx: FIXME: clock-name 'fck' DOES NOT exist in dt!
    [    0.140588] DSS not supported on this SoC
    [    0.140602] No ATAGs?
    [    0.140611] hw-breakpoint: debug architecture 0x4 unsupported.
    [    0.158189] bio: create slab <bio-0> at 0
    [    0.168996] edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver
    [    0.169408] of_get_named_gpio_flags: can't parse gpios property of node '/fixedregulator@0[0]'
    [    0.169645] vmmcsd_fixed: 3300 mV
    [    0.171779] vgaarb: loaded
    [    0.172751] SCSI subsystem initialized
    [    0.173155] libata version 3.00 loaded.
    [    0.173753] usbcore: registered new interface driver usbfs
    [    0.173891] usbcore: registered new interface driver hub
    [    0.174034] usbcore: registered new device driver usb
    [    0.174731] omap_i2c 44e0b000.i2c: could not find pctldev for node /pinmux@44e10800/pinmux_i2c0_pins, deferring probe
    [    0.174753] platform 44e0b000.i2c: Driver omap_i2c requests probe deferral
    [    0.174915] media: Linux media interface: v0.10
    [    0.175044] Linux video capture interface: v2.00
    [    0.175250] pps_core: LinuxPPS API ver. 1 registered
    [    0.175257] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.175356] PTP clock support registered
    [    0.177283] Switched to clocksource timer1
    [    0.191252] NET: Registered protocol family 2
    [    0.191769] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
    [    0.191837] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.191875] TCP: Hash tables configured (established 4096 bind 4096)
    [    0.191927] TCP: reno registered
    [    0.191939] UDP hash table entries: 256 (order: 0, 4096 bytes)
    [    0.191954] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    [    0.192111] NET: Registered protocol family 1
    [    0.192427] RPC: Registered named UNIX socket transport module.
    [    0.192435] RPC: Registered udp transport module.
    [    0.192440] RPC: Registered tcp transport module.
    [    0.192445] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.192458] PCI: CLS 0 bytes, default 64
    [    0.193149] NetWinder Floating Point Emulator V0.97 (double precision)
    [    0.193615] PM: Loading am335x-pm-firmware.bin
    [    0.307783] VFS: Disk quotas dquot_6.5.2
    [    0.307845] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
    [    0.308331] NFS: Registering the id_resolver key type
    [    0.308407] Key type id_resolver registered
    [    0.308414] Key type id_legacy registered
    [    0.308448] jffs2: version 2.2. (NAND) (SUMMARY)  � 2001-2006 Red Hat, Inc.
    [    0.308599] msgmni has been set to 992
    [    0.309821] NET: Registered protocol family 38
    [    0.309854] io scheduler noop registered
    [    0.309861] io scheduler deadline registered
    [    0.309879] io scheduler cfq registered (default)
    [    0.311365] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
    [    0.315005] platform 4830e000.lcdc: Driver da8xx_lcdc requests probe deferral
    [    0.316247] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
    [    0.318190] of_get_named_gpio_flags: can't parse gpios property of node '/ocp/serial@44e09000[0]'
    [    0.318428] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 88, base_baud = 3000000) is a OMAP UART0
    [    0.924351] console [ttyO0] enabled
    [    0.929105] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
    [    0.943443] brd: module loaded
    [    0.950573] loop: module loaded
    [    0.956279] mtdoops: mtd device (mtddev=name/number) must be supplied
    [    0.965624] usbcore: registered new interface driver asix
    [    0.971477] usbcore: registered new interface driver ax88179_178a
    [    0.978015] usbcore: registered new interface driver cdc_ether
    [    0.984263] usbcore: registered new interface driver r815x
    [    0.990139] usbcore: registered new interface driver smsc95xx
    [    0.996301] usbcore: registered new interface driver net1080
    [    1.002346] usbcore: registered new interface driver cdc_subset
    [    1.008685] usbcore: registered new interface driver zaurus
    [    1.014714] usbcore: registered new interface driver cdc_ncm
    [    1.021039] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    [    1.027911] ehci-pci: EHCI PCI platform driver
    [    1.032713] ehci-omap: OMAP-EHCI Host Controller driver
    [    1.038853] usbcore: registered new interface driver cdc_wdm
    [    1.044937] usbcore: registered new interface driver usb-storage
    [    1.051998] mousedev: PS/2 mouse device common for all mice
    [    1.059961] omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc0
    [    1.067464] 44e3e000.rtc: already running
    [    1.072216] i2c /dev entries driver
    [    1.076268] Driver for 1-wire Dallas network protocol.
    [    1.083489] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
    [    1.091781] of_get_named_gpio_flags exited with status 6
    [    1.091792] of_get_named_gpio_flags: can't parse gpios property of node '/ocp/mmc@48060000[0]'
    [    1.092119] edma-dma-engine edma-dma-engine.0: allocated channel for 0:25
    [    1.099364] edma-dma-engine edma-dma-engine.0: allocated channel for 0:24
    [    1.137428] of_get_named_gpio_flags: can't parse gpios property of node '/ocp/mmc@481d8000[0]'
    [    1.137444] of_get_named_gpio_flags: can't parse gpios property of node '/ocp/mmc@481d8000[0]'
    [    1.137596] edma-dma-engine edma-dma-engine.0: allocated channel for 0:3
    [    1.144636] edma-dma-engine edma-dma-engine.0: allocated channel for 0:2
    [    1.187848] of_get_named_gpio_flags exited with status 53
    [    1.187861] of_get_named_gpio_flags exited with status 54
    [    1.187869] of_get_named_gpio_flags exited with status 55
    [    1.187876] of_get_named_gpio_flags exited with status 56
    [    1.187902] of_get_named_gpio_flags exited with status 53
    [    1.188252] of_get_named_gpio_flags exited with status 54
    [    1.191621] of_get_named_gpio_flags exited with status 55
    [    1.191810] of_get_named_gpio_flags exited with status 56
    [    1.192475] ledtrig-cpu: registered to indicate activity on CPUs
    [    1.199138] edma-dma-engine edma-dma-engine.0: allocated channel for 0:36
    [    1.206358] omap-sham 53100000.sham: hw accel on OMAP rev 4.3
    [    1.213463] omap-aes 53500000.aes: OMAP AES hw accel rev: 3.2
    [    1.219640] edma-dma-engine edma-dma-engine.0: allocated channel for 0:5
    [    1.226734] edma-dma-engine edma-dma-engine.0: allocated channel for 0:6
    [    1.237891] usbcore: registered new interface driver usbhid
    [    1.243739] usbhid: USB HID core driver
    [    1.249521] oprofile: no performance counters
    [    1.254401] oprofile: using timer interrupt.
    [    1.259212] TCP: cubic registered
    [    1.262706] Initializing XFRM netlink socket
    [    1.267209] NET: Registered protocol family 17
    [    1.271956] NET: Registered protocol family 15
    [    1.276681] 8021q: 802.1Q VLAN Support v1.8
    [    1.281203] Key type dns_resolver registered
    [    1.286273] cpu cpu0: cpu0 regulator not ready, retry
    [    1.291684] platform cpufreq-cpu0.0: Driver cpufreq-cpu0 requests probe deferral
    [    1.299501] mmc1: BKOPS_EN bit is not set
    [    1.304187] ThumbEE CPU extension supported.
    [    1.312814] DCDC1: at 1500 mV
    [    1.316071] mmc1: new high speed MMC card at address 0001
    [    1.322678] mmcblk0: mmc1:0001 MMC04G 3.60 GiB
    [    1.327539] vdd_mpu: 925 <--> 1375 mV at 1325 mV
    [    1.332564] mmcblk0boot0: mmc1:0001 MMC04G partition 1 2.00 MiB
    [    1.339282] mmcblk0boot1: mmc1:0001 MMC04G partition 2 2.00 MiB
    [    1.345761] vdd_core: 925 <--> 1150 mV at 1125 mV
    [    1.351636]  mmcblk0: p1 p2
    [    1.355695] LDO1: at 1800 mV
    [    1.360070]  mmcblk0boot1: unknown partition table
    [    1.365580] LDO2: at 3300 mV
    [    1.369752]  mmcblk0boot0: unknown partition table
    [    1.375846] LDO3: 1800 mV
    [    1.379562] LDO4: at 3300 mV
    [    1.383314] tps65217 0-0024: TPS65217 ID 0xe version 1.2
    [    1.509430] tda998x 0-0070: found TDA19988
    [    1.514134] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
    [    1.581002] Console: switching to colour frame buffer device 160x45
    [    1.657320] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
    [    1.663728] davinci_mdio 4a101000.mdio: detected phy mask fffffffe
    [    1.670870] libphy: 4a101000.mdio: probed
    [    1.675082] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver SMSC LAN8710/LAN8720
    [    1.685269] Detected MACID = d0:39:72:3b:c1:73
    [    1.691389] omap_rtc 44e3e000.rtc: setting system clock to 2000-01-01 00:01:53 UTC (946684913)
    [    1.703189] net eth0: initializing cpsw version 1.12 (0)
    [    1.710973] net eth0: phy found : id is : 0x7c0f1
    [    1.720911] 8021q: adding VLAN 0 to HW filter on device eth0
    [    4.787824] libphy: 4a101000.mdio:00 - Link is Up - 100/Full
    [    4.817300] Sending DHCP requests .., OK
    [    7.117763] IP-Config: Got DHCP answer from 172.21.128.253, my address is 172.21.128.156
    [    7.126640] IP-Config: Complete:
    [    7.130079]      device=eth0, hwaddr=d0:39:72:3b:c1:73, ipaddr=172.21.128.156, mask=255.255.254.0, gw=172.21.128.91
    [    7.141119]      host=172.21.128.156, domain=server2008.com, nis-domain=(none)
    [    7.148754]      bootserver=0.0.0.0, rootserver=10.75.11.110, rootpath=
    [    7.155551]      nameserver0=10.223.10.1, nameserver1=172.26.0.2, nameserver2=172.21.6.218
    [    7.175742] VFS: Mounted root (nfs filesystem) readonly on device 0:13.
    [    7.196588] devtmpfs: mounted
    [    7.200173] Freeing unused kernel memory: 344K (c074b000 - c07a1000)
    >[    8.395312] udevd[803]: starting version 182
    [    9.223852] of_get_named_gpio_flags: can't parse gpios property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
    [    9.224899] of_get_named_gpio_flags: can't parse gpios property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
    [    9.276256] PM: CM3 Firmware Version = 0x186
    [   12.552421] musb-hdrc musb-hdrc.0.auto: Enabled SW babble control
    [   12.605554] musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
    [   12.605578] musb-hdrc: MHDRC RTL version 2.0
    [   12.605585] musb-hdrc: setup fifo_mode 4
    [   12.605602] musb-hdrc: 28/31 max ep, 16384/16384 memory
    [   12.605709] musb-hdrc musb-hdrc.0.auto: MUSB HDRC host driver
    [   12.666639] musb-hdrc musb-hdrc.0.auto: new USB bus registered, assigned bus number 1
    [   12.710192] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    [   12.717499] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [   12.725090] usb usb1: Product: MUSB HDRC host driver
    [   12.730313] usb usb1: Manufacturer: Linux 3.12.10-ti2013.12.01 musb-hcd
    [   12.737254] usb usb1: SerialNumber: musb-hdrc.0.auto
    [   12.768596] hub 1-0:1.0: USB hub found
    [   12.781183] hub 1-0:1.0: 1 port detected
    [   12.799220] musb-hdrc musb-hdrc.1.auto: Enabled SW babble control
    [   12.806788] musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
    [   12.806799] musb-hdrc: MHDRC RTL version 2.0
    [   12.806806] musb-hdrc: setup fifo_mode 4
    [   12.806821] musb-hdrc: 28/31 max ep, 16384/16384 memory
    [   12.806908] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
    [   12.816494] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 2
    [   12.825293] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
    [   12.832515] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [   12.840123] usb usb2: Product: MUSB HDRC host driver
    [   12.845329] usb usb2: Manufacturer: Linux 3.12.10-ti2013.12.01 musb-hcd
    [   12.852276] usb usb2: SerialNumber: musb-hdrc.1.auto
    [   12.859814] hub 2-0:1.0: USB hub found
    [   12.865107] hub 2-0:1.0: 1 port detected
    [   13.070721] EXT4-fs (mmcblk0p2): recovery complete
    [   13.075777] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [   13.096467] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    [   13.443797] cryptodev: driver 1.6 loaded.
    [   31.576319] couldn't find an available UDC
    

    musb: usb@47400000 {
                            status = "okay";

                            control@44e10000 {
                                    status = "okay";
                            };

                            usb-phy@47401300 {
                                    status = "okay";
                            };

                            usb-phy@47401b00 {
                                    status = "okay";
                            };

                            usb@47401000 {
                                    status = "okay";dr_mode = "host"; //usb client act as host / dr_mode = "otg"
                            };

                            usb@47401800 {
                                    status = "okay";
                                    dr_mode = "host";
                            };

                            dma-controller@07402000  {
                                    status = "okay";
                            };
                    };


  • Shankar,

    AM335x on BBB does support OTG, but the BBB board does not. Foundamentally it does not have the power switch to control the VBUS for OTG requirement. And I don't think there is a easy way to change BBB to make it work as what you need.

    Please look at the AM335x GP EVM as the reference of the OTG mode on the USB0 port.