brcm63xx: add clkdev lookup support
[openwrt/openwrt.git] / target / linux / brcm63xx / patches-4.4 / 346-MIPS-BCM63XX-USB-ENETSW-6318-clocks.patch
index 947f7223fbcc677984b89e9ceb3b9ece8b2d878c..8e4efeb8db4a17f9d36b307f102ad777754c9ae2 100644 (file)
@@ -1,19 +1,19 @@
 --- a/arch/mips/bcm63xx/clk.c
 +++ b/arch/mips/bcm63xx/clk.c
-@@ -136,7 +136,11 @@ static struct clk clk_ephy = {
+@@ -167,7 +167,11 @@ static struct clk clk_swpkt_usb = {
   */
  static void enetsw_set(struct clk *clk, int enable)
  {
--      if (BCMCPU_IS_6328())
+-      if (BCMCPU_IS_6328()) {
 +      if (BCMCPU_IS_6318()) {
 +              bcm_hwclock_set(CKCTL_6318_ROBOSW250_EN |
 +                              CKCTL_6318_ROBOSW025_EN, enable);
 +              bcm_ub_hwclock_set(UB_CKCTL_6318_ROBOSW_EN, enable);
-+      } else if (BCMCPU_IS_6328())
++      } else if (BCMCPU_IS_6328()) {
                bcm_hwclock_set(CKCTL_6328_ROBOSW_EN, enable);
-       else if (BCMCPU_IS_6362())
+       } else if (BCMCPU_IS_6362()) {
                bcm_hwclock_set(CKCTL_6362_ROBOSW_EN, enable);
-@@ -183,18 +187,22 @@ static struct clk clk_pcm = {
+@@ -219,18 +223,22 @@ static struct clk clk_pcm = {
   */
  static void usbh_set(struct clk *clk, int enable)
  {
  
        if (enable)
                msleep(100);
-@@ -408,9 +416,9 @@ struct clk *clk_get(struct device *dev,
-               return &clk_enetsw;
-       if (!strcmp(id, "ephy"))
-               return &clk_ephy;
--      if (!strcmp(id, "usbh"))
-+      if (!strcmp(id, "usbh") || (BCMCPU_IS_6318() && !strcmp(id, "usbd")))
-               return &clk_usbh;
--      if (!strcmp(id, "usbd"))
-+      if (!strcmp(id, "usbd") && !BCMCPU_IS_6318())
-               return &clk_usbd;
-       if (!strcmp(id, "spi"))
-               return &clk_spi;