From: Kevin Cernekee Date: Sat, 23 Jun 2012 04:14:51 +0000 (+0000) Subject: MIPS: BCM63XX: Expose the USBH/USBD clocks on BCM6328/BCM6368 X-Git-Tag: next-20120904~101^2~1^2~6 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=dd89d60c032ab05720f745bf8c39d09512a77043;p=karo-tx-linux.git MIPS: BCM63XX: Expose the USBH/USBD clocks on BCM6328/BCM6368 Signed-off-by: Kevin Cernekee Patchwork: http://patchwork.linux-mips.org/patch/4022/ Signed-off-by: John Crispin --- diff --git a/arch/mips/bcm63xx/clk.c b/arch/mips/bcm63xx/clk.c index 1db48adb543a..dff79ab6005e 100644 --- a/arch/mips/bcm63xx/clk.c +++ b/arch/mips/bcm63xx/clk.c @@ -160,7 +160,9 @@ static struct clk clk_pcm = { */ static void usbh_set(struct clk *clk, int enable) { - if (BCMCPU_IS_6348()) + if (BCMCPU_IS_6328()) + bcm_hwclock_set(CKCTL_6328_USBH_EN, enable); + else if (BCMCPU_IS_6348()) bcm_hwclock_set(CKCTL_6348_USBH_EN, enable); else if (BCMCPU_IS_6368()) bcm_hwclock_set(CKCTL_6368_USBH_EN, enable); @@ -170,6 +172,21 @@ static struct clk clk_usbh = { .set = usbh_set, }; +/* + * USB device clock + */ +static void usbd_set(struct clk *clk, int enable) +{ + if (BCMCPU_IS_6328()) + bcm_hwclock_set(CKCTL_6328_USBD_EN, enable); + else if (BCMCPU_IS_6368()) + bcm_hwclock_set(CKCTL_6368_USBD_EN, enable); +} + +static struct clk clk_usbd = { + .set = usbd_set, +}; + /* * SPI clock */ @@ -284,6 +301,8 @@ struct clk *clk_get(struct device *dev, const char *id) return &clk_ephy; if (!strcmp(id, "usbh")) return &clk_usbh; + if (!strcmp(id, "usbd")) + return &clk_usbd; if (!strcmp(id, "spi")) return &clk_spi; if (!strcmp(id, "xtm"))