USB: musb: set version of Blackfin version
authorCliff Cai <cliff.cai@analog.com>
Fri, 29 Jan 2010 01:43:44 +0000 (20:43 -0500)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 2 Mar 2010 22:54:48 +0000 (14:54 -0800)
All current Blackfin parts are using RTL v1.9, but they don't expose the
hardware registers to probe this dynamically.  So hardcode the version to
v1.9 for now.

Need to move the local hwvers related defines higher up in the header so
that sub-musb headers may utilize them.

Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/musb/musb_core.h
drivers/usb/musb/musb_regs.h

index 74a55b95ecbbcfd344d3250a3896f4b01a7a8855..17e7115493ffd99d11d1602d4a977b58646c2b36 100644 (file)
@@ -52,6 +52,15 @@ struct musb;
 struct musb_hw_ep;
 struct musb_ep;
 
+/* Helper defines for struct musb->hwvers */
+#define MUSB_HWVERS_MAJOR(x)   ((x >> 10) & 0x1f)
+#define MUSB_HWVERS_MINOR(x)   (x & 0x3ff)
+#define MUSB_HWVERS_RC         0x8000
+#define MUSB_HWVERS_1300       0x52C
+#define MUSB_HWVERS_1400       0x590
+#define MUSB_HWVERS_1800       0x720
+#define MUSB_HWVERS_1900       0x784
+#define MUSB_HWVERS_2000       0x800
 
 #include "musb_debug.h"
 #include "musb_dma.h"
@@ -322,13 +331,6 @@ struct musb {
        struct clk              *clock;
        irqreturn_t             (*isr)(int, void *);
        struct work_struct      irq_work;
-#define MUSB_HWVERS_MAJOR(x)   ((x >> 10) & 0x1f)
-#define MUSB_HWVERS_MINOR(x)   (x & 0x3ff)
-#define MUSB_HWVERS_RC         0x8000
-#define MUSB_HWVERS_1300       0x52C
-#define MUSB_HWVERS_1400       0x590
-#define MUSB_HWVERS_1800       0x720
-#define MUSB_HWVERS_2000       0x800
        u16                     hwvers;
 
 /* this hub status bit is reserved by USB 2.0 and not seen by usbcore */
index 895fb057e4431b9d75c5ea773960863e50177bb9..292894a2c24711077df28529315c97f586e696fb 100644 (file)
@@ -533,7 +533,11 @@ static inline u8 musb_read_configdata(void __iomem *mbase)
 
 static inline u16 musb_read_hwvers(void __iomem *mbase)
 {
-       return 0;
+       /*
+        * This register is invisible on Blackfin, actually the MUSB
+        * RTL version of Blackfin is 1.9, so just harcode its value.
+        */
+       return MUSB_HWVERS_1900;
 }
 
 static inline void __iomem *musb_read_target_reg_base(u8 i, void __iomem *mbase)