diff mbox series

[V5,4/6] clk: imx: Add clock configuration for ARMv7 platforms

Message ID 1593703441-16944-5-git-send-email-Anson.Huang@nxp.com (mailing list archive)
State Superseded, archived
Headers show
Series Support building i.MX ARMv7/ARMv8 platforms clock driver as module | expand

Commit Message

Anson Huang July 2, 2020, 3:23 p.m. UTC
Add CONFIG_CLK_xxx for i.MX ARMv7 platforms, and use it as build option
instead of CONFIG_SOC_xxx, the CONFIG_CLK_xxx will be selected by default
according to CONFIG_SOC_xxx, COMPILE_TEST will be also supported.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com>
---
Changes since V4:
	- remove COMPILE_TEST support for i.MX1/2/3;
	- add COMPILE_TEST support for i.MX ARMv7 platform ONLY when the corresponding SOC
	  config is NOT set.
---
 drivers/clk/imx/Kconfig  | 71 +++++++++++++++++++++++++++++++++++++++++++++++-
 drivers/clk/imx/Makefile | 30 ++++++++++----------
 2 files changed, 85 insertions(+), 16 deletions(-)
diff mbox series

Patch

diff --git a/drivers/clk/imx/Kconfig b/drivers/clk/imx/Kconfig
index ee854ac..595c435 100644
--- a/drivers/clk/imx/Kconfig
+++ b/drivers/clk/imx/Kconfig
@@ -2,12 +2,81 @@ 
 # common clock support for NXP i.MX SoC family.
 config MXC_CLK
 	tristate "IMX clock"
-	depends on ARCH_MXC
+	depends on ARCH_MXC || COMPILE_TEST
 
 config MXC_CLK_SCU
 	bool
 	depends on IMX_SCU
 
+config CLK_IMX1
+	def_bool SOC_IMX1
+	select CLK_MXC
+
+config CLK_IMX21
+	def_bool SOC_IMX21
+	select CLK_MXC
+
+config CLK_IMX25
+	def_bool SOC_IMX25
+	select CLK_MXC
+
+config CLK_IMX27
+	def_bool SOC_IMX27
+	select CLK_MXC
+
+config CLK_IMX31
+	def_bool SOC_IMX31
+	select CLK_MXC
+
+config CLK_IMX35
+	def_bool SOC_IMX35
+	select CLK_MXC
+
+config CLK_IMX5
+	tristate "IMX5 CCM Clock Driver" if COMPILE_TEST && !SOC_IMX5
+	default SOC_IMX5
+	select MXC_CLK
+
+config CLK_IMX6Q
+	tristate "IMX6Q CCM Clock Driver" if COMPILE_TEST && !SOC_IMX6Q
+	default SOC_IMX6Q
+	select MXC_CLK
+
+config CLK_IMX6SL
+	tristate "IMX6SL CCM Clock Driver" if COMPILE_TEST && !SOC_IMX6SL
+	default SOC_IMX6SL
+	select MXC_CLK
+
+config CLK_IMX6SLL
+	tristate "IMX6SLL CCM Clock Driver" if COMPILE_TEST && !SOC_IMX6SLL
+	default SOC_IMX6SLL
+	select MXC_CLK
+
+config CLK_IMX6SX
+	tristate "IMX6SX CCM Clock Driver" if COMPILE_TEST && !SOC_IMX6SX
+	default SOC_IMX6SX
+	select MXC_CLK
+
+config CLK_IMX6UL
+	tristate "IMX6UL CCM Clock Driver" if COMPILE_TEST && !SOC_IMX6UL
+	default SOC_IMX6UL
+	select MXC_CLK
+
+config CLK_IMX7D
+	tristate "IMX7D CCM Clock Driver" if COMPILE_TEST && !SOC_IMX7D
+	default SOC_IMX7D
+	select MXC_CLK
+
+config CLK_IMX7ULP
+	tristate "IMX7ULP Clock Driver" if COMPILE_TEST && !SOC_IMX7ULP
+	default SOC_IMX7ULP
+	select MXC_CLK
+
+config CLK_VF610
+	tristate "VF610 Clock Driver" if COMPILE_TEST && !SOC_VF610
+	default SOC_VF610
+	select MXC_CLK
+
 config CLK_IMX8MM
 	bool "IMX8MM CCM Clock Driver"
 	depends on ARCH_MXC
diff --git a/drivers/clk/imx/Makefile b/drivers/clk/imx/Makefile
index 687207d..17f5d12 100644
--- a/drivers/clk/imx/Makefile
+++ b/drivers/clk/imx/Makefile
@@ -31,18 +31,18 @@  obj-$(CONFIG_CLK_IMX8MP) += clk-imx8mp.o
 obj-$(CONFIG_CLK_IMX8MQ) += clk-imx8mq.o
 obj-$(CONFIG_CLK_IMX8QXP) += clk-imx8qxp.o clk-imx8qxp-lpcg.o
 
-obj-$(CONFIG_SOC_IMX1)   += clk-imx1.o
-obj-$(CONFIG_SOC_IMX21)  += clk-imx21.o
-obj-$(CONFIG_SOC_IMX25)  += clk-imx25.o
-obj-$(CONFIG_SOC_IMX27)  += clk-imx27.o
-obj-$(CONFIG_SOC_IMX31)  += clk-imx31.o
-obj-$(CONFIG_SOC_IMX35)  += clk-imx35.o
-obj-$(CONFIG_SOC_IMX5)   += clk-imx5.o
-obj-$(CONFIG_SOC_IMX6Q)  += clk-imx6q.o
-obj-$(CONFIG_SOC_IMX6SL) += clk-imx6sl.o
-obj-$(CONFIG_SOC_IMX6SLL) += clk-imx6sll.o
-obj-$(CONFIG_SOC_IMX6SX) += clk-imx6sx.o
-obj-$(CONFIG_SOC_IMX6UL) += clk-imx6ul.o
-obj-$(CONFIG_SOC_IMX7D)  += clk-imx7d.o
-obj-$(CONFIG_SOC_IMX7ULP) += clk-imx7ulp.o
-obj-$(CONFIG_SOC_VF610)  += clk-vf610.o
+obj-$(CONFIG_CLK_IMX1)   += clk-imx1.o
+obj-$(CONFIG_CLK_IMX21)  += clk-imx21.o
+obj-$(CONFIG_CLK_IMX25)  += clk-imx25.o
+obj-$(CONFIG_CLK_IMX27)  += clk-imx27.o
+obj-$(CONFIG_CLK_IMX31)  += clk-imx31.o
+obj-$(CONFIG_CLK_IMX35)  += clk-imx35.o
+obj-$(CONFIG_CLK_IMX5)   += clk-imx5.o
+obj-$(CONFIG_CLK_IMX6Q)  += clk-imx6q.o
+obj-$(CONFIG_CLK_IMX6SL) += clk-imx6sl.o
+obj-$(CONFIG_CLK_IMX6SLL) += clk-imx6sll.o
+obj-$(CONFIG_CLK_IMX6SX) += clk-imx6sx.o
+obj-$(CONFIG_CLK_IMX6UL) += clk-imx6ul.o
+obj-$(CONFIG_CLK_IMX7D)  += clk-imx7d.o
+obj-$(CONFIG_CLK_IMX7ULP) += clk-imx7ulp.o
+obj-$(CONFIG_CLK_VF610)  += clk-vf610.o