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 CLK_BCM6345
34	bool "Clock controller driver for BCM6345"
35	depends on CLK && ARCH_BMIPS
36	default y
37	help
38	  This clock driver adds support for enabling and disabling peripheral
39	  clocks on BCM6345 SoCs. HW has no rate changing capabilities.
40
41config CLK_BOSTON
42	def_bool y if TARGET_BOSTON
43	depends on CLK
44	select REGMAP
45	select SYSCON
46	help
47	  Enable this to support the clocks
48
49config SPL_CLK_CCF
50	bool "SPL Common Clock Framework [CCF] support "
51	depends on SPL
52	help
53	  Enable this option if you want to (re-)use the Linux kernel's Common
54	  Clock Framework [CCF] code in U-Boot's SPL.
55
56config SPL_CLK_COMPOSITE_CCF
57	bool "SPL Common Clock Framework [CCF] composite clk support "
58	depends on SPL_CLK_CCF
59	help
60	  Enable this option if you want to (re-)use the Linux kernel's Common
61	  Clock Framework [CCF] composite code in U-Boot's SPL.
62
63config CLK_CCF
64	bool "Common Clock Framework [CCF] support "
65	help
66	  Enable this option if you want to (re-)use the Linux kernel's Common
67	  Clock Framework [CCF] code in U-Boot's clock driver.
68
69config CLK_COMPOSITE_CCF
70	bool "Common Clock Framework [CCF] composite clk support "
71	depends on CLK_CCF
72	help
73	  Enable this option if you want to (re-)use the Linux kernel's Common
74	  Clock Framework [CCF] composite code in U-Boot's clock driver.
75
76config CLK_INTEL
77	bool "Enable clock driver for Intel x86"
78	depends on CLK && X86
79	help
80	  This provides very basic support for clocks on Intel SoCs. The driver
81	  is barely used at present but could be expanded as needs arise.
82	  Much clock configuration in U-Boot is either set up by the FSP, or
83	  set up by U-Boot itself but only statically. Thus the driver does not
84	  support changing clock rates, only querying them.
85
86config CLK_OCTEON
87	bool "Clock controller driver for Marvell MIPS Octeon"
88	depends on CLK && ARCH_OCTEON
89	default y
90	help
91	  Enable this to support the clocks on Octeon MIPS platforms.
92
93config CLK_STM32F
94	bool "Enable clock driver support for STM32F family"
95	depends on CLK && (STM32F7 || STM32F4)
96	default y
97	help
98	  This clock driver adds support for RCC clock management
99	  for STM32F4 and STM32F7 SoCs.
100
101config CLK_HSDK
102	bool "Enable cgu clock driver for HSDK boards"
103	depends on CLK && TARGET_HSDK
104	help
105	  Enable this to support the cgu clocks on Synopsys ARC HSDK and
106	  Synopsys ARC HSDK-4xD boards
107
108config CLK_VERSAL
109	bool "Enable clock driver support for Versal"
110	depends on ARCH_VERSAL
111	select ZYNQMP_FIRMWARE
112	help
113	  This clock driver adds support for clock realted settings for
114	  Versal platform.
115
116config CLK_VEXPRESS_OSC
117	bool "Enable driver for Arm Versatile Express OSC clock generators"
118	depends on CLK && VEXPRESS_CONFIG
119	help
120	  This clock driver adds support for clock generators present on
121	  Arm Versatile Express platforms.
122
123config CLK_ZYNQ
124	bool "Enable clock driver support for Zynq"
125	depends on CLK && ARCH_ZYNQ
126	default y
127	help
128	  This clock driver adds support for clock related settings for
129	  Zynq platform.
130
131config CLK_ZYNQMP
132	bool "Enable clock driver support for ZynqMP"
133	depends on ARCH_ZYNQMP
134	select ZYNQMP_FIRMWARE
135	help
136	  This clock driver adds support for clock realted settings for
137	  ZynqMP platform.
138
139config CLK_STM32MP1
140	bool "Enable RCC clock driver for STM32MP1"
141	depends on ARCH_STM32MP && CLK
142	default y
143	help
144	  Enable the STM32 clock (RCC) driver. Enable support for
145	  manipulating STM32MP1's on-SoC clocks.
146
147config CLK_CDCE9XX
148	bool "Enable CDCD9XX clock driver"
149	depends on CLK
150	help
151	   Enable the clock synthesizer driver for CDCE913/925/937/949
152	   series of chips.
153
154config CLK_SCMI
155	bool "Enable SCMI clock driver"
156	depends on SCMI_FIRMWARE
157	help
158	  Enable this option if you want to support clock devices exposed
159	  by a SCMI agent based on SCMI clock protocol communication
160	  with a SCMI server.
161
162source "drivers/clk/analogbits/Kconfig"
163source "drivers/clk/at91/Kconfig"
164source "drivers/clk/exynos/Kconfig"
165source "drivers/clk/imx/Kconfig"
166source "drivers/clk/kendryte/Kconfig"
167source "drivers/clk/meson/Kconfig"
168source "drivers/clk/microchip/Kconfig"
169source "drivers/clk/mvebu/Kconfig"
170source "drivers/clk/owl/Kconfig"
171source "drivers/clk/renesas/Kconfig"
172source "drivers/clk/sunxi/Kconfig"
173source "drivers/clk/sifive/Kconfig"
174source "drivers/clk/tegra/Kconfig"
175source "drivers/clk/ti/Kconfig"
176source "drivers/clk/uniphier/Kconfig"
177
178config ICS8N3QV01
179	bool "Enable ICS8N3QV01 VCXO driver"
180	depends on CLK
181	help
182	  Support for the ICS8N3QV01 Quad-Frequency VCXO (Voltage-Controlled
183	  Crystal Oscillator). The output frequency can be programmed via an
184	  I2C interface.
185
186config CLK_MPC83XX
187	bool "Enable MPC83xx clock driver"
188	depends on CLK
189	help
190	  Support for the clock driver of the MPC83xx series of SoCs.
191
192config SANDBOX_CLK_CCF
193	bool "Sandbox Common Clock Framework [CCF] support "
194	depends on SANDBOX
195	select CLK_CCF
196	help
197	  Enable this option if you want to test the Linux kernel's Common
198	  Clock Framework [CCF] code in U-Boot's Sandbox clock driver.
199
200endmenu
201