mirror of
https://github.com/ukui/kernel.git
synced 2026-03-09 10:07:04 -07:00
clk: keystone: Add sci-clk driver support
In K2G, the clock handling is done through firmware executing on a separate core. Linux kernel needs to communicate to the firmware through TI system control interface to access any power management related resources, including clocks. The keystone sci-clk driver does this, by communicating to the firmware through the TI SCI driver. The driver adds support for registering clocks through DT, and basic required clock operations like prepare/get_rate, etc. Signed-off-by: Tero Kristo <t-kristo@ti.com> [sboyd@codeaurora.org: Make ti_sci_init_clocks() static] Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
This commit is contained in:
committed by
Stephen Boyd
parent
8f306cfe43
commit
b745c0794e
@@ -12631,6 +12631,7 @@ F: Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
|
||||
F: include/dt-bindings/genpd/k2g.h
|
||||
F: drivers/soc/ti/ti_sci_pm_domains.c
|
||||
F: Documentation/devicetree/bindings/clock/ti,sci-clk.txt
|
||||
F: drivers/clk/keystone/sci-clk.c
|
||||
|
||||
THANKO'S RAREMONO AM/FM/SW RADIO RECEIVER USB DRIVER
|
||||
M: Hans Verkuil <hverkuil@xs4all.nl>
|
||||
|
||||
@@ -164,13 +164,6 @@ config COMMON_CLK_XGENE
|
||||
---help---
|
||||
Sypport for the APM X-Gene SoC reference, PLL, and device clocks.
|
||||
|
||||
config COMMON_CLK_KEYSTONE
|
||||
tristate "Clock drivers for Keystone based SOCs"
|
||||
depends on (ARCH_KEYSTONE || COMPILE_TEST) && OF
|
||||
---help---
|
||||
Supports clock drivers for Keystone based SOCs. These SOCs have local
|
||||
a power sleep control module that gate the clock to the IPs and PLLs.
|
||||
|
||||
config COMMON_CLK_NXP
|
||||
def_bool COMMON_CLK && (ARCH_LPC18XX || ARCH_LPC32XX)
|
||||
select REGMAP_MMIO if ARCH_LPC32XX
|
||||
@@ -219,6 +212,7 @@ config COMMON_CLK_VC5
|
||||
|
||||
source "drivers/clk/bcm/Kconfig"
|
||||
source "drivers/clk/hisilicon/Kconfig"
|
||||
source "drivers/clk/keystone/Kconfig"
|
||||
source "drivers/clk/mediatek/Kconfig"
|
||||
source "drivers/clk/meson/Kconfig"
|
||||
source "drivers/clk/mvebu/Kconfig"
|
||||
|
||||
@@ -61,7 +61,7 @@ obj-$(CONFIG_H8300) += h8300/
|
||||
obj-$(CONFIG_ARCH_HISI) += hisilicon/
|
||||
obj-$(CONFIG_ARCH_MXC) += imx/
|
||||
obj-$(CONFIG_MACH_INGENIC) += ingenic/
|
||||
obj-$(CONFIG_COMMON_CLK_KEYSTONE) += keystone/
|
||||
obj-$(CONFIG_ARCH_KEYSTONE) += keystone/
|
||||
obj-$(CONFIG_MACH_LOONGSON32) += loongson1/
|
||||
obj-$(CONFIG_ARCH_MEDIATEK) += mediatek/
|
||||
obj-$(CONFIG_COMMON_CLK_AMLOGIC) += meson/
|
||||
|
||||
15
drivers/clk/keystone/Kconfig
Normal file
15
drivers/clk/keystone/Kconfig
Normal file
@@ -0,0 +1,15 @@
|
||||
config COMMON_CLK_KEYSTONE
|
||||
tristate "Clock drivers for Keystone based SOCs"
|
||||
depends on (ARCH_KEYSTONE || COMPILE_TEST) && OF
|
||||
---help---
|
||||
Supports clock drivers for Keystone based SOCs. These SOCs have local
|
||||
a power sleep control module that gate the clock to the IPs and PLLs.
|
||||
|
||||
config TI_SCI_CLK
|
||||
tristate "TI System Control Interface clock drivers"
|
||||
depends on (ARCH_KEYSTONE || COMPILE_TEST) && OF
|
||||
default TI_SCI_PROTOCOL
|
||||
---help---
|
||||
This adds the clock driver support over TI System Control Interface.
|
||||
If you wish to use clock resources from the PMMC firmware, say Y.
|
||||
Otherwise, say N.
|
||||
@@ -1 +1,2 @@
|
||||
obj-y += pll.o gate.o
|
||||
obj-$(CONFIG_COMMON_CLK_KEYSTONE) += pll.o gate.o
|
||||
obj-$(CONFIG_TI_SCI_CLK) += sci-clk.o
|
||||
|
||||
724
drivers/clk/keystone/sci-clk.c
Normal file
724
drivers/clk/keystone/sci-clk.c
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user