Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

clk: bcm: Add BCM63138 clock support

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>

authored by

Florian Fainelli and committed by
Stephen Boyd
addc3ba6 5a0566d5

+33
+10
drivers/clk/bcm/Kconfig
··· 1 + config CLK_BCM_63XX 2 + bool "Broadcom BCM63xx clock support" 3 + depends on ARCH_BCM_63XX || COMPILE_TEST 4 + depends on COMMON_CLK 5 + select COMMON_CLK_IPROC 6 + default ARCH_BCM_63XX 7 + help 8 + Enable common clock framework support for Broadcom BCM63xx DSL SoCs 9 + based on the ARM architecture 10 + 1 11 config CLK_BCM_KONA 2 12 bool "Broadcom Kona CCU clock support" 3 13 depends on ARCH_BCM_MOBILE || COMPILE_TEST
+1
drivers/clk/bcm/Makefile
··· 1 + obj-$(CONFIG_CLK_BCM_63XX) += clk-bcm63xx.o 1 2 obj-$(CONFIG_CLK_BCM_KONA) += clk-kona.o 2 3 obj-$(CONFIG_CLK_BCM_KONA) += clk-kona-setup.o 3 4 obj-$(CONFIG_CLK_BCM_KONA) += clk-bcm281xx.o
+22
drivers/clk/bcm/clk-bcm63xx.c
··· 1 + /* 2 + * Copyright (C) 2015 Broadcom Corporation 3 + * 4 + * This program is free software; you can redistribute it and/or 5 + * modify it under the terms of the GNU General Public License as 6 + * published by the Free Software Foundation version 2. 7 + * 8 + * This program is distributed "as is" WITHOUT ANY WARRANTY of any 9 + * kind, whether express or implied; without even the implied warranty 10 + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 + * GNU General Public License for more details. 12 + */ 13 + #include <linux/init.h> 14 + #include <linux/clk-provider.h> 15 + #include <linux/of.h> 16 + #include "clk-iproc.h" 17 + 18 + static void __init bcm63138_armpll_init(struct device_node *node) 19 + { 20 + iproc_armpll_setup(node); 21 + } 22 + CLK_OF_DECLARE(bcm63138_armpll, "brcm,bcm63138-armpll", bcm63138_armpll_init);