Browse Source

USB: musb: blackfin: push clkin value to platform resources

In order to not touch the driver file for different xtal usage,
push the clkin value to board file and calculate the register
value instead of hardcoding it.

Signed-off-by: Bob Liu <lliubbo@gmail.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Bob Liu 14 years ago
parent
commit
9c7564620f
2 changed files with 4 additions and 1 deletions
  1. 2 1
      drivers/usb/musb/blackfin.c
  2. 2 0
      include/linux/usb/musb.h

+ 2 - 1
drivers/usb/musb/blackfin.c

@@ -337,7 +337,8 @@ static void musb_platform_reg_init(struct musb *musb)
 	}
 
 	/* Configure PLL oscillator register */
-	bfin_write_USB_PLLOSC_CTRL(0x30a8);
+	bfin_write_USB_PLLOSC_CTRL(0x3080 |
+			((480/musb->config->clkin) << 1));
 	SSYNC();
 
 	bfin_write_USB_SRP_CLKDIV((get_sclk()/1000) / 32 - 1);

+ 2 - 0
include/linux/usb/musb.h

@@ -89,6 +89,8 @@ struct musb_hdrc_config {
 	/* A GPIO controlling VRSEL in Blackfin */
 	unsigned int	gpio_vrsel;
 	unsigned int	gpio_vrsel_active;
+	/* musb CLKIN in Blackfin in MHZ */
+	unsigned char   clkin;
 #endif
 
 };