1# SPDX-License-Identifier: GPL-2.0-only
2menu "Clock support for Amlogic platforms"
3	depends on ARCH_MESON || COMPILE_TEST
4
5config COMMON_CLK_MESON_REGMAP
6	tristate
7	select REGMAP
8
9config COMMON_CLK_MESON_DUALDIV
10	tristate
11	select COMMON_CLK_MESON_REGMAP
12
13config COMMON_CLK_MESON_MPLL
14	tristate
15	select COMMON_CLK_MESON_REGMAP
16
17config COMMON_CLK_MESON_PHASE
18	tristate
19	select COMMON_CLK_MESON_REGMAP
20
21config COMMON_CLK_MESON_PLL
22	tristate
23	select COMMON_CLK_MESON_REGMAP
24
25config COMMON_CLK_MESON_SCLK_DIV
26	tristate
27	select COMMON_CLK_MESON_REGMAP
28
29config COMMON_CLK_MESON_VID_PLL_DIV
30	tristate
31	select COMMON_CLK_MESON_REGMAP
32
33config COMMON_CLK_MESON_CLKC_UTILS
34	tristate
35
36config COMMON_CLK_MESON_AO_CLKC
37	tristate
38	select COMMON_CLK_MESON_REGMAP
39	select COMMON_CLK_MESON_CLKC_UTILS
40	select RESET_CONTROLLER
41
42config COMMON_CLK_MESON_EE_CLKC
43	tristate
44	select COMMON_CLK_MESON_REGMAP
45	select COMMON_CLK_MESON_CLKC_UTILS
46
47config COMMON_CLK_MESON_CPU_DYNDIV
48	tristate
49	select COMMON_CLK_MESON_REGMAP
50
51config COMMON_CLK_MESON8B
52	bool "Meson8 SoC Clock controller support"
53	depends on ARM
54	default y
55	select COMMON_CLK_MESON_REGMAP
56	select COMMON_CLK_MESON_CLKC_UTILS
57	select COMMON_CLK_MESON_MPLL
58	select COMMON_CLK_MESON_PLL
59	select MFD_SYSCON
60	select RESET_CONTROLLER
61	help
62	  Support for the clock controller on AmLogic S802 (Meson8),
63	  S805 (Meson8b) and S812 (Meson8m2) devices. Say Y if you
64	  want peripherals and CPU frequency scaling to work.
65
66config COMMON_CLK_GXBB
67	tristate "GXBB and GXL SoC clock controllers support"
68	depends on ARM64
69	default y
70	select COMMON_CLK_MESON_REGMAP
71	select COMMON_CLK_MESON_DUALDIV
72	select COMMON_CLK_MESON_VID_PLL_DIV
73	select COMMON_CLK_MESON_MPLL
74	select COMMON_CLK_MESON_PLL
75	select COMMON_CLK_MESON_AO_CLKC
76	select COMMON_CLK_MESON_EE_CLKC
77	select MFD_SYSCON
78	help
79	  Support for the clock controller on AmLogic S905 devices, aka gxbb.
80	  Say Y if you want peripherals and CPU frequency scaling to work.
81
82config COMMON_CLK_AXG
83	tristate "AXG SoC clock controllers support"
84	depends on ARM64
85	default y
86	select COMMON_CLK_MESON_REGMAP
87	select COMMON_CLK_MESON_DUALDIV
88	select COMMON_CLK_MESON_MPLL
89	select COMMON_CLK_MESON_PLL
90	select COMMON_CLK_MESON_AO_CLKC
91	select COMMON_CLK_MESON_EE_CLKC
92	select MFD_SYSCON
93	help
94	  Support for the clock controller on AmLogic A113D devices, aka axg.
95	  Say Y if you want peripherals and CPU frequency scaling to work.
96
97config COMMON_CLK_AXG_AUDIO
98	tristate "Meson AXG Audio Clock Controller Driver"
99	depends on ARM64
100	select COMMON_CLK_MESON_REGMAP
101	select COMMON_CLK_MESON_PHASE
102	select COMMON_CLK_MESON_SCLK_DIV
103	select COMMON_CLK_MESON_CLKC_UTILS
104	select REGMAP_MMIO
105	help
106	  Support for the audio clock controller on AmLogic A113D devices,
107	  aka axg, Say Y if you want audio subsystem to work.
108
109config COMMON_CLK_A1_PLL
110	tristate "Amlogic A1 SoC PLL controller support"
111	depends on ARM64
112	select COMMON_CLK_MESON_REGMAP
113	select COMMON_CLK_MESON_CLKC_UTILS
114	select COMMON_CLK_MESON_PLL
115	help
116	  Support for the PLL clock controller on Amlogic A113L based
117	  device, A1 SoC Family. Say Y if you want A1 PLL clock controller
118	  to work.
119
120config COMMON_CLK_A1_PERIPHERALS
121	tristate "Amlogic A1 SoC Peripherals clock controller support"
122	depends on ARM64
123	select COMMON_CLK_MESON_DUALDIV
124	select COMMON_CLK_MESON_REGMAP
125	select COMMON_CLK_MESON_CLKC_UTILS
126	help
127	  Support for the Peripherals clock controller on Amlogic A113L based
128	  device, A1 SoC Family. Say Y if you want A1 Peripherals clock
129	  controller to work.
130
131config COMMON_CLK_G12A
132	tristate "G12 and SM1 SoC clock controllers support"
133	depends on ARM64
134	default y
135	select COMMON_CLK_MESON_REGMAP
136	select COMMON_CLK_MESON_DUALDIV
137	select COMMON_CLK_MESON_MPLL
138	select COMMON_CLK_MESON_PLL
139	select COMMON_CLK_MESON_AO_CLKC
140	select COMMON_CLK_MESON_EE_CLKC
141	select COMMON_CLK_MESON_CPU_DYNDIV
142	select COMMON_CLK_MESON_VID_PLL_DIV
143	select MFD_SYSCON
144	help
145	  Support for the clock controller on Amlogic S905D2, S905X2 and S905Y2
146	  devices, aka g12a. Say Y if you want peripherals to work.
147
148config COMMON_CLK_S4_PLL
149	tristate "S4 SoC PLL clock controllers support"
150	depends on ARM64
151	default y
152	select COMMON_CLK_MESON_CLKC_UTILS
153	select COMMON_CLK_MESON_MPLL
154	select COMMON_CLK_MESON_PLL
155	select COMMON_CLK_MESON_REGMAP
156	help
157	  Support for the PLL clock controller on Amlogic S805X2 and S905Y4 devices,
158	  AKA S4. Say Y if you want the board to work, because PLLs are the parent of
159	  most peripherals.
160
161config COMMON_CLK_S4_PERIPHERALS
162	tristate "S4 SoC peripherals clock controllers support"
163	depends on ARM64
164	default y
165	select COMMON_CLK_MESON_CLKC_UTILS
166	select COMMON_CLK_MESON_REGMAP
167	select COMMON_CLK_MESON_DUALDIV
168	select COMMON_CLK_MESON_VID_PLL_DIV
169	help
170	  Support for the peripherals clock controller on Amlogic S805X2 and S905Y4
171	  devices, AKA S4. Say Y if you want S4 peripherals clock controller to work.
172endmenu
173