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.

AM6548: USB otg port issue

Part Number: AM6548

Our customized had two USB ports: usb0 is otg mode and usb1 is host mode.

its setting in dts are almost same:

&dwc3_1 {
status = "okay";
};

&usb1_phy {
status = "okay";
};

&usb1 {
pinctrl-names = "default";
pinctrl-0 = <&usb1_pins_default>;
dr_mode = "host";
};

&dwc3_0 {
status = "okay";
};

&usb0_phy {
status = "okay";
};

&usb0 {
pinctrl-names = "default";
pinctrl-0 = <&usb0_pins_default>;
dr_mode = "otg";
};

USB1 works fine, but USB0 didn't work at all, when we plug a Udisk in USB0, it only display one error message:

usb usb3-port1: connect-debounce failed

and the same Udisk plug in USB1, it can works well, what's wrong with it?

thanks

Kenn

  • Hi,

    Thanks for your query. 

    On your customer board, what is the USB connector type on the USB0 port. Do it have the ID pin support? How this is handled your board?

    For OTG mode, the mode switch b/h host and device is handle based on the ID pin signaling.

    Thanks.

  • Hello, Rao

    Please see the picture I attached, that's the way we connect U disk with our USB OTG port.

    This method  worked on EVM USB2 which was also an OTG port.

    Thanks

    Kenn

  • Rao,

    The ID pin is connected to GND. how do you think if it related to hardware signal integrity issue? Is there command to enter test mode and send out test pattern data to measure eye diagram?

  • Kenn,

    For the failing USB interface, try measuring the voltage of the VBUS signal at the connector.  If possible, can you also measure the VBUS voltage at the SOC?  That would be either pin AF5 or AF7 depending on the USB instance.  The values should be 5V at the connector, and 1V at the SOC.

    -Zack

  • Zack,

    Our HW engineer told me that the VBUS voltage at the connector is about 5V, and the VBUS voltage at the SOC was not easy to measure, he told me that part circuit was the same as the other USB port( USB host), USB host port works fine on our board.

    Thanks

    Kenn

  • Zack,

    The VBUS voltage at the SOC is 1.007V

    Thanks

    Kenn

  • Kenn,

    Tony sent me the schematics for your board, and I provided feedback via email.  I also included a few board modifications you could perform as debugging steps.

    -Zack

  • Thanks, Zack

    We already received the email that Tony forwarded, and we had done these test:

    1. Replace L45,R357/R358 with 0ohm resistance

    2. deleted R305,C138,C139,C140,D94

    3. change the value of R350 from 20 to 0ohm

    After that the result was the same, now we suspect that branches(stub) and test points on USB signal line were the major reason.

    BR

    Kenn

  • Kenn,

    That may be the case, especially since the stubs are only present on USB0.  The best way to check for that is to run an eye diagram test.  You will program the SoC to generate a test packet, and observe the output at the connector using an oscilloscope and a differential active probe.  Once you capture a test packet and save the waveform, you can generate an eye diagram either on your scope if it is supported, or with the USBET20 tool provided by the USB Implementers Forum.  I will follow up with the commands to program the SoC into test packet mode as soon as I find them.  In the mean time, you could use the probe to look at DP/DM signals during operation.  Severe reflections will be obvious.  Collect the same measurements on USB0 and USB1 so that you can make a comparison.

    -Zack

  • Kenn,

    Here are the commands to run from Linux to get the USB ports to enter compliance (TEST_PACKET) mode.

    USB0:
    devmem2 0x04010420 w 0xA0
    devmem2 0x04010020 w 0x4
    devmem2 0x04010424 w 0x40000000

    USB1:
    devmem2 0x04030420 w 0xA0
    devmem2 0x04030020 w 0x4
    devmem2 0x04030424 w 0x40000000

    Please send me the eye diagrams for both ports.

    -Zack

  • Thanks, Zack

    I do appreciate your help, we will let you know its result once we had done this test.

    Thanks

    Kenn

  • Zack,

    The wave diagram on USB1 which is good was the picture below:

    the wave diagram on USB0 which is bad had no signal output at all, always output low level voltage.

    Thanks

    Kenn

  • Kenn,

    No signal, with both DP/DM at 0V, is not what you would expect to see if stubs are causing the problem.  It seems like the data lines are either not connected to the output, or something is holding them to ground.  A faulty ESD protector (D94 in your schematic) is one possible culprit.  How many units have you observed this on?  With the board powered off, could you do continuity checks from the SOM header out to the connector, and from the connector to ground?

    -Zack

  • Zach,

    The output of DP/DM (USB0) was not always low voltage, its output had two values during the initialize phase: 0v->260mv ->600mv-> 0v. almost the same as IDK board, it proved its physical connection was good, right?

    Now I had no idea why USB0 had no signal output after we set its related registers.

    Thanks

    Kenn

  • Kenn,

    Yeah, I agree with you that it's probably not a continuity problem then.  Similarly, I don't know why USB0 didn't output anything when you tried to put it in test mode.  Did you try power cycling the board and placing only USB0 in test mode?  Also, how many boards have you built that have had this problem?

    -Zack

  • Zack,

    We had built 4 boards, but only 2 of them can work normally, now only 1 board was on our hands to do the test.  These two good boards' USB0 had this same problem.

    We also place only USB0 in test mode, the test result was the same. No signal output.Frowning2

    Thanks

    Kenn

  • Kenn,

    So you have 4 boards, 2 good and 2 bad.  But even the "good" boards have USB0 issues?  They all have the same problem with USB0? What makes the good boards "good"?

    What were the initial values of R305 and R351?  What is the purpose of these resistors?  I'm thinking the reason you're not seeing an output is because the controller is not starting out in host mode.  In R305, put the same resistor value used in 351 and retry the the test packet.  This is for test purposes only.  For OTG mode you should not hold USB_ID to ground.

    -Zack

  • Zack,

    2 good boards mean that the board can boot up normally, the other 2 bad boards were 2 bricks.

     All these 2 good boards have the same problem with USB0.

    Thanks

    Kenn

  • Zack,

    Today we had eliminated R305 and replaced R350 with 0ohm,let it work in otg mode, it still had no signal output in test mode.

    Thanks

    Kenn

  • Kenn,

    Sorry for the long time between responses.  It seems like we have changed everything about the USB0 circuit to match the USB1 circuit (In terms of components, that is.  Layout differences persist).  Can you change USB0 to host mode in the device tree and 
    1) Do a functional test by plugging in a device

    2) Do the signal quality test that you have done on USB1.

  • Zack,

    I configured it to "host mode" in dts, and I plug a U disk in USB0, it appeared the same phenomina  as it in "otg mode" :

     [   62.200964] usb usb1-port1: connect-debounce failed

    I also made it in test mode on USB0: also no output signal at all

     

    Thanks

    Kenn

  • Ken,

    What is the status of this debug? I have been working with our design team to figure out what could be causing this problem.  One suggestion was that the VBUS detection circuit will cause the debounce error message, however in Host mode the vbus valid status should not be monitored.  We are working to solve this discrepancy by figuring out if any other hardware signals might cause the debounce error.

    Thanks,

    Zack

  • Truly Thanks, Zack

    Now we were waiting for our new board, I will let you know if there has some new progress.

    Thanks

    Kenn

  • I unlocked the post and paste the follow up question from post  to the original one: 

    Zack,

    Our new customized board came back, and it's the same failure phenomena  on USB0: "USB usb1-port1:connect-debounce failed"

    Last version:

       usb0--OTG mode (not work)

       usb1--HOST mode( work) 

    Current version:

       usb0--HOST mode(not work)

       usb1--OTG mode(work)

    Last time you mention that "VBUS detection circuit will cause the debounce error message,  however in Host mode the VBUS valid status should not be monitored.",  now that usb0 worked in OTG mode, do you have some advice for it?

    By the way, now our new customized board had the same peripheral circuit as EVM about this USB part。 

  • TI Team, please review & respond!

    Dear Wan Kun,

    From the previous post, the TI team has been working with the CPU design team to figure out what could be causing this problem.  One suggestion as you noted was that the VBUS detection circuit will cause the debounce error message, however in Host mode the vbus valid status should not be monitored.  We are working to solve this discrepancy by figuring out if any other hardware signals might cause the debounce error.

    That said, could you please attach wave diagrams for both USB1 and USB0 for your new PCB just so we can confirm that we are on the same page?

    Thank you kindly,

    Chris

  • Thanks Chris

    We used the commands that Zack told us:

    USB0:
    devmem2 0x04010420 w 0xA0
    devmem2 0x04010020 w 0x4
    devmem2 0x04010424 w 0x40000000

    USB1:
    devmem2 0x04030420 w 0xA0
    devmem2 0x04030020 w 0x4
    devmem2 0x04030424 w 0x40000000

    USB0 had no output wave, and the USB1 had output wave diagram as follow:

    the wave diagram of zoom in:

    Thanks

    Kenn

  • Would we request a meeting to discuss this issue directly?

    Thanks

    Kenn

  • Kenn,

    Could you show where in the layout you are measuring the signal for USB0?  Is there anything between the SoC pins and your measurement probe?  Any possibility of bad connection between the SOC and the traces?  If you are confident that nothing physical could be interfering with your measurement of the data lines, then there must be a software gap somewhere because you should be seeing some switching on the data lines after putting the USB port into Host Packet mode.  After putting both ports into Host Packet mode, could you do a register dump from 0x04000000 to 0x04110080 and 0x0000900000 to 0x0000912000?

    -Zack

  • Zack,

    We had  fixture equipment to measure the eye diagram of USB device like this:

    We measure its wave diagram via this fixture equipment.

    Thanks

    Kenn

  • just collect part register value with  address : 0x04100000~0x0410007f

    Read at address  0x04100000 (0xffff94590000): 0x07000029
    Read at address  0x04100001 (0xffffa98f0000): 0x07000029
    Read at address  0x04100002 (0xffff851a0000): 0x07000029
    Read at address  0x04100003 (0xffff83250000): 0x07000029
    Read at address  0x04100004 (0xffff90ef0004): 0x00400006
    Read at address  0x04100005 (0xffff8ccd0004): 0x00400006
    Read at address  0x04100006 (0xffff8e670004): 0x00400006
    Read at address  0x04100007 (0xffff89760004): 0x00400006
    Read at address  0x04100008 (0xffffb7fb0008): 0x0003001F
    Read at address  0x04100009 (0xffff8dd80008): 0x0003001F
    Read at address  0x0410000A (0xffff80100008): 0x0003001F
    Read at address  0x0410000B (0xffff9f4e0008): 0x0003001F
    Read at address  0x0410000C (0xffff8b4f000c): 0x00000000
    Read at address  0x0410000D (0xffff857f000c): 0x00000000
    Read at address  0x0410000E (0xffff92e6000c): 0x00000000
    Read at address  0x0410000F (0xffffab42000c): 0x00000000
    Read at address  0x04100010 (0xffff90380010): 0x00000000
    Read at address  0x04100011 (0xffffb37a0010): 0x00000000
    Read at address  0x04100012 (0xffff9d730010): 0x00000000
    Read at address  0x04100013 (0xffffb0830010): 0x00000000
    Read at address  0x04100014 (0xffffb52a0014): 0x00000000
    Read at address  0x04100015 (0xffff9c630014): 0x00000000
    Read at address  0x04100016 (0xffffb3260014): 0x00000000
    Read at address  0x04100017 (0xffffba6d0014): 0x00000000
    Read at address  0x04100018 (0xffffb0030018): 0xF0400000
    Read at address  0x04100019 (0xffff8d990018): 0xF0400000
    Read at address  0x0410001A (0xffffb22c0018): 0xF0400000
    Read at address  0x0410001B (0xffff9d0d0018): 0xF0400000
    Read at address  0x0410001C (0xffff9ec6001c): 0x00000000
    Read at address  0x0410001D (0xffff9c9e001c): 0x00000000
    Read at address  0x0410001E (0xffff8070001c): 0x00000000
    Read at address  0x0410001F (0xffff8bb0001c): 0x00000000
    Read at address  0x04100020 (0xffffb92c0020): 0x90100000
    Read at address  0x04100021 (0xffff92170020): 0x90100000
    Read at address  0x04100022 (0xffff9df60020): 0x90100000
    Read at address  0x04100023 (0xffff89bf0020): 0x90100000
    Read at address  0x04100024 (0xffffbaa00024): 0x00000000
    Read at address  0x04100025 (0xffff8f130024): 0x00000000
    Read at address  0x04100026 (0xffffb89d0024): 0x00000000
    Read at address  0x04100027 (0xffff870c0024): 0x00000000
    Read at address  0x04100028 (0xffffa40f0028): 0x00000000
    Read at address  0x04100029 (0xffffb5230028): 0x00000000
    Read at address  0x0410002A (0xffffaaeb0028): 0x00000000
    Read at address  0x0410002B (0xffffa7370028): 0x00000000
    Read at address  0x0410002C (0xffffa475002c): 0x00000000
    Read at address  0x0410002D (0xffff9617002c): 0x00000000
    Read at address  0x0410002E (0xffffaa1a002c): 0x00000000
    Read at address  0x0410002F (0xffffacaf002c): 0x00000000
    Read at address  0x04100030 (0xffffb8790030): 0x00000000
    Read at address  0x04100031 (0xffff8fe00030): 0x00000000
    Read at address  0x04100032 (0xffffab5e0030): 0x00000000
    Read at address  0x04100033 (0xffff91be0030): 0x00000000
    Read at address  0x04100034 (0xffffbb6e0034): 0x00000000
    Read at address  0x04100035 (0xffffabd00034): 0x00000000
    Read at address  0x04100036 (0xffffb07d0034): 0x00000000
    Read at address  0x04100037 (0xffff8e120034): 0x00000000
    Read at address  0x04100038 (0xffff8e790038): 0x00000180
    Read at address  0x04100039 (0xffffa5a70038): 0x00000180
    Read at address  0x0410003A (0xffff9f140038): 0x00000180
    Read at address  0x0410003B (0xffff97970038): 0x00000180
    Read at address  0x0410003C (0xffff919f003c): 0x00000000
    Read at address  0x0410003D (0xffffbbe3003c): 0x00000000
    Read at address  0x0410003E (0xffffb0e9003c): 0x00000000
    Read at address  0x0410003F (0xffffa51f003c): 0x00000000
    Read at address  0x04100040 (0xffff8d050040): 0x00000003
    Read at address  0x04100041 (0xffffb8b50040): 0x00000003
    Read at address  0x04100042 (0xffff8e6f0040): 0x00000003
    Read at address  0x04100043 (0xffffa06c0040): 0x00000003
    Read at address  0x04100044 (0xffffb9220044): 0x000C0001
    Read at address  0x04100045 (0xffffa0020044): 0x000C0001
    Read at address  0x04100046 (0xffffb4f50044): 0x000C0001
    Read at address  0x04100047 (0xffffb03f0044): 0x000C0001
    Read at address  0x04100048 (0xffffb96c0048): 0x00000000
    Read at address  0x04100049 (0xffff90500048): 0x00000000
    Read at address  0x0410004A (0xffff84080048): 0x00000000
    Read at address  0x0410004B (0xffff82690048): 0x00000000
    Read at address  0x0410004C (0xffff82bd004c): 0x800000E0
    Read at address  0x0410004D (0xffffb594004c): 0x800000E0
    Read at address  0x0410004E (0xffff92f5004c): 0x800000E0
    Read at address  0x0410004F (0xffff91aa004c): 0x800000E0
    Read at address  0x04100050 (0xffff82a50050): 0x00000000
    Read at address  0x04100051 (0xffffa5c70050): 0x00000000
    Read at address  0x04100052 (0xffffa1050050): 0x00000000
    Read at address  0x04100053 (0xffff97860050): 0x00000000
    Read at address  0x04100054 (0xffffb7fa0054): 0x00000000
    Read at address  0x04100055 (0xffffa1c20054): 0x00000000
    Read at address  0x04100056 (0xffffbdee0054): 0x00000000
    Read at address  0x04100057 (0xffffadd10054): 0x00000000
    Read at address  0x04100058 (0xffff91bd0058): 0x00014200
    Read at address  0x04100059 (0xffff8e140058): 0x00014200
    Read at address  0x0410005A (0xffffac130058): 0x00014200
    Read at address  0x0410005B (0xffffb0090058): 0x00014200
    Read at address  0x0410005C (0xffff87d9005c): 0x00080000
    Read at address  0x0410005D (0xffffb43a005c): 0x00080000
    Read at address  0x0410005E (0xffffbb5e005c): 0x00080000
    Read at address  0x0410005F (0xffffa157005c): 0x00080000
    Read at address  0x04100060 (0xffff86bc0060): 0xFFFFFFFF
    Read at address  0x04100061 (0xffff8ff60060): 0xFFFFFFFF
    Read at address  0x04100062 (0xffff98fb0060): 0xFFFFFFFF
    Read at address  0x04100063 (0xffff977e0060): 0xFFFFFFFF
    Read at address  0x04100064 (0xffffba4a0064): 0x30040012
    Read at address  0x04100065 (0xffffa1ee0064): 0x30040012
    Read at address  0x04100066 (0xffff97d30064): 0x30040012
    Read at address  0x04100067 (0xffffa5d30064): 0x30040012
    Read at address  0x04100068 (0xffff93cd0068): 0xA0406001
    Read at address  0x04100069 (0xffffa2990068): 0xA0406001
    Read at address  0x0410006A (0xffff8ad50068): 0xA0406001
    Read at address  0x0410006B (0xffff8f560068): 0xA0406001
    Read at address  0x0410006C (0xffffbd6d006c): 0x00200000
    Read at address  0x0410006D (0xffffa1f8006c): 0x00200000
    Read at address  0x0410006E (0xffffaf31006c): 0x00200000
    Read at address  0x0410006F (0xffff81cf006c): 0x00200000
    Read at address  0x04100070 (0xffffa18e0070): 0x00000000
    Read at address  0x04100071 (0xffffa37f0070): 0x00000000
    Read at address  0x04100072 (0xffff96a40070): 0x00000000
    Read at address  0x04100073 (0xffff9d610070): 0x00000000
    Read at address  0x04100074 (0xffff9ee70074): 0x00000000
    Read at address  0x04100075 (0xffffb9bb0074): 0x00000000
    Read at address  0x04100076 (0xffff91ad0074): 0x00000000
    Read at address  0x04100077 (0xffffb5500074): 0x00000000
    Read at address  0x04100078 (0xffff982d0078): 0x02710000
    Read at address  0x04100079 (0xffffae5c0078): 0x02710000
    Read at address  0x0410007A (0xffff8d530078): 0x02710000
    Read at address  0x0410007B (0xffff8e0a0078): 0x02710000
    Read at address  0x0410007C (0xffffb063007c): 0x00000000
    Read at address  0x0410007D (0xffffa8b0007c): 0x00000000
    Read at address  0x0410007E (0xffff84df007c): 0x00000000
    Read at address  0x0410007F (0xffff8514007c): 0x00000000

    0x04110000~0x0411007f

    Read at address  0x04110000 (0xffff85420000): 0x07000028
    Read at address  0x04110001 (0xffffb31f0000): 0x07000028
    Read at address  0x04110002 (0xffff90ff0000): 0x07000028
    Read at address  0x04110003 (0xffff86800000): 0x07000028
    Read at address  0x04110004 (0xffff92510004): 0x00400006
    Read at address  0x04110005 (0xffff8f830004): 0x00400006
    Read at address  0x04110006 (0xffffbbfe0004): 0x00400006
    Read at address  0x04110007 (0xffff96640004): 0x00400006
    Read at address  0x04110008 (0xffff90a20008): 0x0003001F
    Read at address  0x04110009 (0xffffa0220008): 0x0003001F
    Read at address  0x0411000A (0xffffb5840008): 0x0003001F
    Read at address  0x0411000B (0xffff90ef0008): 0x0003001F
    Read at address  0x0411000C (0xffff9dac000c): 0x00000000
    Read at address  0x0411000D (0xffffb64b000c): 0x00000000
    Read at address  0x0411000E (0xffffb09a000c): 0x00000000
    Read at address  0x0411000F (0xffffb842000c): 0x00000000
    Read at address  0x04110010 (0xffff84d00010): 0x00000000
    Read at address  0x04110011 (0xffff925e0010): 0x00000000
    Read at address  0x04110012 (0xffff806b0010): 0x00000000
    Read at address  0x04110013 (0xffffb92e0010): 0x00000000
    Read at address  0x04110014 (0xffffba760014): 0x00000000
    Read at address  0x04110015 (0xffffb63d0014): 0x00000000
    Read at address  0x04110016 (0xffffba3a0014): 0x00000000
    Read at address  0x04110017 (0xffffbe1a0014): 0x00000000
    Read at address  0x04110018 (0xffff8e860018): 0xF0400000
    Read at address  0x04110019 (0xffff96240018): 0xF0400000
    Read at address  0x0411001A (0xffffab950018): 0xF0400000
    Read at address  0x0411001B (0xffff9d200018): 0xF0400000
    Read at address  0x0411001C (0xffff9de6001c): 0x00000000
    Read at address  0x0411001D (0xffff8913001c): 0x00000000
    Read at address  0x0411001E (0xffff8dff001c): 0x00000000
    Read at address  0x0411001F (0xffff9ecb001c): 0x00000000
    Read at address  0x04110020 (0xffff89bd0020): 0x90100000
    Read at address  0x04110021 (0xffff8b7e0020): 0x90100000
    Read at address  0x04110022 (0xffff826a0020): 0x90100000
    Read at address  0x04110023 (0xffff8c300020): 0x90100000
    Read at address  0x04110024 (0xffff8f350024): 0x00000000
    Read at address  0x04110025 (0xffffbcfc0024): 0x00000000
    Read at address  0x04110026 (0xffff81860024): 0x00000000
    Read at address  0x04110027 (0xffffb6fc0024): 0x00000000
    Read at address  0x04110028 (0xffff90e70028): 0x00000000
    Read at address  0x04110029 (0xffff9e3a0028): 0x00000000
    Read at address  0x0411002A (0xffffa76b0028): 0x00000000
    Read at address  0x0411002B (0xffff85510028): 0x00000000
    Read at address  0x0411002C (0xffff817f002c): 0x00000000
    Read at address  0x0411002D (0xffffb37b002c): 0x00000000
    Read at address  0x0411002E (0xffff9d8a002c): 0x00000000
    Read at address  0x0411002F (0xffffb12e002c): 0x00000000
    Read at address  0x04110030 (0xffffaf6e0030): 0x00000000
    Read at address  0x04110031 (0xffff98ea0030): 0x00000000
    Read at address  0x04110032 (0xffff97450030): 0x00000000
    Read at address  0x04110033 (0xffff84ca0030): 0x00000000
    Read at address  0x04110034 (0xffffacd00034): 0x00000000
    Read at address  0x04110035 (0xffffb4440034): 0x00000000
    Read at address  0x04110036 (0xffffa09d0034): 0x00000000
    Read at address  0x04110037 (0xffff8e7a0034): 0x00000000
    Read at address  0x04110038 (0xffff83f80038): 0x00000180
    Read at address  0x04110039 (0xffffb63a0038): 0x00000180
    Read at address  0x0411003A (0xffff889a0038): 0x00000180
    Read at address  0x0411003B (0xffffbc720038): 0x00000180
    Read at address  0x0411003C (0xffffb2e5003c): 0x00000000
    Read at address  0x0411003D (0xffff993f003c): 0x00000000
    Read at address  0x0411003E (0xffff8866003c): 0x00000000
    Read at address  0x0411003F (0xffff9c6c003c): 0x00000000
    Read at address  0x04110040 (0xffff9eff0040): 0x00000003
    Read at address  0x04110041 (0xffff98aa0040): 0x00000003
    Read at address  0x04110042 (0xffff96a60040): 0x00000003
    Read at address  0x04110043 (0xffffbdeb0040): 0x00000003
    Read at address  0x04110044 (0xffffbc4c0044): 0x000C0001
    Read at address  0x04110045 (0xffff9ae50044): 0x000C0001
    Read at address  0x04110046 (0xffff9a130044): 0x000C0001
    Read at address  0x04110047 (0xffff81d10044): 0x000C0001
    Read at address  0x04110048 (0xffffb76e0048): 0x00000000
    Read at address  0x04110049 (0xffff939b0048): 0x00000000
    Read at address  0x0411004A (0xffffb3040048): 0x00000000
    Read at address  0x0411004B (0xffffa8620048): 0x00000000
    Read at address  0x0411004C (0xffffa8c1004c): 0x800000E0
    Read at address  0x0411004D (0xffff9bad004c): 0x800000E0
    Read at address  0x0411004E (0xffff7efa004c): 0x800000E0
    Read at address  0x0411004F (0xffffa292004c): 0x800000E0
    Read at address  0x04110050 (0xffff878f0050): 0x00000000
    Read at address  0x04110051 (0xffff88860050): 0x00000000
    Read at address  0x04110052 (0xffffac690050): 0x00000000
    Read at address  0x04110053 (0xffff97c50050): 0x00000000
    Read at address  0x04110054 (0xffff962d0054): 0x00000000
    Read at address  0x04110055 (0xffff96390054): 0x00000000
    Read at address  0x04110056 (0xffffafc30054): 0x00000000
    Read at address  0x04110057 (0xffff947d0054): 0x00000000
    Read at address  0x04110058 (0xffff9c860058): 0x00065D40
    Read at address  0x04110059 (0xffffa72e0058): 0x00065D40
    Read at address  0x0411005A (0xffffbde50058): 0x00065D40
    Read at address  0x0411005B (0xffffac430058): 0x00065D40
    Read at address  0x0411005C (0xffff9603005c): 0x00080000
    Read at address  0x0411005D (0xffff7f7d005c): 0x00080000
    Read at address  0x0411005E (0xffffa6ad005c): 0x00080000
    Read at address  0x0411005F (0xffff9d7a005c): 0x00080000
    Read at address  0x04110060 (0xffffa9530060): 0xFFFFFFFF
    Read at address  0x04110061 (0xffffa4580060): 0xFFFFFFFF
    Read at address  0x04110062 (0xffff8c2a0060): 0xFFFFFFFF
    Read at address  0x04110063 (0xffffa2010060): 0xFFFFFFFF
    Read at address  0x04110064 (0xffff84f30064): 0x30640013
    Read at address  0x04110065 (0xffff8c720064): 0x30640013
    Read at address  0x04110066 (0xffffa9360064): 0x30640013
    Read at address  0x04110067 (0xffff9b320064): 0x30640013
    Read at address  0x04110068 (0xffffa5870068): 0x20406000
    Read at address  0x04110069 (0xffffa1d00068): 0x20406000
    Read at address  0x0411006A (0xffffa2fa0068): 0x20406000
    Read at address  0x0411006B (0xffff80f50068): 0x20406000
    Read at address  0x0411006C (0xffff812f006c): 0x00200000
    Read at address  0x0411006D (0xffffb894006c): 0x00200000
    Read at address  0x0411006E (0xffffa64b006c): 0x00200000
    Read at address  0x0411006F (0xffffb798006c): 0x00200000
    Read at address  0x04110070 (0xffff88ab0070): 0x00000000
    Read at address  0x04110071 (0xffffa10e0070): 0x00000000
    Read at address  0x04110072 (0xffff9d5b0070): 0x00000000
    Read at address  0x04110073 (0xffffb2f70070): 0x00000000
    Read at address  0x04110074 (0xffffa8690074): 0x00000000
    Read at address  0x04110075 (0xffffa97c0074): 0x00000000
    Read at address  0x04110076 (0xffff87630074): 0x00000000
    Read at address  0x04110077 (0xffff8c9f0074): 0x00000000
    Read at address  0x04110078 (0xffff89b80078): 0x02710000
    Read at address  0x04110079 (0xffff8b9e0078): 0x02710000
    Read at address  0x0411007A (0xffffae2d0078): 0x02710000
    Read at address  0x0411007B (0xffff98c80078): 0x02710000
    Read at address  0x0411007C (0xffff8fd7007c): 0x00000000
    Read at address  0x0411007D (0xffffb449007c): 0x00000000
    Read at address  0x0411007E (0xffffac42007c): 0x00000000
    Read at address  0x0411007F (0xffff88c1007c): 0x00000000
    

    Add the other register's value of address :0x04000000~0x0403C3E0

    6406.result.log

    We can't collect other address' values of  0x0000900000 to 0x0000912000, once devmem2 these addresses, the system will be halted, those are Serdes modules, as we are not use USB3 mode, it should not be enabled, right?

    Thanks

    Kenn

  • Zack,

    register dump from 0x04000000 to 0x04110080

    Do you mean dumping out all USB0 and USB1 registers?

    I found some registers address range overlapped as below snapshot, would you please help to clarify?

  • Hello Kenn,

    I received schematics from Tony and did a review.

    Please refer below the USB interface schematics for the EVM and customers board. Top is the EVM and below are the USB0 and USB1 interface on customer board.


    Please note the change in USB shielding. In the customer board not sure how the USB shield in being connected to earth.

    The Supply and the ground is connected after the inductor compared to the UBB1 host that is connected before the inductor. The EVM doe ot have an inductor

    Test  1 : please request customer to short L13 and L14 and perform a test.

    Test 2 : if possible can you please ask customer to change the RC connection to the shield similar to the EVM.

    Test 3 : can you please ask customer to de populate the ESD diode to do a quick test.

    The USB connector is interfaced through 2 boards. I assume customer has followed the impedance control requirement on both boards.

    Lastly, i assume the polarity of the mating connectors are taken care since USB1 works.

    Thanks,

    Sreenivasa

  • Hello Sreenivasa

    Our hardware engineer had read your suggestions, and he thinks that two parts of these HW may have no problem, the reason is that we had exchanged these two parts HW:  

    Last version:

       usb0--OTG mode (not work)

       usb1--HOST mode( work) 

    Current version:

       usb0--HOST mode(not work)

       usb1--OTG mode(work)

    The key problem is why it's had no signal output on DP/DM pin from CPU side when we force it enters the test mode:

    USB0:
    devmem2 0x04010420 w 0xA0
    devmem2 0x04010020 w 0x4
    devmem2 0x04010424 w 0x40000000 

    Thanks

    Kenn

  • Hello Kenn, 

    Thank you. Is the circuit configuration different from the above. Could you share a snapshot of the USB interface circuit for the previous version.

    Thanks,

    Sreenivasa

  • ok, please see the pictures below:

    Thanks

    Kenn

  • Hello Kenn, 

    Thank you. The attached snap has 

       usb0--OTG mode (not work)

       usb1--HOST mode( work) 

    Can you please share the Current version snap to compare:

       usb0--HOST mode(not work)

       usb1--OTG mode(work)

    Regards,

    Sreenivasa

  • Hi,Sreenivasa

    I think you already have the current version snap, the same as you pasted in your last thread.

    Thanks

    Kenn

  • Hello Kenn, 

    Thank you for the input. I understand the reason for confusion from my side.

    I was looking at the labels and the labels were same for both versions although the internal connections changed.

    I see that both version have similar implementation with the exception change in signals.

    Would it be possible to reconfigure one of the board similar to the EVM as shown in the above picture and do a quick test.

    You can have the ESD diode mounted initially.

    Regards,

    Sreenivasa

  • Yes, that label had confused most of us, sorry for that.

    I will invite our hardware engineer( lin yong) to describe the test we had done.

    Thanks

    Kenn

  • Hi Sreenivasa

               Our latest schematic is the same as your evaluation board (I don't think the inductance on VCC and GND will affect the USB function). When we use TI's test command to enter the USB eye diagram test mode (the USB port is not connected to any device), the USB1-PHY can output normally, but the USB0-PHY has no response. In addition, we have also tried to remove all peripheral devices such as common mode inductors, inductors, TVS tubes, etc., and directly test the eye diagram, and the test results have not changed.
    Therefore, from my design point of view, there is no problem with the peripheral circuit of USB. What we need to consider is whether other functional circuits or other shielded drivers have an impact on USB0-PHY (no output in eye pattern test mode), After all, there are many features in our product that are not used. Thanks!

  • Hello lin yong,

    Thank you for explaining. Did you have a chance to repeat some of these tests on the EVM on your side ? If yes could you help us understand the EVM you are using. Let me internally check on possible reasons for this issue.

    Regards,

    Sreenivasa

  • Sreenivasa,

    What kind of test to do on EVM? enter test mode to test eye diagram on each port?

  • Hello Tony, 

    Thanks. I am not asking customer to do any new test. Since customer is referencing the EVM, I w checking if they have tried doing similar measurements on the EVM.

    Regards,

    Sreenivasa

  • Hello Sreenivasa、Tony

               We have previously tested USB0-PHY and USB1-PHY eye diagrams on the EVM board and they are normal.

               Also, I need to add that I made the same changes as the previous version of the hardware on our latest prototype yesterday (remove the TVS tube, remove the inductance on VCC and GND and short and remove the resistance on the ID signal line and Short circuit), and then test the eye diagram, the problem still exists. I hope my answer can help you in issue analysis. Thanks!

  • Hello lin yong,

    Thank you for the inputs. This helps.

    Let me review the inputs and comeback to you with any questions i may have.

    Regards,

    Sreenivasa

  • Yong,

    Please provide the values for the following registers prior to doing anything. The port should not have anything connected. Note that the port must be in HOST mode for Compliance Commands to properly execute.

    devmem2 0x04010420
    devmem2 0x04010020
    devmem2 0x04010424

  • Hello,DK

    Please see the values below:

    root@am65xx-evm# devmem2 0x04010420
    /dev/mem opened.
    Memory mapped at address 0xffffba050000.
    Read at address  0x04010420 (0xffffba050420): 0x0A0002A0
    root@am65xx-evm# devmem2 0x04010020
    /dev/mem opened.
    Memory mapped at address 0xffffb4eb0000.
    Read at address  0x04010020 (0xffffb4eb0020): 0x00000005
    root@am65xx-evm# devmem2 0x04010424
    /dev/mem opened.
    Memory mapped at address 0xffffbd330000.
    Read at address  0x04010424 (0xffffbd330424): 0x00000000

    Thanks

    Kenn

     

  • Thanks, these look good.

    Please execute the following, in order, and provide the read values. Note that you must reset the device and start over if you deviate from the order.

    devmem2 0x04010024

    devmem2 0x04010420 w 0xA0

    devmem2 0x04010420

    devmem2 0x04010020 w 0x4

    devmem2 0x04010020

    devmem2 0x04010024

    devmem2 0x04010424 w 0x40000000 

    devmem2 0x04010424

  • Ok, please see the messages below:

    root@am65xx-evm:~# devmem2 0x04010024
    /dev/mem opened.
    Memory mapped at address 0xffffb9bb0000.
    Read at address  0x04010024 (0xffffb9bb0024): 0x00000000
    root@am65xx-evm:~# devmem2 0x04010420 w 0xA0
    /dev/mem opened.
    Memory mapped at address 0xffff97710000.
    Read at address  0x04010420 (0xffff97710420): 0x0A0002A0
    Write at address 0x04010420 (0xffff97710420): 0x000000A0, readback 0x000000A0
    root@am65xx-evm:~# devmem2 0x04010420
    /dev/mem opened.
    Memory mapped at address 0xffff81e20000.
    Read at address  0x04010420 (0xffff81e20420): 0x0A0002A0
    root@am65xx-evm:~# devmem2 0x04010020 w 0x4
    /dev/mem opened.
    Memory mapped at address 0xffffb9d80000.
    Read at address  0x04010020 (0xffffb9d80020): 0x00000005
    Write at address 0x04010020 (0xffffb9d80020): 0x00000004, readback 0x00000004
    root@am65xx-evm:~# devmem2 0x04010020
    /dev/mem opened.
    Memory mapped at address 0xffffbc730000.
    Read at address  0x04010020 (0xffffbc730020): 0x00000004
    root@am65xx-evm:~# devmem2 0x04010024
    /dev/mem opened.
    Memory mapped at address 0xffffabae0000.
    Read at address  0x04010024 (0xffffabae0024): 0x00000001
    root@am65xx-evm:~# devmem2 0x04010424 w 0x40000000
    /dev/mem opened.
    Memory mapped at address 0xffff82400000.
    Read at address  0x04010424 (0xffff82400424): 0x00000000
    Write at address 0x04010424 (0xffff82400424): 0x40000000, readback 0x40000000
    root@am65xx-evm:~# devmem2 0x04010424
    /dev/mem opened.
    Memory mapped at address 0xffffbbc30000.
    Read at address  0x04010424 (0xffffbbc30424): 0x00000000
    

    Thanks

    Kenn

  • Please provide a current schematic section showing the affected USB2 port. I'd like to see the entirety of the bus from connector to SoC.