Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b745c079 authored by Tero Kristo's avatar Tero Kristo Committed by Stephen Boyd
Browse files

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: default avatarTero Kristo <t-kristo@ti.com>
[sboyd@codeaurora.org: Make ti_sci_init_clocks() static]
Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
parent 8f306cfe
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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>
+1 −7
Original line number Diff line number Diff line
@@ -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"
+1 −1
Original line number Diff line number Diff line
@@ -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 −0
Original line number Diff line number Diff line
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.
+2 −1
Original line number Diff line number Diff line
obj-y			+= pll.o gate.o
obj-$(CONFIG_COMMON_CLK_KEYSTONE)	+= pll.o gate.o
obj-$(CONFIG_TI_SCI_CLK)		+= sci-clk.o
Loading