This patch fixes an issue that the speed of USB devices was not detected
correctly on some EHCI controllers. This will be used on the upcoming VCT
EHCI support.
Signed-off-by: Stefan Roese <sr@denx.de>
Signed-off-by: Remy Bohmer <linux@bohmer.net>
                }
                if (reg & EHCI_PS_PP)
                        tmpbuf[1] |= USB_PORT_STAT_POWER >> 8;
-               tmpbuf[1] |= USB_PORT_STAT_HIGH_SPEED >> 8;
+
+               if (ehci_is_TDI()) {
+                       switch ((reg >> 26) & 3) {
+                       case 0:
+                               break;
+                       case 1:
+                               tmpbuf[1] |= USB_PORT_STAT_LOW_SPEED >> 8;
+                               break;
+                       case 2:
+                       default:
+                               tmpbuf[1] |= USB_PORT_STAT_HIGH_SPEED >> 8;
+                               break;
+                       }
+               } else {
+                       tmpbuf[1] |= USB_PORT_STAT_HIGH_SPEED >> 8;
+               }
 
                if (reg & EHCI_PS_CSC)
                        tmpbuf[2] |= USB_PORT_STAT_C_CONNECTION;