summaryrefslogtreecommitdiff
path: root/common/usb.c
diff options
context:
space:
mode:
authorStefan Roese <sr@denx.de>2009-01-22 10:11:21 +0100
committerRemy Bohmer <linux@bohmer.net>2009-01-28 19:57:31 +0100
commitf1c1f540243438246aefb703fdcf16957e3a72e1 (patch)
tree3994c4c0bcf5e3830986faf1a2990a5e4366de6d /common/usb.c
parentdaa2dafb450a8073a4e42fd46cd4e995b208e4cb (diff)
downloadu-boot-imx-f1c1f540243438246aefb703fdcf16957e3a72e1.zip
u-boot-imx-f1c1f540243438246aefb703fdcf16957e3a72e1.tar.gz
u-boot-imx-f1c1f540243438246aefb703fdcf16957e3a72e1.tar.bz2
USB: Add high-speed (480Mb/s) to all USB related outputs
With this patch the USB related connection speed output ("usb tree" command and debug output) is now high-speed enabled. This patch also fixes a compilation warning when debugging is enabled. Signed-off-by: Stefan Roese <sr@denx.de> Signed-off-by: Remy Bohmer <linux@bohmer.net>
Diffstat (limited to 'common/usb.c')
-rw-r--r--common/usb.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/common/usb.c b/common/usb.c
index 3350127..5f46831 100644
--- a/common/usb.c
+++ b/common/usb.c
@@ -681,7 +681,7 @@ int usb_string(struct usb_device *dev, int index, char *buf, size_t size)
err = usb_string_sub(dev, 0, 0, tbuf);
if (err < 0) {
USB_PRINTF("error getting string descriptor 0 " \
- "(error=%x)\n", dev->status);
+ "(error=%lx)\n", dev->status);
return -1;
} else if (tbuf[0] < 4) {
USB_PRINTF("string descriptor 0 too short\n");
@@ -1041,6 +1041,16 @@ struct usb_hub_device *usb_hub_allocate(void)
#define MAX_TRIES 5
+static inline char *portspeed(int portstatus)
+{
+ if (portstatus & (1 << USB_PORT_FEAT_HIGHSPEED))
+ return "480 Mb/s";
+ else if (portstatus & (1 << USB_PORT_FEAT_LOWSPEED))
+ return "1.5 Mb/s";
+ else
+ return "12 Mb/s";
+}
+
static int hub_port_reset(struct usb_device *dev, int port,
unsigned short *portstat)
{
@@ -1064,8 +1074,7 @@ static int hub_port_reset(struct usb_device *dev, int port,
USB_HUB_PRINTF("portstatus %x, change %x, %s\n",
portstatus, portchange,
- portstatus & (1 << USB_PORT_FEAT_LOWSPEED) ? \
- "Low Speed" : "High Speed");
+ portspeed(portstatus));
USB_HUB_PRINTF("STAT_C_CONNECTION = %d STAT_CONNECTION = %d" \
" USB_PORT_STAT_ENABLE %d\n",
@@ -1111,9 +1120,7 @@ void usb_hub_port_connect_change(struct usb_device *dev, int port)
portstatus = le16_to_cpu(portsts.wPortStatus);
portchange = le16_to_cpu(portsts.wPortChange);
USB_HUB_PRINTF("portstatus %x, change %x, %s\n",
- portstatus, portchange,
- portstatus&(1 << USB_PORT_FEAT_LOWSPEED) ? \
- "Low Speed" : "High Speed");
+ portstatus, portchange, portspeed(portstatus));
/* Clear the connection change status */
usb_clear_port_feature(dev, port + 1, USB_PORT_FEAT_C_CONNECTION);