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

From: Anson Huang
Date: Thu Jul 02 2020 - 11:27:43 EST


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@xxxxxxx>
Reviewed-by: Dong Aisheng <aisheng.dong@xxxxxxx>
---
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 --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
--
2.7.4