aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBob Liu <lliubbo@gmail.com>2010-10-23 05:12:01 -0500
committerFelipe Balbi <balbi@ti.com>2010-11-05 14:13:32 +0200
commit9c7564620f82e55a9c8713311bffd401ec9d60fe (patch)
tree428c66c3414766bd7326eaf56e31542c26cf6b24
parentUSB: musb: blackfin: fix dynamic device<->host changing (diff)
downloadlinux-dev-9c7564620f82e55a9c8713311bffd401ec9d60fe.tar.xz
linux-dev-9c7564620f82e55a9c8713311bffd401ec9d60fe.zip
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>
-rw-r--r--drivers/usb/musb/blackfin.c3
-rw-r--r--include/linux/usb/musb.h2
2 files changed, 4 insertions, 1 deletions
diff --git a/drivers/usb/musb/blackfin.c b/drivers/usb/musb/blackfin.c
index ade45a219c47..fcb5206a65bd 100644
--- a/drivers/usb/musb/blackfin.c
+++ b/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);
diff --git a/include/linux/usb/musb.h b/include/linux/usb/musb.h
index ee2dd1d506ed..2387f9fc8138 100644
--- a/include/linux/usb/musb.h
+++ b/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
};