mirror of
https://github.com/linux-msm/laptops-kernel.git
synced 2026-08-13 14:19:53 -07:00
clk: Add Sunplus SP7021 clock driver
Add clock driver for Sunplus SP7021 SoC. Signed-off-by: Qin Jian <qinjian@cqplus1.com> Link: https://lore.kernel.org/r/20221219015130.42621-1-qinjian@cqplus1.com Signed-off-by: Stephen Boyd <sboyd@kernel.org>
This commit is contained in:
@@ -2849,6 +2849,7 @@ F: Documentation/devicetree/bindings/reset/sunplus,reset.yaml
|
||||
F: arch/arm/boot/dts/sunplus-sp7021*.dts*
|
||||
F: arch/arm/configs/sp7021_*defconfig
|
||||
F: arch/arm/mach-sunplus/
|
||||
F: drivers/clk/clk-sp7021.c
|
||||
F: drivers/irqchip/irq-sp7021-intc.c
|
||||
F: drivers/reset/reset-sunplus.c
|
||||
F: include/dt-bindings/clock/sunplus,sp7021-clkc.h
|
||||
|
||||
@@ -436,6 +436,16 @@ config COMMON_CLK_K210
|
||||
help
|
||||
Support for the Canaan Kendryte K210 RISC-V SoC clocks.
|
||||
|
||||
config COMMON_CLK_SP7021
|
||||
tristate "Clock driver for Sunplus SP7021 SoC"
|
||||
depends on SOC_SP7021 || COMPILE_TEST
|
||||
default SOC_SP7021
|
||||
help
|
||||
This driver supports the Sunplus SP7021 SoC clocks.
|
||||
It implements SP7021 PLLs/gate.
|
||||
Not all features of the PLL are currently supported
|
||||
by the driver.
|
||||
|
||||
source "drivers/clk/actions/Kconfig"
|
||||
source "drivers/clk/analogbits/Kconfig"
|
||||
source "drivers/clk/baikal-t1/Kconfig"
|
||||
|
||||
@@ -65,6 +65,7 @@ obj-$(CONFIG_COMMON_CLK_SI5351) += clk-si5351.o
|
||||
obj-$(CONFIG_COMMON_CLK_SI514) += clk-si514.o
|
||||
obj-$(CONFIG_COMMON_CLK_SI544) += clk-si544.o
|
||||
obj-$(CONFIG_COMMON_CLK_SI570) += clk-si570.o
|
||||
obj-$(CONFIG_COMMON_CLK_SP7021) += clk-sp7021.o
|
||||
obj-$(CONFIG_COMMON_CLK_STM32F) += clk-stm32f4.o
|
||||
obj-$(CONFIG_COMMON_CLK_STM32H7) += clk-stm32h7.o
|
||||
obj-$(CONFIG_COMMON_CLK_STM32MP157) += clk-stm32mp1.o
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -608,6 +608,25 @@ struct clk *clk_register_gate(struct device *dev, const char *name,
|
||||
__devm_clk_hw_register_gate((dev), NULL, (name), (parent_name), NULL, \
|
||||
NULL, (flags), (reg), (bit_idx), \
|
||||
(clk_gate_flags), (lock))
|
||||
/**
|
||||
* devm_clk_hw_register_gate_parent_data - register a gate clock with the
|
||||
* clock framework
|
||||
* @dev: device that is registering this clock
|
||||
* @name: name of this clock
|
||||
* @parent_data: parent clk data
|
||||
* @flags: framework-specific flags for this clock
|
||||
* @reg: register address to control gating of this clock
|
||||
* @bit_idx: which bit in the register controls gating of this clock
|
||||
* @clk_gate_flags: gate-specific flags for this clock
|
||||
* @lock: shared register lock for this clock
|
||||
*/
|
||||
#define devm_clk_hw_register_gate_parent_data(dev, name, parent_data, flags, \
|
||||
reg, bit_idx, clk_gate_flags, \
|
||||
lock) \
|
||||
__devm_clk_hw_register_gate((dev), NULL, (name), NULL, NULL, \
|
||||
(parent_data), (flags), (reg), (bit_idx), \
|
||||
(clk_gate_flags), (lock))
|
||||
|
||||
void clk_unregister_gate(struct clk *clk);
|
||||
void clk_hw_unregister_gate(struct clk_hw *hw);
|
||||
int clk_gate_is_enabled(struct clk_hw *hw);
|
||||
|
||||
Reference in New Issue
Block a user