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.

DRA821U-Q1: DRA821-Q1 USB(HOST) test signal output command

Part Number: DRA821U-Q1

Tool/software:

I would like to check the host's USB 2.0 and USB 3.0 compliance tests (Eye-pattern) on a board equipped with DRA821-Q1.
For USB 2.0, I would like to check Full-speed and High-speed.

To check the host's USB 2.0 High-speed compliance test (Eye-pattern) on a board equipped with AM4736, I sent test signals using the following commands.

devmem 2 0x483d0420 w 0xa0
devmem 2 0x483d0020 w 0x04
devmem 2 0x483d0424 w 0x40000000

Please tell me what commands to enter on the DRA821-Q1.
・Host USB2.0 (Full-Speed)
・Host USB2.0 (High-Speed)
・Host USB3.0

Also, in which document can I check the registration related to the test commands?

  •  https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1105352/tda4vm-usb-2-0-host-test-mode/4119850#4119850

    I ran the following command based on the above forum, but the test signal was not output to the USB host.
    devmem2 0x06010480 w 0x000000A0
    devmem2 0x06010080 w 0x00000004
    devmem2 0x06010484 w 0x40000000
    Do I need to run any other commands besides the ones above?

  • Hyuk,

    devmem2 0x06010480 w 0xA0;

    devmem2 0x06010080 w 0x4;

    devmem2 0x06010484 w 0x40000000.

    It should put the SoC into USB2p0 HS TX signal for eye capture. Ensure the SoC Linux driver device tree is set to host mode (DFP).

  • To put the SoC into USB3 compliance mode, type in

    devmem2 0x06010490 w 0x0a010340

    you should see LFPS / CP0 pattern once you connect the USB host test fixture after the command is typed.

  • Thank you for your reply.
    The USB is set to host mode, and the device tree for the USB port is listed below.

    &serdes_ln_ctrl {
    idle-states = <J7200_SERDES0_LANE0_IP4_UNUSED>, <J7200_SERDES0_LANE1_IP4_UNUSED>,
    <J7200_SERDES0_LANE2_IP4_UNUSED>, <J7200_SERDES0_LANE3_USB>;
    };

    &usb_serdes_mux {
    idle-states = <1>; /* USB0 to SERDES lane 3 */
    };

    &usbss0 {
    pinctrl-names = "default";
    pinctrl-0 = <&main_usbss0_pins_default>;
    ti,vbus-divider;
    };

    &usb0 {
    dr_mode = "host";
    maximum-speed = "super-speed";
    phys= <&serdes0_usb_link>;

    phy-names = "cdns3,usb3-phy";

    };

    &serdes0 {

    status = "okay";

    serdes0_usb_link: phy@2 {

    status = "okay";

    reg = <3>;

    cdns,num-lanes = <1>;

    #phy-cells = <0>;

    cdns,phy-type = <PHY_TYPE_USB3>;

    resets = <&serdes_wiz0 4>;

    };

    };

    However, the test signal was not sent.

  • Hyukjun,

    It is important to know the sequence here:

    I do not have the Host test fixture plugged in to the EVM when I boot the Linux.

    Once Linux boots, I type in the devmem2 command to force into compliance mode.

    AND THEN, I plug in the test fixture to see the signals on the scope.

    If the test fixture is always plugged in during boot, then it won't go into compliance mode even after the compliance mode register change.

    Is it possible to test it out on the J7200 EVM board?

    I use the Linux SDK (10.x) version. Once it boots up, I type in the devmem command and plug in the board to see the waveform.

  • Hi Shreyas and Hyukjun,

    I think we should first check if USB2.0 is enabled if no test signals are still being seen. Can you run the following commands and share the logs:

    • dmesg > dmesg_logs_hyukjun.txt
    • lsusb > lsusb_logs_hyukjun.txt

    When running lsusb, please connect a USB2.0 device (like a USB storage device), because I think lsusb does not show any logs if nothing is connected.

    Regards,

    Takuma

  • Thanks for the suggestion Takuma.

  • The results of the lsusb command are shown below.

    ~# lsusb
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 001 Device 002: ID 1370:3252 Swissbit unitedCONTRAST
    Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

    Since publishing the output of dmesg on the Internet is problematic in terms of security and technology leaks, we will only send you the results of lsusb.

    If you could tell us the necessary information from dmesg, we would like to contact you about the contents.

    Please check.

  • Hi Hyukjun,

    Could you send a portion of dmesg then? Just the USB related logs: "dmesg | grep -i usb". Something like below should print out.

    root@am69-sk:/opt/edgeai-gst-apps# dmesg | grep -i usb
    [    0.683876] usbcore: registered new interface driver usbfs
    [    0.689495] usbcore: registered new interface driver hub
    [    0.694938] usbcore: registered new device driver usb
    [    1.055817] usbcore: registered new interface driver usb-storage
    [    1.097849] usbcore: registered new interface driver usbhid
    [    1.103549] usbhid: USB HID core driver
    [    9.415093] xhci-hcd xhci-hcd.10.auto: new USB bus registered, assigned bus number 1
    [    9.415422] xhci-hcd xhci-hcd.10.auto: new USB bus registered, assigned bus number 2
    [    9.415429] xhci-hcd xhci-hcd.10.auto: Host supports USB 3.0 SuperSpeed
    [    9.419104] hub 1-0:1.0: USB hub found
    [    9.445449] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
    [    9.458687] hub 2-0:1.0: USB hub found
    [    9.700512] usb 1-1: new high-speed USB device number 2 using xhci-hcd
    [    9.857329] hub 1-1:1.0: USB hub found
    [    9.925310] usbcore: registered new device driver onboard-usb-hub
    [    9.988552] usb 2-1: new SuperSpeed USB device number 2 using xhci-hcd
    [   10.025438] hub 2-1:1.0: USB hub found
    [   10.053768] hub 2-1:1.0: USB hub found
    [   10.123415] hub 1-1:1.0: USB hub found
    [   10.146240] hub 1-1:1.0: USB hub found
    [   10.393581] hub 2-1:1.0: USB hub found
    [   10.693284] usb 2-1.2: new SuperSpeed USB device number 3 using xhci-hcd
    [   10.772883] usb-storage 2-1.2:1.0: USB Mass Storage device detected
    [   10.780564] scsi host0: usb-storage 2-1.2:1.0
    [   11.835706] scsi 0:0:0:0: Direct-Access     Generic- USB3.0 CRW   -SD 1.00 PQ: 0 ANSI: 6
    [   11.865172] scsi 0:0:0:1: Direct-Access     Generic- USB3.0 CRW   -SD 1.00 PQ: 0 ANSI: 6
    root@am69-sk:/opt/edgeai-gst-apps#

    Should check what speed the USB ports are functioning at. 

    Regards,

    Takuma

  • Thank you for your reply.
    The dmesg log is listed below.
    Please check it.

    dmesg | grep -i usb

    [    0.067864] usbcore: registered new interface driver usbfs

    [    0.067908] usbcore: registered new interface driver hub

    [    0.067947] usbcore: registered new device driver usb

    [    0.443148] usbcore: registered new interface driver usb-storage

    [   11.118459] usbcore: registered new interface driver usb8xxx

    [   15.416135] xhci-hcd xhci-hcd.11.auto: new USB bus registered, assigned bus number 1

    [   15.441444] xhci-hcd xhci-hcd.11.auto: new USB bus registered, assigned bus number 2

    [   15.441455] xhci-hcd xhci-hcd.11.auto: Host supports USB 3.0 SuperSpeed

    [   15.471190] hub 1-0:1.0: USB hub found

    [   15.482447] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.

    [   15.492674] hub 2-0:1.0: USB hub found

    [   34.659273] usb 1-1: new high-speed USB device number 2 using xhci-hcd

    [   34.795775] usb-storage 1-1:1.0: USB Mass Storage device detected

    [   34.804053] scsi host0: usb-storage 1-1:1.0

  • Hyuk,

    Do you have a USB hub on the board?

    The commands for the SoC would not pass through the hub as I know. and even if it did, you would not be seeing the output of the SoC but rather of the hub.