Unverified Commit 49c726d5 authored by Maxime Ripard's avatar Maxime Ripard
Browse files

clk: sunxi: Add Kconfig options



We used to have a clock framework that isn't really used these days, except
for a few clocks and/or SoCs. Most of the time, the new framework and
drivers (sunxi-ng) will provide everything needed for the customer devices
to operate properly.

Since we're not needing it that much, it might make sense to disable those
drivers, for example when we want to reduce the kernel size. Let's add
options in Kconfig that can be disabled if needed, but are still on by
default to keep the same features in the standard case.

Acked-by: default avatarStephen Boyd <sboyd@kernel.org>
Signed-off-by: default avatarMaxime Ripard <maxime.ripard@bootlin.com>
parent 6630aad7
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -310,6 +310,7 @@ source "drivers/clk/qcom/Kconfig"
source "drivers/clk/renesas/Kconfig"
source "drivers/clk/samsung/Kconfig"
source "drivers/clk/sprd/Kconfig"
source "drivers/clk/sunxi/Kconfig"
source "drivers/clk/sunxi-ng/Kconfig"
source "drivers/clk/tegra/Kconfig"
source "drivers/clk/ti/Kconfig"
+43 −0
Original line number Diff line number Diff line
menuconfig CLK_SUNXI
	bool "Legacy clock support for Allwinner SoCs"
	depends on ARCH_SUNXI || COMPILE_TEST
	default y

if CLK_SUNXI

config CLK_SUNXI_CLOCKS
	bool "Legacy clock drivers"
	default y
	help
	  Legacy clock drivers being used on older (A10, A13, A20,
	  A23, A31, A80) SoCs. These drivers are kept around for
	  Device Tree backward compatibility issues, in case one would
	  still use a Device Tree with one clock provider by
	  node. Newer Device Trees and newer SoCs use the drivers
	  controlled by CONFIG_SUNXI_CCU.

config CLK_SUNXI_PRCM_SUN6I
	bool "Legacy A31 PRCM driver"
	select MFD_SUN6I_PRCM
	default y
	help
	  Legacy clock driver for the A31 PRCM clocks. Those are
	  usually needed for the PMIC communication, mostly.

config CLK_SUNXI_PRCM_SUN8I
	bool "Legacy sun8i PRCM driver"
	select MFD_SUN6I_PRCM
	default y
	help
	  Legacy clock driver for the sun8i family PRCM clocks.
	  Those are usually needed for the PMIC communication,
	  mostly.

config CLK_SUNXI_PRCM_SUN9I
	bool "Legacy A80 PRCM driver"
	default y
	help
	  Legacy clock driver for the A80 PRCM clocks. Those are
	  usually needed for the PMIC communication, mostly.

endif
+27 −22
Original line number Diff line number Diff line
@@ -3,27 +3,32 @@
# Makefile for sunxi specific clk
#

obj-y += clk-sunxi.o clk-factors.o
obj-y += clk-a10-codec.o
obj-y += clk-a10-hosc.o
obj-y += clk-a10-mod1.o
obj-y += clk-a10-pll2.o
obj-y += clk-a10-ve.o
obj-y += clk-a20-gmac.o
obj-y += clk-mod0.o
obj-y += clk-simple-gates.o
obj-y += clk-sun4i-display.o
obj-y += clk-sun4i-pll3.o
obj-y += clk-sun4i-tcon-ch1.o
obj-y += clk-sun8i-bus-gates.o
obj-y += clk-sun8i-mbus.o
obj-y += clk-sun9i-core.o
obj-y += clk-sun9i-mmc.o
obj-y += clk-usb.o
obj-$(CONFIG_CLK_SUNXI) += clk-factors.o

obj-$(CONFIG_MACH_SUN9I) += clk-sun8i-apb0.o
obj-$(CONFIG_MACH_SUN9I) += clk-sun9i-cpus.o
obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-sunxi.o
obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-a10-codec.o
obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-a10-hosc.o
obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-a10-mod1.o
obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-a10-pll2.o
obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-a10-ve.o
obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-a20-gmac.o
obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-mod0.o
obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-simple-gates.o
obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-sun4i-display.o
obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-sun4i-pll3.o
obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-sun4i-tcon-ch1.o
obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-sun8i-bus-gates.o
obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-sun8i-mbus.o
obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-sun9i-core.o
obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-sun9i-mmc.o
obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-usb.o

obj-$(CONFIG_MFD_SUN6I_PRCM) += \
	clk-sun6i-ar100.o clk-sun6i-apb0.o clk-sun6i-apb0-gates.o \
	clk-sun8i-apb0.o
obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-sun8i-apb0.o
obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-sun9i-cpus.o

obj-$(CONFIG_CLK_SUNXI_PRCM_SUN6I)	+= clk-sun6i-apb0.o
obj-$(CONFIG_CLK_SUNXI_PRCM_SUN6I)	+= clk-sun6i-apb0-gates.o
obj-$(CONFIG_CLK_SUNXI_PRCM_SUN6I)	+= clk-sun6i-ar100.o

obj-$(CONFIG_CLK_SUNXI_PRCM_SUN8I)	+= clk-sun8i-apb0.o
obj-$(CONFIG_CLK_SUNXI_PRCM_SUN8I)	+= clk-sun6i-apb0-gates.o