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.

Re: USB detection in DM8148

Hi,


I am using a DM8148 custom board. In the hardware design the USB ID pin is not properly connected. I have the following question

a) With  the USB ID pin not properly connected is it possible to detect the USB as Host Controller? If yes can you tell me how to do so?

Thanks,

Debasish

  • Debasish,

    You can force one of the modes in software. 

  • Hi Renjith,


    I have forced USB ID pin selection from software as shown:

              TI816X usb connector's ID pin control (from software setting) ---> 
                                    (X) from software setting                    
                                    ( ) from usb connector                       

    But after booting up, when I am connecting some USB device it is not detecting.
    I have attached the logs.
    ## Booting kernel from Legacy Image at 84000000 ...
       Image Name:   Linux-2.6.37+
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    1685012 Bytes = 1.6 MiB
       Load Address: 80008000
       Entry Point:  80008000
       Verifying Checksum ... OK
    ## Loading init Ramdisk from Legacy Image at 81000000 ...
       Image Name:   initrd image
       Image Type:   ARM Linux RAMDisk Image (uncompressed)
       Data Size:    25600000 Bytes = 24.4 MiB
       Load Address: 00000000
       Entry Point:  00000000
       Verifying Checksum ... OK
       Loading Kernel Image ... OK
    OK
    
    Starting kernel ...
    
    Uncompressing Linux... done, booting the kernel.
    Linux version 2.6.37+ (root@ubuntu) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #59 Tue Dec 31 14:02:34 IST 2013
    CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
    CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
    Machine: ti8148evm
    bootconsole [earlycon0] enabled
    reserved size = 0 at 0x0
    Memory policy: ECC disabled, Data cache writeback
    OMAP chip is TI8148 2.0
    SRAM: Mapped pa 0x40300000 to va 0xfe400000 size: 0x20000
    Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 44660
    Kernel command line: console=ttyO0,115200n8 mem=176M earlyprintk root=/dev/ram0 rw initrd=0x81000000
    PID hash table entries: 1024 (order: 0, 4096 bytes)
    Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
    Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
    Memory: 176MB = 176MB total
    Memory: 149660k/149660k available, 30564k reserved, 0K highmem
    Virtual kernel memory layout:
        vector  : 0xffff0000 - 0xffff1000   (   4 kB)
        fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
        DMA     : 0xffc00000 - 0xffe00000   (   2 MB)
        vmalloc : 0xcb800000 - 0xf8000000   ( 712 MB)
        lowmem  : 0xc0000000 - 0xcb000000   ( 176 MB)
        pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
        modules : 0xbf000000 - 0xbfe00000   (  14 MB)
          .init : 0xc0008000 - 0xc0037000   ( 188 kB)
          .text : 0xc0037000 - 0xc0331000   (3048 kB)
          .data : 0xc0332000 - 0xc036c380   ( 233 kB)
    SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    NR_IRQS:375
    IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
    Total of 128 interrupts on 1 active controller
    OMAP clockevent source: GPTIMER1 at 20000000 Hz
    Console: colour dummy device 80x30
    Calibrating delay loop... 399.76 BogoMIPS (lpj=1998848)
    pid_max: default: 32768 minimum: 301
    Security Framework initialized
    Mount-cache hash table entries: 512
    CPU: Testing write buffer coherency: ok
    devtmpfs: initialized
    regulator: core version 0.5
    regulator: dummy:
    OMAP GPIO hardware version 0.1
    OMAP GPIO hardware version 0.1
    OMAP GPIO hardware version 0.1
    OMAP GPIO hardware version 0.1
    evm_init 1
    omap_mux_init: Add partition: #1: core, flags: 4
    evm_init 2
    evm_init 4
    evm_init 5
    evm_init 6 evm_init 7 Executing the Pincntrl
    
    
    Executed the pincntrl--done
    Executing the Pincntrl
    
    
    Executed the pincntrl--done
    evm_init 8 evm_init 9 evm_init 10 evm_init 11
    evm_init 12 evm_init done
    Debugfs: Only enabling/disabling deep sleep and wakeup timer is supported now
    bio: create slab <bio-0> at 0
    SCSI subsystem initialized
    usbcore: registered new interface driver usbfs
    usbcore: registered new interface driver hub
    usbcore: registered new device driver usb
    registerd cppi-dma Intr @ IRQ 17
    Cppi41 Init Done
    omap_i2c omap_i2c.1: bus 1 rev4.0 at 100 kHz
    Switching to clocksource gp timer
    musb-hdrc: version 6.0, host, debug=0
    musb-hdrc musb-hdrc.0: dma type: dma-cppi41
    musb-hdrc musb-hdrc.0: MUSB HDRC host driver
    musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 1
    usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    usb usb1: Product: MUSB HDRC host driver
    usb usb1: Manufacturer: Linux 2.6.37+ musb-hcd
    usb usb1: SerialNumber: musb-hdrc.0
    hub 1-0:1.0: USB hub found
    hub 1-0:1.0: 1 port detected
    musb-hdrc musb-hdrc.0: USB Host mode controller at cb81a000 using DMA, IRQ 18
    musb-hdrc musb-hdrc.1: dma type: dma-cppi41
    musb-hdrc musb-hdrc.1: MUSB HDRC host driver
    musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 2
    usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
    usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    usb usb2: Product: MUSB HDRC host driver
    usb usb2: Manufacturer: Linux 2.6.37+ musb-hcd
    usb usb2: SerialNumber: musb-hdrc.1
    hub 2-0:1.0: USB hub found
    hub 2-0:1.0: 1 port detected
    musb-hdrc musb-hdrc.1: USB Host mode controller at cb81e800 using DMA, IRQ 19
    Trying to unpack rootfs image as initramfs...
    rootfs image is not initramfs (junk in compressed archive); looks like an initrd
    Freeing initrd memory: 25000K
    NetWinder Floating Point Emulator V0.97 (double precision)
    PMU: registered new PMU device of type 0
    omap-iommu omap-iommu.0: ducati registered
    omap-iommu omap-iommu.1: sys registered
    JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
    msgmni has been set to 341
    io scheduler noop registered
    io scheduler deadline registered
    io scheduler cfq registered (default)
    Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
    omap_uart.0: ttyO0 at MMIO 0x48020000 (irq = 72) is a OMAP UART0
    console [ttyO0] enabled, bootconsole disabled
    console [ttyO0] enabled, bootconsole disabled
    omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
    omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
    omap_uart.3: ttyO3 at MMIO 0x481a6000 (irq = 44) is a OMAP UART3
    omap_uart.4: ttyO4 at MMIO 0x481a8000 (irq = 45) is a OMAP UART4
    omap_uart.5: ttyO5 at MMIO 0x481aa000 (irq = 46) is a OMAP UART5
    brd: module loaded
    loop: module loaded
    lkdtm: No crash points registered, enable through debugfs
    omap2-nand driver initializing
    usbcore: registered new interface driver cdc_acm
    cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapters
    Initializing USB Mass Storage driver...
    usbcore: registered new interface driver usb-storage
    USB Mass Storage support registered.
    mice: PS/2 mouse device common for all mice
    omap_rtc omap_rtc: rtc core: registered omap_rtc as rtc0
    i2c /dev entries driver
    Linux video capture interface: v2.00
    Linux video capture interface: v2.00 SUCCESS
    adv7180 1-0021: chip found @ 0x42 (OMAP I2C adapter)
    v4l2 i2c subdev init
    gspca: v2.10.0 registered
    OMAP Watchdog Timer Rev 0x00: initial timeout 60 sec
    
    Inside omap_hsmmc_probe
    Enabling clocks for TI8148
    
    omap_hsmmc_probe compleated
    
    Inside omap_hsmmc_probe
    Enabling clocks for TI8148
    
    omap_hsmmc_probe compleated
    VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    mpu.0 supply mpu not found, using dummy regulator
    Power Management for TI81XX.
    omap_rtc omap_rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
    RAMDISK: ext2 filesystem found at block 0
    RAMDISK: Loading 25000KiB [1 disk] into ram disk...
    Starting MMC Rescan
    mmc0: mmc_rescan: trying to init card at 400000 Hz
    MMC_RESCAN - Sending OP COND ffor MMC ...
    The argument is 0x00000000
    The changed argument is 0x40ff8080
     MMC Rescan Failed
    MMC Rescan Success
    Starting MMC Rescan
    mmc1: mmc_rescan: trying to init card at 400000 Hz
    MMC_RESCAN - Sending OP COND ffor MMC ...
    The argument is 0x00000000
    The changed argument is 0x40ff8080
    
    The argument is 0x40800000
    The changed argument is 0x40ff8080
    mmc1: new high speed MMC card at address 0001
    mmcblk0: mmc1:0001 MMC16G 14.5 GiB
     mmcblk0: p1 p2 < >
    MMC Rescan Success
    done.
    VFS: Mounted root (ext2 filesystem) on device 1:0.
    devtmpfs: mounted
    Freeing init memory: 188K
    INIT: version 2.86 booting
    INIT: Entering runlevel: 5
    Starting telnet daemon.
    Starting syslogd/klogd: done
     _____                    _____           _         _
    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
                  |___|                    |___|
    
    Arago Project http://arago-project.org (none) ttyO0
    
    Arago 2011.09 (none) ttyO0
    
    (none) login: root
    root@(none):~# lsusb
    lsusb: cannot open "/usr/share/usb.ids", No such file or directory
    Bus 002 Device 001: ID 1d6b:0002
    Bus 001 Device 001: ID 1d6b:0002
    root@(none):~#
    root@(none):~#
    
  • Debashish,

    Its difficult to say whats wrong from the logs. I need to see exactly what you are doing. Can you share more details of your hardware including the schematics. Which device have you tried connecting? Please share a snapshot of your setup.

  • Hi Renjith,

    As you asked, I have attached a zip file of the schematics of the USB which I am using.

    And regarding the device which I connected, I have used two devices, not simultaneously , but one after another. These are as:

    1) A Pendrive of 8gb in the first time                                               

    2) A USB-HUB which draws external power-supply, and connected a pen-drive to one of its port, in the second run.

    But in both the cases the USB was not detected.

    7178.USB_INTERFACE.rar

  • Hi Debashish,

    Have you tried to connect the device to PC in peripheral mode? Are you using the DM8148 EVM? If so, what is the revision of the board?

  • Hi Renjith,

    My requirement is to use the USB in host mode. Can you please suggest how to make the USB controller of DM8148 in host mode from the software side, when the USB ID pin is not properly connected?

    And I am not using the DM8148 EVM, it is a custom board.

    Regards,

    Debasish

  • Debasish,

    Can you try first on an DM8148 EVM and see whether host works properly or not. Then let's try to debug your board's issue.