]> www.infradead.org Git - linux.git/commitdiff
clk: bcm: Add Broadcom Hurricane 2 clock support
authorFlorian Fainelli <f.fainelli@gmail.com>
Thu, 28 Sep 2017 23:14:57 +0000 (16:14 -0700)
committerFlorian Fainelli <f.fainelli@gmail.com>
Thu, 12 Oct 2017 18:31:46 +0000 (11:31 -0700)
Add support for the Broadcom Hurricane 2 SoC clock controller. We can
re-use the existing iProc clock library since the SoC's architecture is
largely the same as its predecessors. For now, we just initialize the
iProc ARM PLL.

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

index 1d9187df167bc0ee86dde7f2d938cfbabd1a57f6..4c4bd85f707c02a1c2e8d7cbdd88e85a6882b50d 100644 (file)
@@ -30,6 +30,15 @@ config CLK_BCM_CYGNUS
        help
          Enable common clock framework support for the Broadcom Cygnus SoC
 
+config CLK_BCM_HR2
+       bool "Broadcom Hurricane 2 clock support"
+       depends on ARCH_BCM_HR2 || COMPILE_TEST
+       select COMMON_CLK_IPROC
+       default ARCH_BCM_HR2
+       help
+         Enable common clock framework support for the Broadcom Hurricane 2
+         SoC
+
 config CLK_BCM_NSP
        bool "Broadcom Northstar/Northstar Plus clock support"
        depends on ARCH_BCM_5301X || ARCH_BCM_NSP || COMPILE_TEST
index a0c14fa4aa1e7f8408b61952cbb1c7c41b490735..755144195541d8923eb134b514ffe6d5b915f206 100644 (file)
@@ -8,6 +8,7 @@ obj-$(CONFIG_ARCH_BCM2835)      += clk-bcm2835.o
 obj-$(CONFIG_ARCH_BCM2835)     += clk-bcm2835-aux.o
 obj-$(CONFIG_ARCH_BCM_53573)   += clk-bcm53573-ilp.o
 obj-$(CONFIG_CLK_BCM_CYGNUS)   += clk-cygnus.o
+obj-$(CONFIG_CLK_BCM_HR2)      += clk-hr2.o
 obj-$(CONFIG_CLK_BCM_NSP)      += clk-nsp.o
 obj-$(CONFIG_CLK_BCM_NS2)      += clk-ns2.o
 obj-$(CONFIG_CLK_BCM_SR)       += clk-sr.o
diff --git a/drivers/clk/bcm/clk-hr2.c b/drivers/clk/bcm/clk-hr2.c
new file mode 100644 (file)
index 0000000..f7c5b73
--- /dev/null
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2017 Broadcom
+ *
+ * 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/kernel.h>
+#include <linux/err.h>
+#include <linux/clk-provider.h>
+#include <linux/io.h>
+#include <linux/of.h>
+#include <linux/of_address.h>
+
+#include "clk-iproc.h"
+
+static void __init hr2_armpll_init(struct device_node *node)
+{
+       iproc_armpll_setup(node);
+}
+CLK_OF_DECLARE(hr2_armpll, "brcm,hr2-armpll", hr2_armpll_init);