This doesn't make my LS keyboard work any better, but it does at least
report the correct speed in "usb tree".
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
                if (hprt0 & DWC2_HPRT0_PRTPWR)
                        port_status |= USB_PORT_STAT_POWER;
 
-               port_status |= USB_PORT_STAT_HIGH_SPEED;
+               if ((hprt0 & DWC2_HPRT0_PRTSPD_MASK) == DWC2_HPRT0_PRTSPD_LOW)
+                       port_status |= USB_PORT_STAT_LOW_SPEED;
+               else if ((hprt0 & DWC2_HPRT0_PRTSPD_MASK) ==
+                        DWC2_HPRT0_PRTSPD_HIGH)
+                       port_status |= USB_PORT_STAT_HIGH_SPEED;
 
                if (hprt0 & DWC2_HPRT0_PRTENCHNG)
                        port_change |= USB_PORT_STAT_C_ENABLE;
 
 #define DWC2_HPRT0_PRTPWR_OFFSET                       12
 #define DWC2_HPRT0_PRTTSTCTL_MASK                      (0xF << 13)
 #define DWC2_HPRT0_PRTTSTCTL_OFFSET                    13
+#define DWC2_HPRT0_PRTSPD_HIGH                         (0 << 17)
+#define DWC2_HPRT0_PRTSPD_FULL                         (1 << 17)
+#define DWC2_HPRT0_PRTSPD_LOW                          (2 << 17)
 #define DWC2_HPRT0_PRTSPD_MASK                         (0x3 << 17)
 #define DWC2_HPRT0_PRTSPD_OFFSET                       17
 #define DWC2_HAINT_CH0                                 (1 << 0)