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.

Linux/DRA71XEVM: USB-disk booting problem

Part Number: DRA71XEVM
Other Parts Discussed in Thread: DRA712

Tool/software: Linux

HI

We are using the dra712 series chip, the SDK version number is dra7xx-evm-03_02_00_03
I want to use the  USB flash disk boot  kernel in u-boot. I executed "usb start" in uboot, but I did not find the storage device.

Serial port printing

=> usb start
starting USB...
USB0:   Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.00
scanning bus 0 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found

/include/configs/dra7xx-evm.h


the u-boot config/* USB xHCI HOST */
#define CONFIG_USB_HOST
#define CONFIG_USB_XHCI
#define CONFIG_USB_XHCI_DWC3
#define CONFIG_USB_XHCI_OMAP
#define CONFIG_USB_STORAGE
#define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS 2

#define CONFIG_OMAP_USB_PHY
#define CONFIG_OMAP_USB2PHY2_HOST

#define CONFIG_USB_FUNCTION_MASS_STORAGE

dra7xx_evm_defconfig

CONFIG_CMD_USB=y

CONFIG_CMD_USB_MASS_STORAGE=y
 CONFIG_USB_DWC3=y
 CONFIG_USB_DWC3_GADGET=y
 CONFIG_USB_DWC3_OMAP=y
  CONFIG_USB_DWC3_PHY_OMAP=y
  CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_DOWNLOAD=y


Can you give some advice?

thank you very much!

  • Hi,

    can you check if this post can give you any directions:
    e2e.ti.com/.../2632962

    Regards,
    Yordan
  • thinks for you suggestion!

    but ,i still  have a problem,

    we are using USB1 host ,
    when the usb flash  disk is connected,

    => usb reset
    resetting USB...
    USB0:   Register 2000140 NbrPorts 2
    Starting the controller
    USB XHCI 1.00
    scanning bus 0 for devices... legacy_hub_port_reset: resetting port 1...
    portstatus 111, change 0, 12 Mb/s
    STAT_C_CONNECTION = 0 STAT_CONNECTION = 1  USB_PORT_STAT_ENABLE 0
    portstatus 101, change 11, 12 Mb/s
    STAT_C_CONNECTION = 1 STAT_CONNECTION = 1  USB_PORT_STAT_ENABLE 0
    portstatus 101, change 11, 12 Mb/s
    STAT_C_CONNECTION = 1 STAT_CONNECTION = 1  USB_PORT_STAT_ENABLE 0
    portstatus 101, change 11, 12 Mb/s
    STAT_C_CONNECTION = 1 STAT_CONNECTION = 1  USB_PORT_STAT_ENABLE 0
    portstatus 101, change 11, 12 Mb/s
    STAT_C_CONNECTION = 1 STAT_CONNECTION = 1  USB_PORT_STAT_ENABLE 0
    portstatus 101, change 11, 12 Mb/s
    STAT_C_CONNECTION = 1 STAT_CONNECTION = 1  USB_PORT_STAT_ENABLE 0
    portstatus 101, change 11, 12 Mb/s
    STAT_C_CONNECTION = 1 STAT_CONNECTION = 1  USB_PORT_STAT_ENABLE 0

    I tried multiple usb flash disk and multiple target boards, it is  the same phenomenon

  • Hi,

    Can you confirm how are you connecting the usb flash drive to the USB port on the board? Is this a custom board or TI EVM? Is any kind of adapter cable used b/n the USB port and the flash drive?

    Suggest you to check this thread and see if you have the enviornment right: http://processors.wiki.ti.com/index.php/Linux_Core_U-Boot_User's_Guide#Booting_Linux_from_USB_storage 

  • hi 

    we are using   custom board and the same programs running on the TI EVM can recognize the usb flash disk. but custom board can't .

    no adapter cable used b/n the USB port and the flash drive.

              usb flash disk is directly connected to the board. 

    as shown. In addition to the two interfaces for data transmission, there is also a 5V power supply and ground。

  • Hi,

    As per the UBOOT code ( branch:origin/p-ti-u-boot-2016.05), the xhci-omap.h file contains below:

    #ifdef CONFIG_DRA7XX_DWC1
    #define OMAP_XHCI_BASE 0x488d0000
    #define OMAP_OCP1_SCP_BASE 0x4A081000
    #define OMAP_OTG_WRAPPER_BASE 0x488c0000
    #elif defined CONFIG_DRA7XX_DWC2
    #define OMAP_XHCI_BASE 0x48890000
    #define OMAP_OCP1_SCP_BASE 0x4A084c00
    #define OMAP_OTG_WRAPPER_BASE 0x48880000

    For the TI EVM, (include/configs/dra7xx_evm.h) we use the USB module @0x488d0000  (which is the USB2 port on TI EVM) as the HOST mode to connect any USB flash driver for mass storage functionality. USB module @0x48890000 (which is the USB3 port on TI EVM) is designated for DEVICE mode for DFU download (Generic Linux) or Fastboot (Android).

    So looking at your schematics, I see that you are trying to connect flash driver to USB module @0x48890000 which is configued for DEVICE mode by default in the u-boot code. Did you make any code change to make it as HOST? This may be the reason why you do not see it getting enumerated.

    If it is configured in HOST, then ideally, once you connect the flash drive, you can measure the USBVDD pin on the USB port and it must measure 5V. Please confirm if you are seeing this? If not is could the software configuration issue.

    regards,

    Praveen

  • Hi,experts,

    I have checked the E2E, and found the same Questions as below link:

    Now I want to Use usb1 storage in uboot:

                  1. on J6 entry EVM, I have configure the USB1 as USB storage mode, and can find usb storage. The log as below:

    Start from SD and stopped in uboot, then usb start and last run fatls usb 0
    The log as below:
    
    U-Boot 2016.05-dirty (Jan 28 2019 - 15:53:57 +0800)
    
    CPU  : DRA722-GP ES2.0
    Model: TI DRA71 EVM
    Board: DRA71x EVM REV A.2
    DRAM:  2 GiB
    MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
    SCSI:  SATA link 0 timeout.
    AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
    flags: 64bit ncq stag pm led clo only pmp pio slum part ccc apst 
    scanning bus for devices...
    Found 0 device(s).
    Net:   
    Warning: ethernet@48484000 using MAC address from ROM
    eth0: ethernet@48484000
    Hit any key to stop autoboot:  0 
    => 
    => 
    => 
    => usb start
    starting USB...
    USB0:   Register 2000140 NbrPorts 2
    Starting the controller
    USB XHCI 1.00
    scanning bus 0 for devices... 2 USB Device(s) found
           scanning usb for storage devices... 1 Storage Device(s) found
    => fatls usb 0
     4294967295   ti-processor-sdk-linux-automotive-dra7xx-evm-03_04_00_03.tar.gz 
                system volume information/
                temp/
            4   aa.txt 
    
    2 file(s), 2 dir(s)
    
    =>
       2. I test on my board, and the uboot can not find the usb storage device and the kernel can find the USB storage Device. The log as below:



    => usb reset
    resetting USB...
    USB0:   Register 2000140 NbrPorts 2
    Starting the controller
    USB XHCI 1.00
    scanning bus 0 for devices... legacy_hub_port_reset: resetting port 1...
    portstatus 9ef0ce80, change 9ffb4c90, 5 Gb/s
    portstatus 9ef0ce80, change 9ffb4c90, 5 Gb/s
    portstatus 111, change 0, 12 Mb/s
    STAT_C_CONNECTION = 0 STAT_CONNECTION = 1  USB_PORT_STAT_ENABLE 0
    portstatus 111, change 0, 12 Mb/s
    portstatus 111, change 0, 12 Mb/s
    portstatus 101, change 11, 12 Mb/s
    STAT_C_CONNECTION = 1 STAT_CONNECTION = 1  USB_PORT_STAT_ENABLE 0
    portstatus 101, change 11, 12 Mb/s
    portstatus 101, change 11, 12 Mb/s
    portstatus 101, change 11, 12 Mb/s
    STAT_C_CONNECTION = 1 STAT_CONNECTION = 1  USB_PORT_STAT_ENABLE 0
    portstatus 101, change 11, 12 Mb/s
    portstatus 101, change 11, 12 Mb/s
    portstatus 101, change 11, 12 Mb/s
    STAT_C_CONNECTION = 1 STAT_CONNECTION = 1  USB_PORT_STAT_ENABLE 0
    portstatus 101, change 11, 12 Mb/s
    portstatus 101, change 11, 12 Mb/s
    portstatus 101, change 11, 12 Mb/s
    STAT_C_CONNECTION = 1 STAT_CONNECTION = 1  USB_PORT_STAT_ENABLE 0
    Cannot enable port 1 after 5 retries, disabling port.
    Maybe the USB cable is bad?
    cannot reset port 1!?
    1 USB Device(s) found
           scanning usb for storage devices... 0 Storage Device(s) found
    =>
    Please help to check the issue, and give some suggestions?

    Appreciates and thanks,

    Best regards,
    Widic

  • Hi Widic.

    Please create a new thread with your query.

    regards,
    Praveen