diff options
Diffstat (limited to 'target/linux/brcm63xx/patches-4.4/001-4.15-07-MIPS-BCM63XX-split-out-swpkt_sar-usb-clocks.patch')
-rw-r--r-- | target/linux/brcm63xx/patches-4.4/001-4.15-07-MIPS-BCM63XX-split-out-swpkt_sar-usb-clocks.patch | 105 |
1 files changed, 0 insertions, 105 deletions
diff --git a/target/linux/brcm63xx/patches-4.4/001-4.15-07-MIPS-BCM63XX-split-out-swpkt_sar-usb-clocks.patch b/target/linux/brcm63xx/patches-4.4/001-4.15-07-MIPS-BCM63XX-split-out-swpkt_sar-usb-clocks.patch deleted file mode 100644 index b536601822..0000000000 --- a/target/linux/brcm63xx/patches-4.4/001-4.15-07-MIPS-BCM63XX-split-out-swpkt_sar-usb-clocks.patch +++ /dev/null @@ -1,105 +0,0 @@ -From b98027285bd1fa95da0645a4234a5fc1f1a83f92 Mon Sep 17 00:00:00 2001 -From: Jonas Gorski <jonas.gorski@gmail.com> -Date: Sun, 26 Feb 2017 11:59:52 +0100 -Subject: [PATCH V2 8/8] MIPS: BCM63XX: split out swpkt_sar/usb clocks - -Make the secondary switch clocks their own clocks. This allows proper -enable reference counting between SAR/XTM and the main switch clocks, -and controlling them individually from drivers. - -Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com> ---- - arch/mips/bcm63xx/clk.c | 61 +++++++++++++++++++++++++++++++++++++++++-------- - 1 file changed, 51 insertions(+), 10 deletions(-) - ---- a/arch/mips/bcm63xx/clk.c -+++ b/arch/mips/bcm63xx/clk.c -@@ -121,21 +121,56 @@ static struct clk clk_ephy = { - }; - - /* -+ * Ethernet switch SAR clock -+ */ -+static void swpkt_sar_set(struct clk *clk, int enable) -+{ -+ if (BCMCPU_IS_6368()) -+ bcm_hwclock_set(CKCTL_6368_SWPKT_SAR_EN, enable); -+ else -+ return; -+} -+ -+static struct clk clk_swpkt_sar = { -+ .set = swpkt_sar_set, -+}; -+ -+/* -+ * Ethernet switch USB clock -+ */ -+static void swpkt_usb_set(struct clk *clk, int enable) -+{ -+ if (BCMCPU_IS_6368()) -+ bcm_hwclock_set(CKCTL_6368_SWPKT_USB_EN, enable); -+ else -+ return; -+} -+ -+static struct clk clk_swpkt_usb = { -+ .set = swpkt_usb_set, -+}; -+ -+/* - * Ethernet switch clock - */ - static void enetsw_set(struct clk *clk, int enable) - { -- if (BCMCPU_IS_6328()) -+ 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); -- else if (BCMCPU_IS_6368()) -- bcm_hwclock_set(CKCTL_6368_ROBOSW_EN | -- CKCTL_6368_SWPKT_USB_EN | -- CKCTL_6368_SWPKT_SAR_EN, -- enable); -- else -+ } else if (BCMCPU_IS_6368()) { -+ if (enable) { -+ clk_enable_unlocked(&clk_swpkt_sar); -+ clk_enable_unlocked(&clk_swpkt_usb); -+ } else { -+ clk_disable_unlocked(&clk_swpkt_usb); -+ clk_disable_unlocked(&clk_swpkt_sar); -+ } -+ bcm_hwclock_set(CKCTL_6368_ROBOSW_EN, enable); -+ } else { - return; -+ } - - if (enable) { - /* reset switch core afer clock change */ -@@ -260,8 +295,12 @@ static void xtm_set(struct clk *clk, int - if (!BCMCPU_IS_6368()) - return; - -- bcm_hwclock_set(CKCTL_6368_SAR_EN | -- CKCTL_6368_SWPKT_SAR_EN, enable); -+ if (enable) -+ clk_enable_unlocked(&clk_swpkt_sar); -+ else -+ clk_disable_unlocked(&clk_swpkt_sar); -+ -+ bcm_hwclock_set(CKCTL_6368_SAR_EN, enable); - - if (enable) { - /* reset sar core afer clock change */ -@@ -444,6 +483,8 @@ static struct clk_lookup bcm6358_clks[] - CLKDEV_INIT(NULL, "usbd", &clk_usbd), - CLKDEV_INIT(NULL, "spi", &clk_spi), - CLKDEV_INIT(NULL, "pcm", &clk_pcm), -+ CLKDEV_INIT(NULL, "swpkt_sar", &clk_swpkt_sar), -+ CLKDEV_INIT(NULL, "swpkt_usb", &clk_swpkt_usb), - CLKDEV_INIT("bcm63xx_enet.0", "enet", &clk_enet0), - CLKDEV_INIT("bcm63xx_enet.1", "enet", &clk_enet1), - }; |