clk: clk_versaclock: Add support for versaclock driver
[platform/kernel/u-boot.git] / drivers / clk / Kconfig
1 menu "Clock"
2
3 config 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
13 config 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
23 config 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
33 config 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
41 config 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
49 config 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
56 config 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
63 config 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
69 config 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
76 config 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
86 config 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
93 config 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
101 config 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
108 config 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
116 config 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
123 config 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
131 config CLK_XLNX_CLKWZRD
132         bool "Xilinx Clocking Wizard"
133         depends on CLK
134         help
135           Support for the Xilinx Clocking Wizard IP core clock generator.
136           The wizard support for dynamically reconfiguring the clocking
137           primitives for Multiply, Divide, Phase Shift/Offset, or Duty
138           Cycle. Limited by U-Boot clk uclass without set_phase API and
139           set_duty_cycle API, this driver only supports set_rate to modify
140           the frequency.
141
142 config CLK_ZYNQMP
143         bool "Enable clock driver support for ZynqMP"
144         depends on ARCH_ZYNQMP
145         select ZYNQMP_FIRMWARE
146         help
147           This clock driver adds support for clock realted settings for
148           ZynqMP platform.
149
150 config CLK_STM32MP1
151         bool "Enable RCC clock driver for STM32MP1"
152         depends on ARCH_STM32MP && CLK
153         default y
154         help
155           Enable the STM32 clock (RCC) driver. Enable support for
156           manipulating STM32MP1's on-SoC clocks.
157
158 config CLK_CDCE9XX
159         bool "Enable CDCD9XX clock driver"
160         depends on CLK
161         help
162            Enable the clock synthesizer driver for CDCE913/925/937/949
163            series of chips.
164
165 config CLK_SCMI
166         bool "Enable SCMI clock driver"
167         depends on SCMI_FIRMWARE
168         help
169           Enable this option if you want to support clock devices exposed
170           by a SCMI agent based on SCMI clock protocol communication
171           with a SCMI server.
172
173 config CLK_K210
174         bool "Clock support for Kendryte K210"
175         depends on CLK
176         help
177           This enables support clock driver for Kendryte K210 platforms.
178
179 config CLK_K210_SET_RATE
180         bool "Enable setting the Kendryte K210 PLL rate"
181         depends on CLK_K210
182         help
183           Add functionality to calculate new rates for K210 PLLs. Enabling this
184           feature adds around 1K to U-Boot's final size.
185
186 source "drivers/clk/analogbits/Kconfig"
187 source "drivers/clk/at91/Kconfig"
188 source "drivers/clk/exynos/Kconfig"
189 source "drivers/clk/imx/Kconfig"
190 source "drivers/clk/meson/Kconfig"
191 source "drivers/clk/microchip/Kconfig"
192 source "drivers/clk/mvebu/Kconfig"
193 source "drivers/clk/owl/Kconfig"
194 source "drivers/clk/renesas/Kconfig"
195 source "drivers/clk/sunxi/Kconfig"
196 source "drivers/clk/sifive/Kconfig"
197 source "drivers/clk/tegra/Kconfig"
198 source "drivers/clk/ti/Kconfig"
199 source "drivers/clk/uniphier/Kconfig"
200
201 config ICS8N3QV01
202         bool "Enable ICS8N3QV01 VCXO driver"
203         depends on CLK
204         help
205           Support for the ICS8N3QV01 Quad-Frequency VCXO (Voltage-Controlled
206           Crystal Oscillator). The output frequency can be programmed via an
207           I2C interface.
208
209 config CLK_MPC83XX
210         bool "Enable MPC83xx clock driver"
211         depends on CLK
212         help
213           Support for the clock driver of the MPC83xx series of SoCs.
214
215 config SANDBOX_CLK_CCF
216         bool "Sandbox Common Clock Framework [CCF] support "
217         depends on SANDBOX
218         select CLK_CCF
219         help
220           Enable this option if you want to test the Linux kernel's Common
221           Clock Framework [CCF] code in U-Boot's Sandbox clock driver.
222
223 config CLK_VERSACLOCK
224         tristate "Enable VersaClock 5/6 devices"
225         depends on CLK
226         depends on CLK_CCF
227         depends on OF_CONTROL
228         help
229           This driver supports the IDT VersaClock 5 and VersaClock 6
230           programmable clock generators.
231
232 endmenu