1menu "Clock"
2
3config CLK
4	bool "Enable clock driver support"
5	depends on DM
6	help
7	  This allows drivers to be provided for clock generators, including
8	  oscillators and PLLs. Devices can use a common clock API to request
9	  a particular clock rate and check on available clocks. Clocks can
10	  feed into other clocks in a tree structure, with multiplexers to
11	  choose the source for each clock.
12
13config SPL_CLK
14	bool "Enable clock support in SPL"
15	depends on CLK && SPL && SPL_DM
16	help
17	  The clock subsystem adds a small amount of overhead to the image.
18	  If this is acceptable and you have a need to use clock drivers in
19	  SPL, enable this option. It might provide a cleaner interface to
20	  setting up clocks within SPL, and allows the same drivers to be
21	  used as U-Boot proper.
22
23config TPL_CLK
24	bool "Enable clock support in TPL"
25	depends on CLK && TPL_DM
26	help
27	  The clock subsystem adds a small amount of overhead to the image.
28	  If this is acceptable and you have a need to use clock drivers in
29	  SPL, enable this option. It might provide a cleaner interface to
30	  setting up clocks within TPL, and allows the same drivers to be
31	  used as U-Boot proper.
32
33config VPL_CLK
34	bool "Enable clock support in VPL"
35	depends on CLK && VPL_DM
36	help
37	  The clock subsystem adds a small amount of overhead to the image.
38	  If this is acceptable and you have a need to use clock drivers in
39	  SPL, enable this option. It might provide a cleaner interface to
40	  setting up clocks within TPL, and allows the same drivers to be
41	  used as U-Boot proper.
42
43config CLK_BCM6345
44	bool "Clock controller driver for BCM6345"
45	depends on CLK && ARCH_BMIPS
46	default y
47	help
48	  This clock driver adds support for enabling and disabling peripheral
49	  clocks on BCM6345 SoCs. HW has no rate changing capabilities.
50
51config CLK_BOSTON
52	def_bool y if TARGET_BOSTON
53	depends on CLK
54	select REGMAP
55	select SYSCON
56	help
57	  Enable this to support the clocks
58
59config SPL_CLK_CCF
60	bool "SPL Common Clock Framework [CCF] support "
61	depends on SPL
62	help
63	  Enable this option if you want to (re-)use the Linux kernel's Common
64	  Clock Framework [CCF] code in U-Boot's SPL.
65
66config SPL_CLK_COMPOSITE_CCF
67	bool "SPL Common Clock Framework [CCF] composite clk support "
68	depends on SPL_CLK_CCF
69	help
70	  Enable this option if you want to (re-)use the Linux kernel's Common
71	  Clock Framework [CCF] composite code in U-Boot's SPL.
72
73config CLK_CCF
74	bool "Common Clock Framework [CCF] support "
75	help
76	  Enable this option if you want to (re-)use the Linux kernel's Common
77	  Clock Framework [CCF] code in U-Boot's clock driver.
78
79config CLK_COMPOSITE_CCF
80	bool "Common Clock Framework [CCF] composite clk support "
81	depends on CLK_CCF
82	help
83	  Enable this option if you want to (re-)use the Linux kernel's Common
84	  Clock Framework [CCF] composite code in U-Boot's clock driver.
85
86config CLK_BCM6345
87	bool "Clock controller driver for BCM6345"
88	depends on CLK && ARCH_BMIPS
89	default y
90	help
91	  This clock driver adds support for enabling and disabling peripheral
92	  clocks on BCM6345 SoCs. HW has no rate changing capabilities.
93
94config CLK_BOSTON
95	def_bool y if TARGET_BOSTON
96	depends on CLK
97	select REGMAP
98	select SYSCON
99	help
100	  Enable this to support the clocks
101
102config CLK_CDCE9XX
103	bool "Enable CDCD9XX clock driver"
104	depends on CLK
105	help
106	   Enable the clock synthesizer driver for CDCE913/925/937/949
107	   series of chips.
108
109config CLK_ICS8N3QV01
110	bool "Enable ICS8N3QV01 VCXO driver"
111	depends on CLK
112	help
113	  Support for the ICS8N3QV01 Quad-Frequency VCXO (Voltage-Controlled
114	  Crystal Oscillator). The output frequency can be programmed via an
115	  I2C interface.
116
117config CLK_INTEL
118	bool "Enable clock driver for Intel x86"
119	depends on CLK && X86
120	help
121	  This provides very basic support for clocks on Intel SoCs. The driver
122	  is barely used at present but could be expanded as needs arise.
123	  Much clock configuration in U-Boot is either set up by the FSP, or
124	  set up by U-Boot itself but only statically. Thus the driver does not
125	  support changing clock rates, only querying them.
126
127config CLK_K210
128	bool "Clock support for Kendryte K210"
129	depends on CLK
130	help
131	  This enables support clock driver for Kendryte K210 platforms.
132
133config CLK_K210_SET_RATE
134	bool "Enable setting the Kendryte K210 PLL rate"
135	depends on CLK_K210
136	help
137	  Add functionality to calculate new rates for K210 PLLs. Enabling this
138	  feature adds around 1K to U-Boot's final size.
139
140config CLK_MPC83XX
141	bool "Enable MPC83xx clock driver"
142	depends on CLK
143	help
144	  Support for the clock driver of the MPC83xx series of SoCs.
145
146config CLK_OCTEON
147	bool "Clock controller driver for Marvell MIPS Octeon"
148	depends on CLK && ARCH_OCTEON
149	default y
150	help
151	  Enable this to support the clocks on Octeon MIPS platforms.
152
153config SANDBOX_CLK_CCF
154	bool "Sandbox Common Clock Framework [CCF] support "
155	depends on SANDBOX
156	select CLK_CCF
157	help
158	  Enable this option if you want to test the Linux kernel's Common
159	  Clock Framework [CCF] code in U-Boot's Sandbox clock driver.
160
161config CLK_SCMI
162	bool "Enable SCMI clock driver"
163	depends on SCMI_FIRMWARE
164	help
165	  Enable this option if you want to support clock devices exposed
166	  by a SCMI agent based on SCMI clock protocol communication
167	  with a SCMI server.
168
169config SPL_CLK_SCMI
170	bool "Enable SCMI clock driver in SPL"
171	depends on SCMI_FIRMWARE && SPL_FIRMWARE
172	help
173	  Enable this option if you want to support clock devices exposed
174	  by a SCMI agent based on SCMI clock protocol communication
175	  with a SCMI server in SPL.
176
177config CLK_HSDK
178	bool "Enable cgu clock driver for HSDK boards"
179	depends on CLK && TARGET_HSDK
180	help
181	  Enable this to support the cgu clocks on Synopsys ARC HSDK and
182	  Synopsys ARC HSDK-4xD boards
183
184config CLK_VERSACLOCK
185	tristate "Enable VersaClock 5/6 devices"
186	depends on CLK
187	depends on CLK_CCF
188	depends on OF_CONTROL
189	help
190	  This driver supports the IDT VersaClock 5 and VersaClock 6
191	  programmable clock generators.
192
193config CLK_VERSAL
194	bool "Enable clock driver support for Versal"
195	depends on (ARCH_VERSAL || ARCH_VERSAL_NET)
196	imply ZYNQMP_FIRMWARE
197	help
198	  This clock driver adds support for clock realted settings for
199	  Versal platform.
200
201config CLK_VEXPRESS_OSC
202	bool "Enable driver for Arm Versatile Express OSC clock generators"
203	depends on CLK && VEXPRESS_CONFIG
204	help
205	  This clock driver adds support for clock generators present on
206	  Arm Versatile Express platforms.
207
208config CLK_XLNX_CLKWZRD
209	bool "Xilinx Clocking Wizard"
210	depends on CLK
211	help
212	  Support for the Xilinx Clocking Wizard IP core clock generator.
213	  The wizard support for dynamically reconfiguring the clocking
214	  primitives for Multiply, Divide, Phase Shift/Offset, or Duty
215	  Cycle. Limited by U-Boot clk uclass without set_phase API and
216	  set_duty_cycle API, this driver only supports set_rate to modify
217	  the frequency.
218
219config CLK_ZYNQ
220	bool "Enable clock driver support for Zynq"
221	depends on CLK && ARCH_ZYNQ
222	default y
223	help
224	  This clock driver adds support for clock related settings for
225	  Zynq platform.
226
227config CLK_ZYNQMP
228	bool "Enable clock driver support for ZynqMP"
229	depends on ARCH_ZYNQMP
230	imply ZYNQMP_FIRMWARE
231	help
232	  This clock driver adds support for clock realted settings for
233	  ZynqMP platform.
234
235source "drivers/clk/analogbits/Kconfig"
236source "drivers/clk/at91/Kconfig"
237source "drivers/clk/exynos/Kconfig"
238source "drivers/clk/imx/Kconfig"
239source "drivers/clk/meson/Kconfig"
240source "drivers/clk/microchip/Kconfig"
241source "drivers/clk/mvebu/Kconfig"
242source "drivers/clk/owl/Kconfig"
243source "drivers/clk/renesas/Kconfig"
244source "drivers/clk/sunxi/Kconfig"
245source "drivers/clk/sifive/Kconfig"
246source "drivers/clk/starfive/Kconfig"
247source "drivers/clk/stm32/Kconfig"
248source "drivers/clk/tegra/Kconfig"
249source "drivers/clk/ti/Kconfig"
250source "drivers/clk/uniphier/Kconfig"
251
252endmenu
253