1# SPDX-License-Identifier: GPL-2.0-only
2# Recent Exynos platforms should just select COMMON_CLK_SAMSUNG:
3config COMMON_CLK_SAMSUNG
4	bool "Samsung Exynos clock controller support" if COMPILE_TEST
5	select S3C64XX_COMMON_CLK if ARM && ARCH_S3C64XX
6	select S5PV210_COMMON_CLK if ARM && ARCH_S5PV210
7	select EXYNOS_3250_COMMON_CLK if ARM && SOC_EXYNOS3250
8	select EXYNOS_4_COMMON_CLK if ARM && ARCH_EXYNOS4
9	select EXYNOS_5250_COMMON_CLK if ARM && SOC_EXYNOS5250
10	select EXYNOS_5260_COMMON_CLK if ARM && SOC_EXYNOS5260
11	select EXYNOS_5410_COMMON_CLK if ARM && SOC_EXYNOS5410
12	select EXYNOS_5420_COMMON_CLK if ARM && SOC_EXYNOS5420
13	select EXYNOS_ARM64_COMMON_CLK if ARM64 && ARCH_EXYNOS
14	select TESLA_FSD_COMMON_CLK if ARM64 && ARCH_TESLA_FSD
15
16config S3C64XX_COMMON_CLK
17	bool "Samsung S3C64xx clock controller support" if COMPILE_TEST
18	depends on COMMON_CLK_SAMSUNG
19	help
20	  Support for the clock controller present on the Samsung S3C64xx SoCs.
21	  Choose Y here only if you build for this SoC.
22
23config S5PV210_COMMON_CLK
24	bool "Samsung S5Pv210 clock controller support" if COMPILE_TEST
25	depends on COMMON_CLK_SAMSUNG
26	help
27	  Support for the clock controller present on the Samsung S5Pv210 SoCs.
28	  Choose Y here only if you build for this SoC.
29
30config EXYNOS_3250_COMMON_CLK
31	bool "Samsung Exynos3250 clock controller support" if COMPILE_TEST
32	depends on COMMON_CLK_SAMSUNG
33	help
34	  Support for the clock controller present on the Samsung
35	  Exynos3250 SoCs. Choose Y here only if you build for this SoC.
36
37config EXYNOS_4_COMMON_CLK
38	bool "Samsung Exynos4 clock controller support" if COMPILE_TEST
39	depends on COMMON_CLK_SAMSUNG
40	help
41	  Support for the clock controller present on the Samsung
42	  Exynos4212 and Exynos4412 SoCs. Choose Y here only if you build for
43	  this SoC.
44
45config EXYNOS_5250_COMMON_CLK
46	bool "Samsung Exynos5250 clock controller support" if COMPILE_TEST
47	depends on COMMON_CLK_SAMSUNG
48	help
49	  Support for the clock controller present on the Samsung
50	  Exynos5250 SoCs. Choose Y here only if you build for this SoC.
51
52config EXYNOS_5260_COMMON_CLK
53	bool "Samsung Exynos5260 clock controller support" if COMPILE_TEST
54	depends on COMMON_CLK_SAMSUNG
55	help
56	  Support for the clock controller present on the Samsung
57	  Exynos5260 SoCs. Choose Y here only if you build for this SoC.
58
59config EXYNOS_5410_COMMON_CLK
60	bool "Samsung Exynos5410 clock controller support" if COMPILE_TEST
61	depends on COMMON_CLK_SAMSUNG
62	help
63	  Support for the clock controller present on the Samsung
64	  Exynos5410 SoCs. Choose Y here only if you build for this SoC.
65
66config EXYNOS_5420_COMMON_CLK
67	bool "Samsung Exynos5420 clock controller support" if COMPILE_TEST
68	depends on COMMON_CLK_SAMSUNG
69	help
70	  Support for the clock controller present on the Samsung
71	  Exynos5420/Exynos5422/Exynos5800 SoCs. Choose Y here only if you
72	  build for this SoC.
73
74config EXYNOS_ARM64_COMMON_CLK
75	bool "Samsung Exynos ARMv8-family clock controller support" if COMPILE_TEST
76	depends on COMMON_CLK_SAMSUNG
77
78config EXYNOS_AUDSS_CLK_CON
79	tristate "Samsung Exynos AUDSS clock controller support"
80	depends on COMMON_CLK_SAMSUNG
81	default y if ARCH_EXYNOS
82	help
83	  Support for the Audio Subsystem CLKCON clock controller present
84	  on some Samsung Exynos SoC variants. Choose M or Y here if you want
85	  to use audio devices such as I2S, PCM, etc.
86
87config EXYNOS_CLKOUT
88	tristate "Samsung Exynos clock output driver"
89	depends on COMMON_CLK_SAMSUNG
90	default y if ARCH_EXYNOS
91	help
92	  Support for the clock output (XCLKOUT) present on some of Samsung
93	  Exynos SoC variants. Usually the XCLKOUT is used to monitor the
94	  status of the certains clocks from SoC, but it could also be tied to
95	  other devices as an input clock.
96
97# For S3C24XX platforms, select following symbols:
98config S3C2410_COMMON_CLK
99	bool "Samsung S3C2410 clock controller support" if COMPILE_TEST
100	select COMMON_CLK_SAMSUNG
101	help
102	  Support for the clock controller present on the Samsung
103	  S3C2410/S3C2440/S3C2442 SoCs. Choose Y here only if you build for
104	  this SoC.
105
106config S3C2410_COMMON_DCLK
107	bool
108	select COMMON_CLK_SAMSUNG
109	select REGMAP_MMIO
110	help
111	  Support for the dclk clock controller present on the Samsung
112	  S3C2410/S3C2412/S3C2440/S3C2443 SoCs. Choose Y here only if you build
113	  for this SoC.
114
115config S3C2412_COMMON_CLK
116	bool "Samsung S3C2412 clock controller support" if COMPILE_TEST
117	select COMMON_CLK_SAMSUNG
118	help
119	  Support for the clock controller present on the Samsung S3C2412 SoCs.
120	  Choose Y here only if you build for this SoC.
121
122config S3C2443_COMMON_CLK
123	bool "Samsung S3C2443 clock controller support" if COMPILE_TEST
124	select COMMON_CLK_SAMSUNG
125	help
126	  Support for the clock controller present on the Samsung
127	  S3C2416/S3C2443 SoCs. Choose Y here only if you build for this SoC.
128
129config TESLA_FSD_COMMON_CLK
130	bool "Tesla FSD clock controller support" if COMPILE_TEST
131	depends on COMMON_CLK_SAMSUNG
132	depends on EXYNOS_ARM64_COMMON_CLK
133	help
134	  Support for the clock controller present on the Tesla FSD SoC.
135	  Choose Y here only if you build for this SoC.
136