浏览代码

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 年之前
父节点
当前提交
9c7564620f
共有 2 个文件被更改,包括 4 次插入1 次删除
  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 */
 	/* Configure PLL oscillator register */
-	bfin_write_USB_PLLOSC_CTRL(0x30a8);
+	bfin_write_USB_PLLOSC_CTRL(0x3080 |
+			((480/musb->config->clkin) << 1));
 	SSYNC();
 	SSYNC();
 
 
 	bfin_write_USB_SRP_CLKDIV((get_sclk()/1000) / 32 - 1);
 	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 */
 	/* A GPIO controlling VRSEL in Blackfin */
 	unsigned int	gpio_vrsel;
 	unsigned int	gpio_vrsel;
 	unsigned int	gpio_vrsel_active;
 	unsigned int	gpio_vrsel_active;
+	/* musb CLKIN in Blackfin in MHZ */
+	unsigned char   clkin;
 #endif
 #endif
 
 
 };
 };