clk: bcm: Add BCM63138 clock support
authorFlorian Fainelli <f.fainelli@gmail.com>
Fri, 30 Oct 2015 01:23:18 +0000 (18:23 -0700)
committerStephen Boyd <sboyd@codeaurora.org>
Fri, 20 Nov 2015 23:46:27 +0000 (15:46 -0800)
BCM63138 has a simple clocking domain which is primarily the ARMPLL
clocking complex, from which the ARM (CPU), APB and AXI clocks would be
derived from.

Since the ARMPLL controller is entirely compatible with the iProc ARM
PLL, we just initialize it without additional parameters.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
drivers/clk/bcm/Kconfig
drivers/clk/bcm/Makefile
drivers/clk/bcm/clk-bcm63xx.c [new file with mode: 0644]

index 85260fb96b36547659bda0cd0f8430c682d1d781..f2878459199abf505ba1e761187eb1f5f956d7ad 100644 (file)
@@ -1,3 +1,13 @@
+config CLK_BCM_63XX
+       bool "Broadcom BCM63xx clock support"
+       depends on ARCH_BCM_63XX || COMPILE_TEST
+       depends on COMMON_CLK
+       select COMMON_CLK_IPROC
+       default ARCH_BCM_63XX
+       help
+         Enable common clock framework support for Broadcom BCM63xx DSL SoCs
+         based on the ARM architecture
+
 config CLK_BCM_KONA
        bool "Broadcom Kona CCU clock support"
        depends on ARCH_BCM_MOBILE || COMPILE_TEST
index 3fc95060d875e8607696c61bece2020613f4fdb1..247c26750d8bf38e28d179d8a2bc15b8863e7476 100644 (file)
@@ -1,3 +1,4 @@
+obj-$(CONFIG_CLK_BCM_63XX)     += clk-bcm63xx.o
 obj-$(CONFIG_CLK_BCM_KONA)     += clk-kona.o
 obj-$(CONFIG_CLK_BCM_KONA)     += clk-kona-setup.o
 obj-$(CONFIG_CLK_BCM_KONA)     += clk-bcm281xx.o
diff --git a/drivers/clk/bcm/clk-bcm63xx.c b/drivers/clk/bcm/clk-bcm63xx.c
new file mode 100644 (file)
index 0000000..fbc17ae
--- /dev/null
@@ -0,0 +1,22 @@
+/*
+ * Copyright (C) 2015 Broadcom Corporation
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation version 2.
+ *
+ * This program is distributed "as is" WITHOUT ANY WARRANTY of any
+ * kind, whether express or implied; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+#include <linux/init.h>
+#include <linux/clk-provider.h>
+#include <linux/of.h>
+#include "clk-iproc.h"
+
+static void __init bcm63138_armpll_init(struct device_node *node)
+{
+       iproc_armpll_setup(node);
+}
+CLK_OF_DECLARE(bcm63138_armpll, "brcm,bcm63138-armpll", bcm63138_armpll_init);