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.

USB0 peripheral mode not working on custom board based on Sitara am335x EVM

Other Parts Discussed in Thread: DA8XX, AM3359

Hi,

We made a custom board based on the sitara am335x EVM. Like in the EVM, USB0 is OTG for using as android ADB debug and USB1 is used as HOST. Only change we made is that we removed the usb hub in the EVM design and connected the USB0 directly to the micro-usb port including the USB0-ID pin. USB1 which acts as HOST is working perfectly. But the USB0 is not detected by the HOST PC when connected. There is no dmesg output both on HOST PC and the am335x board when usb0 is connected. Please help me to resolve this issue. I have attached the dmesg.

1|root@android:/ # cat /proc/interrupts                                        
           CPU0       
  4:          0      INTC  omap2_elm
 12:       4244      INTC  edma
 14:          0      INTC  edma_error
 16:      17492      INTC  tsc
 18:          0      INTC  musb-hdrc.0
 19:      89213      INTC  musb-hdrc.1
 28:        144      INTC  mmc1
 36:     185475      INTC  da8xx_lcdc
 37:     614326      INTC  SGX ISR
 40:          0      INTC  cpsw
 43:          0      INTC  cpsw
 64:      14453      INTC  mmc0
 68:     225476      INTC  gp timer
 70:    1032866      INTC  omap_i2c
 72:      27719      INTC  OMAP UART0
 73:       2286      INTC  OMAP UART1
 75:          0      INTC  rtc0
 76:          0      INTC  rtc0
 77:          0      INTC  wkup_m3
 78:          1      INTC  wkup_m3_txev
 93:          0      INTC  cpsw
 94:          0      INTC  cpsw
166:          0      GPIO  mmc0
Err:          0
root@android:/ # ls /proc/driver/                                              
musb_hdrc.0
musb_hdrc.1
rtc
snd-page-alloc
root@android:/ # cat /proc/driver/musb_hdrc.0                                  
Status: MHDRC, Mode=Peripheral (Power=e0, DevCtl=80)
OTG state: b_idle; inactive
Options: pio, otg (peripheral+host), [eps=16]
Peripheral address: 00
Root port status: 00000000
Gadget driver: android_usb
ep0 (hw0): 1buf, csr 0000 maxp 0000
        (queue empty)
root@android:/ # cat /proc/driver/musb_hdrc.1                                  
Status: MHDRC, Mode=Host (Power=f0, DevCtl=5d)
OTG state: a_host; active
Options: pio, otg (peripheral+host), [eps=16]
Peripheral address: 00
Root port status: 00000503
root@android:/ # 
<5>[    0.000000] Linux version 3.2.0 (cdl@cdl) (gcc version 4.5.3 20110311 (pr3
<4>[    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53cd
<4>[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instrue
<4>[    0.000000] Machine: am335xevm
<4>[    0.000000] Memory policy: ECC disabled, Data cache writeback
<7>[    0.000000] On node 0 totalpages: 65536
<7>[    0.000000] free_area_init_node: node 0, pgdat c073b094, node_mem_map c080
<7>[    0.000000]   Normal zone: 512 pages used for memmap
<7>[    0.000000]   Normal zone: 0 pages reserved
<7>[    0.000000]   Normal zone: 65024 pages, LIFO batch:15
<6>[    0.000000] AM335X ES1.0 (sgx neon )
<7>[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
<7>[    0.000000] pcpu-alloc: [0] 0 
<4>[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total4
<5>[    0.000000] Kernel command line: console=ttyO0,115200n8 androidboot.consof
<6>[    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
<6>[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 byte)
<6>[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
<6>[    0.000000] Memory: 256MB = 256MB total
<5>[    0.000000] Memory: 251228k/251228k available, 10916k reserved, 0K highmem
<5>[    0.000000] Virtual kernel memory layout:
<5>[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
<5>[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
<5>[    0.000000]     vmalloc : 0xd0800000 - 0xff000000   ( 744 MB)
<5>[    0.000000]     lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)
<5>[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
<5>[    0.000000]       .text : 0xc0008000 - 0xc06a1000   (6756 kB)
<5>[    0.000000]       .init : 0xc06a1000 - 0xc06e0000   ( 252 kB)
<5>[    0.000000]       .data : 0xc06e0000 - 0xc073b840   ( 367 kB)
<5>[    0.000000]        .bss : 0xc073b864 - 0xc086cc98   (1222 kB)
<6>[    0.000000] NR_IRQS:396
<6>[    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 intes
<6>[    0.000000] Total of 128 interrupts on 1 active controller
<6>[    0.000000] OMAP clockevent source: GPTIMER2 at 24000000 Hz
<6>[    0.000000] OMAP clocksource: GPTIMER1 at 32768 Hz
<6>[    0.000000] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps evers
<6>[    0.000000] Console: colour dummy device 80x30
<6>[    0.000152] Calibrating delay loop... 718.02 BogoMIPS (lpj=3590144)
<6>[    0.058929] pid_max: default: 32768 minimum: 301
<6>[    0.059082] Security Framework initialized
<6>[    0.059143] Mount-cache hash table entries: 512
<6>[    0.059509] CPU: Testing write buffer coherency: ok
<6>[    0.061401] ttyO0 used as console in debug mode uart0 clocks will not be d
<4>[    0.079406] omap_hwmod: pruss: failed to hardreset
<6>[    0.080169] print_constraints: dummy: 
<6>[    0.080383] NET: Registered protocol family 16
<6>[    0.081481] OMAP GPIO hardware version 0.1
<6>[    0.082519] omap_mux_init: Add partition: #1: core, flags: 0
<6>[    0.083648] omap_mux_init_signal: Setting signal xdma_event_intr1.clkout23
<4>[    0.083740]  omap_i2c.1: alias fck already exists
<4>[    0.084259]  omap2_mcspi.1: alias fck already exists
<4>[    0.084381]  omap2_mcspi.2: alias fck already exists
<4>[    0.084533]  edma.0: alias fck already exists
<4>[    0.084533]  edma.0: alias fck already exists
<4>[    0.084564]  edma.0: alias fck already exists
<6>[    0.094207] bio: create slab <bio-0> at 0
<5>[    0.095184] SCSI subsystem initialized
<6>[    0.096008] usbcore: registered new interface driver usbfs
<6>[    0.096130] usbcore: registered new interface driver hub
<6>[    0.096282] usbcore: registered new device driver usb
<6>[    0.096405] musb-ti81xx musb-ti81xx: musb0, board_mode=0x12, plat_mode=0x2
<6>[    0.096557] musb-ti81xx musb-ti81xx: musb1, board_mode=0x12, plat_mode=0x1
<6>[    0.096984] omap_i2c omap_i2c.1: bus 1 rev2.4.0 at 100 kHz
<6>[    0.098266] tps65910 1-002d: JTAGREVNUM 0x0
<6>[    0.100433] print_constraints: VRTC: 
<6>[    0.101776] print_constraints: VIO: at 1500 mV 
<6>[    0.104003] print_constraints: VDD1: 600 <--> 1500 mV at 1262 mV normal 
<6>[    0.106170] print_constraints: VDD2: 600 <--> 1500 mV at 1137 mV normal 
<6>[    0.107086] print_constraints: VDD3: 5000 mV 
<6>[    0.108398] print_constraints: VDIG1: at 1800 mV 
<6>[    0.109741] print_constraints: VDIG2: at 1800 mV 
<6>[    0.111083] print_constraints: VPLL: at 1800 mV 
<6>[    0.112396] print_constraints: VDAC: at 1800 mV 
<6>[    0.113708] print_constraints: VAUX1: at 1800 mV 
<6>[    0.115051] print_constraints: VAUX2: at 3300 mV 
<6>[    0.116394] print_constraints: VAUX33: at 3300 mV 
<6>[    0.117706] print_constraints: VMMC: at 3300 mV 
<4>[    0.118011] tps65910 1-002d: No interrupt support, no core IRQ
<6>[    0.118530] Advanced Linux Sound Architecture Driver Version 1.0.24.
<6>[    0.119140] Bluetooth: Core ver 2.16
<6>[    0.119201] NET: Registered protocol family 31
<6>[    0.119201] Bluetooth: HCI device and connection manager initialized
<6>[    0.119232] Bluetooth: HCI socket layer initialized
<6>[    0.119232] Bluetooth: L2CAP socket layer initialized
<6>[    0.119262] Bluetooth: SCO socket layer initialized
<6>[    0.119476] Switching to clocksource gp timer
<6>[    0.127258] musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)
<6>[    0.127441] musb-hdrc musb-hdrc.0: dma type: pio
<6>[    0.127593] MUSB0 controller's USBSS revision = 4ea20800
<7>[    0.127624] musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, )
<7>[    0.127655] musb-hdrc: MHDRC RTL version 2.0 
<7>[    0.127655] musb-hdrc: setup fifo_mode 4
<7>[    0.127685] musb-hdrc: 28/31 max ep, 16384/16384 memory
<6>[    0.128051] musb-hdrc musb-hdrc.0: USB Peripheral mode controller at d0838
<6>[    0.128112] musb-hdrc musb-hdrc.1: dma type: pio
<6>[    0.128265] MUSB1 controller's USBSS revision = 4ea20800
<7>[    0.128295] musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, )
<7>[    0.128295] musb-hdrc: MHDRC RTL version 2.0 
<7>[    0.128295] musb-hdrc: setup fifo_mode 4
<7>[    0.128326] musb-hdrc: 28/31 max ep, 16384/16384 memory
<6>[    0.128356] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
<6>[    0.128417] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus n1
<6>[    0.128570] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
<6>[    0.128601] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNum1
<6>[    0.128601] usb usb1: Product: MUSB HDRC host driver
<6>[    0.128631] usb usb1: Manufacturer: Linux 3.2.0 musb-hcd
<6>[    0.128631] usb usb1: SerialNumber: musb-hdrc.1
<6>[    0.129211] hub 1-0:1.0: USB hub found
<6>[    0.129241] hub 1-0:1.0: 1 port detected
<6>[    0.129699] musb-hdrc musb-hdrc.1: USB Host mode controller at d083e800 u9
<6>[    0.130096] NET: Registered protocol family 2
<6>[    0.130279] IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
<6>[    0.130645] TCP established hash table entries: 8192 (order: 4, 65536 byt)
<6>[    0.130798] TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
<6>[    0.130889] TCP: Hash tables configured (established 8192 bind 8192)
<6>[    0.130920] TCP reno registered
<6>[    0.130920] UDP hash table entries: 256 (order: 0, 4096 bytes)
<6>[    0.130950] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
<6>[    0.131134] NET: Registered protocol family 1
<6>[    0.131408] RPC: Registered named UNIX socket transport module.
<6>[    0.131408] RPC: Registered udp transport module.
<6>[    0.131439] RPC: Registered tcp transport module.
<6>[    0.131439] RPC: Registered tcp NFSv4.1 backchannel transport module.
<4>[    0.131683] NetWinder Floating Point Emulator V0.97 (double precision)
<6>[    0.260253] ashmem: initialized
<5>[    0.260528] VFS: Disk quotas dquot_6.5.2
<4>[    0.260589] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
<6>[    0.261474] msgmni has been set to 490
<6>[    0.262420] io scheduler noop registered
<6>[    0.262451] io scheduler deadline registered
<6>[    0.262512] io scheduler cfq registered (default)
<3>[    0.263122] Could not set LED4 to fully on
<6>[    0.264312] omap_uart.0: ttyO0 at MMIO 0x44e09000 (irq = 72) is a OMAP UA0
<6>[    1.018371] console [ttyO0] enabled
<6>[    1.022399] omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UA1
<6>[    1.030059] omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UA2
<6>[    1.037719] omap_uart.3: ttyO3 at MMIO 0x481a6000 (irq = 44) is a OMAP UA3
<6>[    1.045532] omap_uart.4: ttyO4 at MMIO 0x481a8000 (irq = 45) is a OMAP UA4
<6>[    1.053222] omap_uart.5: ttyO5 at MMIO 0x481aa000 (irq = 46) is a OMAP UA5
<6>[    1.066894] brd: module loaded
<6>[    1.073272] loop: module loaded
<4>[    1.076721] i2c-core: driver [tsl2550] using legacy suspend method
<4>[    1.083221] i2c-core: driver [tsl2550] using legacy resume method
<6>[    1.089630] at24 1-0051: 32768 byte 24c256 EEPROM, writable, 64 bytes/wrie
<6>[    1.150146] No daughter card found on AM335x EVM
<6>[    1.155029] at24 1-0050: 32768 byte 24c256 EEPROM, writable, 64 bytes/wrie
<6>[    1.164367] Board name: A335X_SK
<6>[    1.167724] Board version: 1.2B
<6>[    1.171020] Akhil-setup_startupkit()
<6>[    1.174560] The board is a AM335x Starter Kit.
<6>[    1.179443] omap_mux_init_signal: Setting signal mii1_rxd2.mmc1_dat3 0x004
<6>[    1.187622] omap_mux_init_signal: Setting signal mii1_rxd3.mmc1_dat2 0x004
<6>[    1.195800] omap_mux_init_signal: Setting signal mii1_rxclk.mmc1_dat1 0x04
<6>[    1.204071] omap_mux_init_signal: Setting signal mii1_txclk.mmc1_dat0 0x04
<6>[    1.212341] omap_mux_init_signal: Setting signal mii1_txd0.mmc1_clk 0x0006
<6>[    1.220428] omap_mux_init_signal: Setting signal mii1_txd1.mmc1_cmd 0x0006
<6>[    1.228515] omap_mux_init_signal: Setting signal mmc0_dat3.mmc0_dat3 0x000
<6>[    1.236694] omap_mux_init_signal: Setting signal mmc0_dat2.mmc0_dat2 0x000
<6>[    1.244873] omap_mux_init_signal: Setting signal mmc0_dat1.mmc0_dat1 0x000
<6>[    1.253051] omap_mux_init_signal: Setting signal mmc0_dat0.mmc0_dat0 0x000
<6>[    1.261230] omap_mux_init_signal: Setting signal mmc0_clk.mmc0_clk 0x00300
<6>[    1.269195] omap_mux_init_signal: Setting signal mmc0_cmd.mmc0_cmd 0x00300
<6>[    1.277191] omap_mux_init_signal: Setting signal spi0_cs1.gpio0_6 0x0035 7
<4>[    1.285186]  omap_hsmmc.0: alias fck already exists
<4>[    1.290496]  omap_hsmmc.1: alias fck already exists
<6>[    1.295715] omap_mux_init_signal: Setting signal usb0_drvvbus.usb0_drvvbu0
<6>[    1.304473] omap_mux_init_signal: Setting signal usb1_drvvbus.usb1_drvvbu0
<6>[    1.313201] omap_mux_init_signal: Setting signal gpmc_ad0.gpmc_ad0 0x00300
<6>[    1.321197] omap_mux_init_signal: Setting signal gpmc_ad1.gpmc_ad1 0x00300
<6>[    1.329193] omap_mux_init_signal: Setting signal gpmc_ad2.gpmc_ad2 0x00300
<6>[    1.337188] omap_mux_init_signal: Setting signal gpmc_ad3.gpmc_ad3 0x00300
<6>[    1.345184] omap_mux_init_signal: Setting signal gpmc_ad4.gpmc_ad4 0x00300
<6>[    1.353179] omap_mux_init_signal: Setting signal gpmc_ad5.gpmc_ad5 0x00300
<6>[    1.361175] omap_mux_init_signal: Setting signal gpmc_ad6.gpmc_ad6 0x00300
<6>[    1.369171] omap_mux_init_signal: Setting signal gpmc_ad7.gpmc_ad7 0x00300
<6>[    1.377166] omap_mux_init_signal: Setting signal gpmc_wait0.gpmc_wait0 0x0
<6>[    1.385528] omap_mux_init_signal: Setting signal gpmc_csn2.gpmc_csn2 0x008
<6>[    1.393707] omap_mux_init_signal: Setting signal gpmc_advn_ale.gpmc_advn_8
<6>[    1.402618] omap_mux_init_signal: Setting signal gpmc_oen_ren.gpmc_oen_re8
<6>[    1.411346] omap_mux_init_signal: Setting signal gpmc_wen.gpmc_wen 0x00088
<6>[    1.419311] omap_mux_init_signal: Setting signal gpmc_ben0_cle.gpmc_ben0_8
<6>[    1.428222] akhil- gpmc- befor pdata check
<6>[    1.432586] akhil-GPMC_INIT
<6>[    1.435882] omap-gpmc omap-gpmc: GPMC revision 6.0
<6>[    1.440917] Registering NAND on CS0
<6>[    1.444915] omap_mux_init_signal: Setting signal lcd_data0.lcd_data0 0x008
<6>[    1.453125] omap_mux_init_signal: Setting signal lcd_data1.lcd_data1 0x008
<6>[    1.461303] omap_mux_init_signal: Setting signal lcd_data2.lcd_data2 0x008
<6>[    1.469482] omap_mux_init_signal: Setting signal lcd_data3.lcd_data3 0x008
<6>[    1.477661] omap_mux_init_signal: Setting signal lcd_data4.lcd_data4 0x008
<6>[    1.485839] omap_mux_init_signal: Setting signal lcd_data5.lcd_data5 0x008
<6>[    1.494018] omap_mux_init_signal: Setting signal lcd_data6.lcd_data6 0x008
<6>[    1.502197] omap_mux_init_signal: Setting signal lcd_data7.lcd_data7 0x008
<6>[    1.510375] omap_mux_init_signal: Setting signal lcd_data8.lcd_data8 0x008
<6>[    1.518524] omap_mux_init_signal: Setting signal lcd_data9.lcd_data9 0x008
<6>[    1.526702] omap_mux_init_signal: Setting signal lcd_data10.lcd_data10 0x8
<6>[    1.535064] omap_mux_init_signal: Setting signal lcd_data11.lcd_data11 0x8
<6>[    1.543426] omap_mux_init_signal: Setting signal lcd_data12.lcd_data12 0x8
<6>[    1.551788] omap_mux_init_signal: Setting signal lcd_data13.lcd_data13 0x8
<6>[    1.560150] omap_mux_init_signal: Setting signal lcd_data14.lcd_data14 0x8
<6>[    1.568511] omap_mux_init_signal: Setting signal lcd_data15.lcd_data15 0x8
<6>[    1.576873] omap_mux_init_signal: Setting signal gpmc_ad8.lcd_data16 0x001
<6>[    1.585052] omap_mux_init_signal: Setting signal gpmc_ad9.lcd_data17 0x001
<6>[    1.593231] omap_mux_init_signal: Setting signal gpmc_ad10.lcd_data18 0x01
<6>[    1.601501] omap_mux_init_signal: Setting signal gpmc_ad11.lcd_data19 0x01
<6>[    1.609741] omap_mux_init_signal: Setting signal gpmc_ad12.lcd_data20 0x01
<6>[    1.618011] omap_mux_init_signal: Setting signal gpmc_ad13.lcd_data21 0x01
<6>[    1.626281] omap_mux_init_signal: Setting signal gpmc_ad14.lcd_data22 0x01
<6>[    1.634552] omap_mux_init_signal: Setting signal gpmc_ad15.lcd_data23 0x01
<6>[    1.642822] omap_mux_init_signal: Setting signal lcd_vsync.lcd_vsync 0x000
<6>[    1.651000] omap_mux_init_signal: Setting signal lcd_hsync.lcd_hsync 0x000
<6>[    1.659179] omap_mux_init_signal: Setting signal lcd_pclk.lcd_pclk 0x00270
<6>[    1.667175] omap_mux_init_signal: Setting signal lcd_ac_bias_en.lcd_ac_bi0
<6>[    1.676239] omap_mux_init_signal: Setting signal gpmc_a6.gpio1_22 0x0002 7
<6>[    1.684173] Akhil-LCD_DISEN initialized
<4>[    1.688354]  da8xx_lcdc.0: alias fck already exists
<6>[    1.693664] da8xx_lcdc da8xx_lcdc.0: GLCD: Found NHD-4.3-ATXI#-T-1 panel
<6>[    1.712219] omap_mux_init_signal: Setting signal mcasp0_ahclkr.ecap2_in_p4
<6>[    1.721527] omap_mux_init_signal: Setting signal ain0.ain0 0x0028 -> 0x000
<6>[    1.728790] omap_mux_init_signal: Setting signal ain1.ain1 0x0028 -> 0x000
<6>[    1.736053] omap_mux_init_signal: Setting signal ain2.ain2 0x0028 -> 0x000
<6>[    1.743316] omap_mux_init_signal: Setting signal ain3.ain3 0x0028 -> 0x000
<6>[    1.750610] omap_mux_init_signal: Setting signal vrefp.vrefp 0x0028 -> 0x0
<6>[    1.758026] omap_mux_init_signal: Setting signal vrefn.vrefn 0x0028 -> 0x0
<6>[    1.765899] omap_mux_init_signal: Setting signal uart1_ctsn.uart1_ctsn 0x0
<6>[    1.774291] omap_mux_init_signal: Setting signal uart1_rtsn.uart1_rtsn 0x8
<6>[    1.782653] omap_mux_init_signal: Setting signal uart1_rxd.uart1_rxd 0x000
<6>[    1.790832] omap_mux_init_signal: Setting signal uart1_txd.uart1_txd 0x000
<6>[    1.798980] inside setup_pin_mux of uart4
<6>[    1.803192] omap_mux_init_signal: Setting signal mii1_txd3.uart4_rxd 0x003
<6>[    1.811370] omap_mux_init_signal: Setting signal mii1_txd2.uart4_txd 0x003
<6>[    1.819519] uart4 setup done
<6>[    1.822509] inside setup_pin_mux of uart5
<6>[    1.826721] omap_mux_init_signal: Setting signal mii1_col.uart5_rxd 0x0023
<6>[    1.834808] omap_mux_init_signal: Setting signal mii1_rxdv.uart5_txd 0x003
<6>[    1.842987] omap_mux_init_signal: Setting signal mii1_crs.uart5_ctsn 0x005
<6>[    1.851165] omap_mux_init_signal: Setting signal mii1_rxerr.uart5_rtsn 0xd
<6>[    1.859497] uart5 setup done
<6>[    1.862518] omap_mux_init_signal: Setting signal gpmc_a7.gpio1_23 0x0022 f
<6>[    1.870422] omap_mux_init_signal: Setting signal gpmc_csn0.gpio1_29 0x0007
<6>[    1.878509] omap_mux_init_signal: Setting signal mcasp0_ahclkx.gpio3_21 07
<6>[    1.886932] am335xevm: bt init
<6>[    1.890380] omap_mux_init_signal: Setting signal ecap0_in_pwm0_out.gpio0_7
<6>[    1.899627] (stk) :sysfs entries created
<6>[    1.903808] (stk) : debugfs entries created 
<4>[    1.908203] _regulator_get: 1-0018 supply Vdd not found, using dummy regur
<4>[    1.915985] _regulator_get: 1-0018 supply Vdd_IO not found, using dummy rr
<6>[    1.944580] lis3lv02d: 8 bits 3DLH sensor found
<6>[    2.040435] input: ST LIS3LV02DL Accelerometer as /devices/platform/lis3l0
<3>[    2.050689] mtdoops: mtd device (mtddev=name/number) must be supplied
<6>[    2.057678] omap2-nand driver initializing
<4>[    2.062347] No NAND device found
<4>[    2.065948] No NAND device found
<6>[    2.069366] OneNAND driver initializing
<6>[    2.073913] CAN device driver interface
<6>[    2.077911] CAN bus driver for Bosch D_CAN controller 1.0
<6>[    2.130187] davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
<4>[    2.136627] davinci_mdio davinci_mdio.0: no live phy, scanning all
<4>[    2.143310] davinci_mdio: probe of davinci_mdio.0 failed with error -5
<6>[    2.150177] PPP generic driver version 2.4.2
<6>[    2.154785] PPP BSD Compression module registered
<6>[    2.159698] PPP Deflate Compression module registered
<6>[    2.165069] usbcore: registered new interface driver cdc_ether
<6>[    2.171264] usbcore: registered new interface driver cdc_eem
<6>[    2.177215] usbcore: registered new interface driver dm9601
<6>[    2.183074] usbcore: registered new interface driver cdc_subset
<6>[    2.189300] cdc_ncm: 04-Aug-2011
<6>[    2.192718] usbcore: registered new interface driver cdc_ncm
<6>[    2.198699] usbcore: registered new interface driver cdc_acm
<6>[    2.204620] cdc_acm: USB Abstract Control Model driver for USB modems ands
<6>[    2.212982] Initializing USB Mass Storage driver...
<6>[    2.218170] usbcore: registered new interface driver usb-storage
<6>[    2.224456] USB Mass Storage support registered.
<6>[    2.229431] usbcore: registered new interface driver usbserial
<6>[    2.235565] USB Serial support registered for generic
<6>[    2.240905] usbcore: registered new interface driver usbserial_generic
<6>[    2.247711] usbserial: USB Serial Driver core
<6>[    2.252319] USB Serial support registered for GSM modem (1-port)
<6>[    2.258728] usbcore: registered new interface driver option
<6>[    2.264526] option: v0.7.2:USB Driver for GSM modems
<6>[    2.271514]  gadget: Mass Storage Function, version: 2009/09/11
<6>[    2.277679]  gadget: Number of LUNs=1
<6>[    2.281524]  lun0: LUN: removable file: (no medium)
<6>[    2.286865]  gadget: android_usb ready
<6>[    2.291076] mousedev: PS/2 mouse device common for all mice
<6>[    2.297790] input: ti-tsc-adcc as /devices/platform/omap/tsc/input/input1
<6>[    2.306274] using rtc device, omap_rtc, for alarms
<6>[    2.311187] omap_rtc omap_rtc: rtc core: registered omap_rtc as rtc0
<6>[    2.318023] omap_rtc: already running
<6>[    2.321899] i2c /dev entries driver
<6>[    2.325744] Linux video capture interface: v2.00
<6>[    2.330688] usbcore: registered new interface driver uvcvideo
<6>[    2.336700] USB Video Class driver (1.1.1)
<6>[    2.342742] OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
<6>[    2.349273] device-mapper: uevent: version 1.0.3
<6>[    2.354309] device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialised: m
<6>[    2.363128] Bluetooth: HCI UART driver ver 2.2
<6>[    2.367767] Bluetooth: HCI H4 protocol initialized
<6>[    2.372741] Bluetooth: HCILL protocol initialized
<6>[    2.377655] Bluetooth: Bluetooth Driver for TI WiLink - Version 1.0
<7>[    2.384277] hdev cf3cd800
<7>[    2.387542] HCI device registered (hdev cf3cd800)
<7>[    2.392730] hci0 cf3cd800
<7>[    2.395477] plat_kim_chip_enable
<6>[    2.400268] cpuidle: using governor ladder
<6>[    2.404663] cpuidle: using governor menu
<6>[    2.517242] usbcore: registered new interface driver usbhid
<6>[    2.523101] usbhid: USB HID core driver
<6>[    2.527496] logger: created 256K log 'log_main'
<6>[    2.532348] logger: created 256K log 'log_events'
<6>[    2.537353] logger: created 256K log 'log_radio'
<6>[    2.542297] logger: created 256K log 'log_system'
<6>[    2.547668] usbcore: registered new interface driver snd-usb-audio
<6>[    2.554962] ALSA device list:
<6>[    2.558074]   No soundcards found.
<6>[    2.561645] oprofile: hardware counters not available
<6>[    2.566894] oprofile: using timer interrupt.
<6>[    2.571533] Netfilter messages via NETLINK v0.30.
<6>[    2.576538] nf_conntrack version 0.5.0 (3925 buckets, 15700 max)
<6>[    2.583160] ctnetlink v0.93: registering with nfnetlink.
<6>[    2.588745] NF_TPROXY: Transparent proxy support initialized, version 4.10
<6>[    2.596038] NF_TPROXY: Copyright (c) 2006-2007 BalaBit IT Ltd.
<6>[    2.602447] xt_time: kernel timezone is -0000
<6>[    2.607208] ip_tables: (C) 2000-2006 Netfilter Core Team
<6>[    2.612976] arp_tables: (C) 2002 David S. Miller
<6>[    2.617828] TCP cubic registered
<6>[    2.621398] NET: Registered protocol family 10
<6>[    2.626800] Mobile IPv6
<6>[    2.629394] ip6_tables: (C) 2000-2006 Netfilter Core Team
<6>[    2.635223] IPv6 over IPv4 tunneling driver
<6>[    2.640289] NET: Registered protocol family 17
<6>[    2.644958] NET: Registered protocol family 15
<6>[    2.649597] can: controller area network core (rev 20090105 abi 8)
<6>[    2.656158] NET: Registered protocol family 29
<6>[    2.660827] can: raw protocol (rev 20090105)
<6>[    2.665252] can: broadcast manager protocol (rev 20090105 t)
<6>[    2.671630] Bluetooth: RFCOMM TTY layer initialized
<6>[    2.676727] Bluetooth: RFCOMM socket layer initialized
<6>[    2.682098] Bluetooth: RFCOMM ver 1.11
<6>[    2.686004] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
<6>[    2.691558] Bluetooth: BNEP filters: protocol multicast
<6>[    2.696990] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
<5>[    2.703338] Registering the dns_resolver key type
<6>[    2.708312] VFP support v0.3: implementor 41 architecture 3 part 30 varia3
<6>[    2.716339] ThumbEE CPU extension supported.
<4>[    2.720855] mux: Failed to setup hwmod io irq -22
<6>[    2.726379] Power Management for AM33XX family
<6>[    2.731262] Trying to load am335x-pm-firmware.bin (60 secs timeout)
<6>[    2.737915] Copied the M3 firmware to UMEM
<6>[    2.746643] clock: disabling unused clocks to save power
<6>[    2.753723] Detected MACID=0:18:31:e7:46:c1
<6>[    2.759277] omap_rtc omap_rtc: setting system clock to 2000-01-01 00:32:4)
<6>[    2.768585] Waiting for root device /dev/mmcblk0p2...
<4>[    2.852935] mmc0: host does not support reading read-only switch. assumin.
<6>[    2.864715] mmc0: new high speed SDHC card at address e624
<6>[    2.870971] mmcblk0: mmc0:e624 SU08G 7.40 GiB 
<6>[    2.877197]  mmcblk0: p1 p2 p3
<4>[    2.996032] mmc1: card claims to support voltages below the defined range.
<4>[    3.016387] mmc1: queuing unknown CIS tuple 0x91 (3 bytes)
<6>[    3.023437] mmc1: new SDIO card at address 0001
<6>[    3.248138] EXT4-fs (mmcblk0p2): recovery complete
<6>[    3.254882] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mod)
<6>[    3.263397] VFS: Mounted root (ext4 filesystem) on device 179:2.
<6>[    3.270019] Freeing init memory: 252K
<4>[    3.288116] init (1): /proc/1/oom_adj is deprecated, please use /proc/1/o.
<3>[    3.373168] init: cannot open '/initlogo.rle'
<4>[    3.406921] Disabling lock debugging due to kernel taint
<6>[    3.413146] Compat-wireless backport release: compat-wireless-2011-12-05-c
<6>[    3.421173] Backport based on wl12xx.git v2.6.39-1328-g0890f48
<6>[    3.454071] cfg80211: Calling CRDA to update world regulatory domain
<3>[    3.510711] (stk) :line disc installation timed out 
<3>[    3.563812] init: cannot find '/system/etc/install-recovery.sh', disablin'
<3>[    3.575256] android_usb: already disabled
<6>[    3.581176] adb_bind_config
<6>[    3.758148] cfg80211: World regulatory domain updated:
<6>[    3.763580] cfg80211:     (start_freq - end_freq @ bandwidth), (max_anten)
<6>[    3.772308] cfg80211:     (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 m)
<6>[    3.780548] cfg80211:     (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 m)
<6>[    3.788818] cfg80211:     (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 m)
<6>[    3.797088] cfg80211:     (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 m)
<6>[    3.805358] cfg80211:     (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 m)
<7>[    4.510955] plat_kim_chip_enable
<6>[    4.839233] adb_open
<7>[    5.229187] hci0: type 1 len 4
<7>[    5.234954] hci0: type 1 len 4
<7>[    5.238708] hci0: type 1 len 4
<7>[    5.245697] hci0: type 1 len 4
<7>[    5.251037] hci0: type 1 len 4
<7>[    5.258117] hci0: type 1 len 4
<7>[    5.271087] hci0: type 1 len 4
<7>[    5.281036] hci0: type 1 len 4
<7>[    5.284729] hci0: type 1 len 5
<7>[    5.288421] hci0: type 1 len 6
<7>[    5.301086] hci0: type 1 len 11
<7>[    5.307128] hci0: type 1 len 12
<7>[    5.310913] hci0: type 1 len 4
<7>[    5.321044] hci0: type 1 len 5
<7>[    5.324829] hci0: type 1 len 5
<7>[    5.331085] hci0: type 1 len 4
<7>[    5.339843] hci0: type 1 len 5
<7>[    5.343597] hci0: type 1 len 6
<7>[    5.347259] hci0: type 1 len 6
<3>[    5.714874] init: untracked pid 64 exited
<7>[    7.351135] hci0: type 1 len 4
<7>[    7.366119] plat_kim_chip_disable
<6>[   15.398742] warning: `zygote' uses 32-bit capabilities (legacy support in)
<6>[   19.321441] request_suspend_state: wakeup (3->0) at 19320415958 (2000-01-)
<3>[   19.527252] init: no such service 'hciattach'
<7>[   19.541320] hci0 cf3cd800
<7>[   19.544067] plat_kim_chip_enable
<7>[   20.037658] hci0: type 1 len 4
<7>[   20.041473] hci0: type 1 len 4
<7>[   20.045135] hci0: type 1 len 4
<7>[   20.048858] hci0: type 1 len 4
<7>[   20.052520] hci0: type 1 len 4
<7>[   20.056182] hci0: type 1 len 4
<7>[   20.059783] hci0: type 1 len 4
<7>[   20.064300] hci0: type 1 len 4
<7>[   20.067932] hci0: type 1 len 5
<7>[   20.071777] hci0: type 1 len 6
<7>[   20.075439] hci0: type 1 len 11
<7>[   20.079162] hci0: type 1 len 12
<7>[   20.082885] hci0: type 1 len 4
<7>[   20.086730] hci0: type 1 len 5
<7>[   20.090393] hci0: type 1 len 5
<7>[   20.094055] hci0: type 1 len 4
<7>[   20.097686] hci0: type 1 len 5
<7>[   20.101348] hci0: type 1 len 6
<7>[   20.104980] hci0: type 1 len 6
<3>[   20.261138] PHY 0:00 not found
<3>[   20.264343] PHY 0:01 not found
<6>[   20.272583] ADDRCONF(NETDEV_UP): eth0: link is not ready
<7>[   20.315216] hci0: type 1 len 4
<7>[   20.327850] hci0: type 1 len 6
<7>[   20.332031] hci0: type 1 len 11
<7>[   20.358245] hci0: type 1 len 12
<7>[   20.382415] hci0: type 1 len 5
<7>[   20.386199] hci0: type 1 len 5
<7>[   20.390472] hci0: type 1 len 4
<7>[   20.394409] hci0: type 1 len 6
<7>[   20.401336] hci0: type 1 len 252
<7>[   20.414428] hci0: type 1 len 7
<7>[   20.418243] hci0: type 1 len 5
<7>[   20.456024] hci0: type 1 len 4
<7>[   20.459808] hci0: type 1 len 4
<7>[   20.468627] hci0: type 1 len 4
<7>[   20.486297] hci0: type 1 len 4
<7>[   20.490722] hci0: type 1 len 245
<6>[   20.560272] acc_open
<6>[   20.562835] acc_release
<6>[   20.789001] adb_bind_config
<6>[   20.792541] adb_release
<3>[   20.820861] init: untracked pid 71 exited
<6>[   20.847412] adb_open
<7>[   21.010437] hci0: type 1 len 5
<7>[   21.013854] hci0: type 1 len 4
<7>[   21.025970] plat_kim_chip_disable
<7>[   21.328948] hci0 cf3cd800
<7>[   21.331787] plat_kim_chip_enable
<7>[   22.022064] hci0: type 1 len 4
<7>[   22.025939] hci0: type 1 len 4
<7>[   22.029815] hci0: type 1 len 4
<7>[   22.041137] hci0: type 1 len 4
<7>[   22.045684] hci0: type 1 len 4
<7>[   22.049499] hci0: type 1 len 4
<7>[   22.053436] hci0: type 1 len 4
<7>[   22.059906] hci0: type 1 len 4
<7>[   22.066925] hci0: type 1 len 5
<7>[   22.077606] hci0: type 1 len 6
<7>[   22.082824] hci0: type 1 len 11
<7>[   22.090026] hci0: type 1 len 12
<7>[   22.101196] hci0: type 1 len 4
<7>[   22.105102] hci0: type 1 len 5
<7>[   22.109039] hci0: type 1 len 5
<7>[   22.121612] hci0: type 1 len 4
<7>[   22.126068] hci0: type 1 len 5
<7>[   22.130493] hci0: type 1 len 6
<7>[   22.135711] hci0: type 1 len 6
<7>[   22.166595] hci0: type 1 len 6
<7>[   22.170288] hci0: type 1 len 11
<7>[   22.175018] hci0: type 1 len 12
<7>[   22.178771] hci0: type 1 len 5
<7>[   22.182861] hci0: type 1 len 5
<7>[   22.188079] hci0: type 1 len 4
<7>[   22.192749] hci0: type 1 len 6
<7>[   22.201110] hci0: type 1 len 252
<7>[   22.207885] hci0: type 1 len 7
<7>[   22.241210] hci0: type 1 len 5
<7>[   22.255218] hci0: type 1 len 4
<7>[   22.264007] hci0: type 1 len 4
<7>[   22.271697] hci0: type 1 len 245
<7>[   22.277862] hci0: type 1 len 4
<7>[   22.281951] hci0: type 1 len 4
<7>[   22.294921] hci0: type 1 len 4
<6>[  222.680725] acc_open
<6>[  307.407226] acc_release
<6>[  308.758575] acc_open
<6>[  313.799316] acc_release
<6>[  344.047546] adb_open
<6>[  349.473999] adb_open
<6>[  350.930023] adb_open
<6>[ 2778.931121] usb 1-1: new high-speed USB device number 2 using musb-hdrc
<6>[ 2779.072906] usb 1-1: New USB device found, idVendor=0951, idProduct=1613
<6>[ 2779.079956] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumb3
<6>[ 2779.087402] usb 1-1: Product: DataTraveler2.0 
<6>[ 2779.092041] usb 1-1: Manufacturer: Kingston
<6>[ 2779.096405] usb 1-1: SerialNumber: 0801041112435
<6>[ 2779.108642] scsi0 : usb-storage 1-1:1.0
<5>[ 2780.113891] scsi 0:0:0:0: Direct-Access     Kingston DataTraveler2.0  1.02
<5>[ 2780.126647] sd 0:0:0:0: Attached scsi generic sg0 type 0
<5>[ 2780.140472] sd 0:0:0:0: [sda] 3903359 512-byte logical blocks: (1.99 GB/1)
<5>[ 2780.149780] sd 0:0:0:0: [sda] Write Protect is off
<7>[ 2780.154876] sd 0:0:0:0: [sda] Mode Sense: 0b 00 00 08
<3>[ 2780.160644] sd 0:0:0:0: [sda] No Caching mode page present
<3>[ 2780.166412] sd 0:0:0:0: [sda] Assuming drive cache: write through
<3>[ 2780.176544] sd 0:0:0:0: [sda] No Caching mode page present
<3>[ 2780.182342] sd 0:0:0:0: [sda] Assuming drive cache: write through
<6>[ 2780.282623]  sda: sda1
<3>[ 2780.309722] sd 0:0:0:0: [sda] No Caching mode page present
<3>[ 2780.315521] sd 0:0:0:0: [sda] Assuming drive cache: write through
<5>[ 2780.321899] sd 0:0:0:0: [sda] Attached SCSI removable disk
root@android:/ # 
  • How is VBUS connected on your board?
  • VBUS is connected to a USB power switch which driven by AM335X_USB0_DRVVBUS signal from the MPU. Please check out the attached image.

  • Remove R1562 and R1563 and see if OTG mode will start working. The USB_ID is an analog pin, which sources current to measure the resistance on the ID line. It shouldn't be connected to any external voltage sources.
  • Is there anything else that I should verify before starting rework on the board? If nothing else helps I will definitely do it. I have tried configuring USB0 to USB PERIPHERAL mode. In this mode, does it check the state of the ID pin?

  • Of course it does. The permitted connections on the ID pin are:
     
    Host mode: tied to GND
    Device mode: not connected
    OTG mode: tied to ID pin of USB connector.
     
    Components R1559...R1563 and Q2 on your board are unnecessary and should be removed for OTG mode.
  • As an added note, we got the above USB0 design from 'AM3359 Industrial Development Kit' of TI. Its a ditto copy from its design. You can find its details here: http://www.ti.com/tool/tmdxidk3359#technicaldocuments. I have attached its datasheet.

    1172.am335x_iamotorctrlevm_zczbaseboard_3H0007_schematic_rev1_1b.pdf

  • The IDK schematic needs to be corrected. BOM too. I will make a note for this to the factory team. If you download the latest GP EVM baseboard schematic (http://processors.wiki.ti.com/images/d/d0/AM335X_gpevm_ZCZBASEBOARD_3H0002_REV1_4A.zip) on page 12 you will see that these components are greyed out.
  • Hi Biser,

    I have removed both R1562 and R1563. There is no change in the behavior. Is there anything else that I am missing?

  • If current has been flowing into the ID pin it may have been damaged. Have you checked the ID, VBUS and DRVVBUS lines? What are their states?
  • Do you mean the voltage levels on those pins?

  • The log in the first post tells the USB0 controller does not see 5V on USB0_VBUS pin when connected to a USB host port (assuming the 'cat .../musb_hdrc.0 was executed when connected to a host'). Please probe how this pin connected to VBUS pin on the receptacle.

  • Hi Biser,

    I have checked the voltages on the pins you suggested. DRVVBUS stays at 0V before and after the connecting to the HOST. USB_ID pins shows a periodic pulse of 1.3V before and after connecting to the host. VBUS voltage was around 130mV before connecting to host. After connecting to host, its voltage jumped to around 4.5V.

    regards,

    Akhil.

  • Seems to me the VBUS voltage you receive from the host is a bit low. The AM335X TRM gives a minimum of 4.4V, but suggests VBUS to be above 4.75V for everything to function properly.
  • Can you please run 'cat /proc/driver/musb_hdrc.0' when connected to host and provide the log? The first log tells the VBUS voltage on AM335x USB0_VBUS pin is <2.0V.

  • @Bensir: I have tried connecting to a different laptop. Now the VUSB reads 5.08V to be exact.

    @Bin: Here is the log when the device is connected to a HOST.

    root@android:/ # cat /proc/driver/musb_hdrc.0                                   
    Status: MHDRC, Mode=Peripheral (Power=e0, DevCtl=80)                            
    OTG state: b_idle; inactive                                                     
    Options: pio, otg (peripheral+host), [eps=16]                                   
    Peripheral address: 00                                                          
    Root port status: 00000100                                                      
    Gadget driver: android_usb                                                      
                                                                                    
    ep0 (hw0): 1buf, csr 0000 maxp 0000                                             
            (queue empty)
    root@android:/ # cat /proc/interrupts                                         
               CPU0      
      4:          0      INTC  omap2_elm
     12:       3548      INTC  edma
     14:          0      INTC  edma_error
     16:         64      INTC  tsc                                                
     18:          0      INTC  musb-hdrc.0                                        
     19:          1      INTC  musb-hdrc.1                                        
     28:        144      INTC  mmc1                                               
     36:      22374      INTC  da8xx_lcdc                                         
     37:      74049      INTC  SGX ISR                                            
     40:          0      INTC  cpsw                                               
     43:          0      INTC  cpsw                                               
     64:      11678      INTC  mmc0                                               
     68:      28566      INTC  gp timer                                           
     70:     118000      INTC  omap_i2c                                           
     72:        315      INTC  OMAP UART0                                         
     73:       1505      INTC                                                     
     75:          0      INTC  rtc0                                               
     76:          0      INTC  rtc0                                               
     77:          0      INTC  wkup_m3                                            
     78:          1      INTC  wkup_m3_txev                                       
     93:          0      INTC  cpsw                                               
     94:          0      INTC  cpsw                                               
    166:          0      GPIO  mmc0                                               
    Err:  

  • Akhil P Oommen said:
    root@android:/ # cat /proc/driver/musb_hdrc.0                                   
    Status: MHDRC, Mode=Peripheral (Power=e0, DevCtl=80)      

    The DevCtl register tells AM335x does not see the 5V on USB0_VBUS. Where did you probe VBUS, on the USB0 port or AM335x side?

  • @Bin: you are right. The VBUS signal was not going to the am335x_USB0_VBUS pin. Now it is working perfectly.

    Thank you all for the prompt support.

  • Glad you got the issue fixed!

    Will you use USB0 port in device only mode? You mentioned USB0 port will be used for ADB. If USB0 will never be in host mode, you can remove the power switch U41, and use micro-B receptacle instead of micro-AB, this will save you some BOM cost.

  • Yes, we are considering that.

    regards,

    Akhil.