Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sunxi
[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 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
43 config 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
51 config 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
59 config 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
66 config 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
73 config 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
79 config 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
86 config 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
94 config 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
102 config 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
109 config 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
117 config 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
127 config 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
133 config 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
140 config 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
146 config 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
153 config 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
161 config 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
169 config CLK_STM32F
170         bool "Enable clock driver support for STM32F family"
171         depends on CLK && (STM32F7 || STM32F4)
172         default y
173         help
174           This clock driver adds support for RCC clock management
175           for STM32F4 and STM32F7 SoCs.
176
177 config CLK_STM32MP1
178         bool "Enable RCC clock driver for STM32MP1"
179         depends on ARCH_STM32MP && CLK
180         default y
181         help
182           Enable the STM32 clock (RCC) driver. Enable support for
183           manipulating STM32MP1's on-SoC clocks.
184
185 config CLK_HSDK
186         bool "Enable cgu clock driver for HSDK boards"
187         depends on CLK && TARGET_HSDK
188         help
189           Enable this to support the cgu clocks on Synopsys ARC HSDK and
190           Synopsys ARC HSDK-4xD boards
191
192 config CLK_VERSACLOCK
193         tristate "Enable VersaClock 5/6 devices"
194         depends on CLK
195         depends on CLK_CCF
196         depends on OF_CONTROL
197         help
198           This driver supports the IDT VersaClock 5 and VersaClock 6
199           programmable clock generators.
200
201 config CLK_VERSAL
202         bool "Enable clock driver support for Versal"
203         depends on ARCH_VERSAL
204         select ZYNQMP_FIRMWARE
205         help
206           This clock driver adds support for clock realted settings for
207           Versal platform.
208
209 config CLK_VEXPRESS_OSC
210         bool "Enable driver for Arm Versatile Express OSC clock generators"
211         depends on CLK && VEXPRESS_CONFIG
212         help
213           This clock driver adds support for clock generators present on
214           Arm Versatile Express platforms.
215
216 config CLK_XLNX_CLKWZRD
217         bool "Xilinx Clocking Wizard"
218         depends on CLK
219         help
220           Support for the Xilinx Clocking Wizard IP core clock generator.
221           The wizard support for dynamically reconfiguring the clocking
222           primitives for Multiply, Divide, Phase Shift/Offset, or Duty
223           Cycle. Limited by U-Boot clk uclass without set_phase API and
224           set_duty_cycle API, this driver only supports set_rate to modify
225           the frequency.
226
227 config CLK_ZYNQ
228         bool "Enable clock driver support for Zynq"
229         depends on CLK && ARCH_ZYNQ
230         default y
231         help
232           This clock driver adds support for clock related settings for
233           Zynq platform.
234
235 config CLK_ZYNQMP
236         bool "Enable clock driver support for ZynqMP"
237         depends on ARCH_ZYNQMP
238         select ZYNQMP_FIRMWARE
239         help
240           This clock driver adds support for clock realted settings for
241           ZynqMP platform.
242
243 source "drivers/clk/analogbits/Kconfig"
244 source "drivers/clk/at91/Kconfig"
245 source "drivers/clk/exynos/Kconfig"
246 source "drivers/clk/imx/Kconfig"
247 source "drivers/clk/meson/Kconfig"
248 source "drivers/clk/microchip/Kconfig"
249 source "drivers/clk/mvebu/Kconfig"
250 source "drivers/clk/owl/Kconfig"
251 source "drivers/clk/renesas/Kconfig"
252 source "drivers/clk/sunxi/Kconfig"
253 source "drivers/clk/sifive/Kconfig"
254 source "drivers/clk/tegra/Kconfig"
255 source "drivers/clk/ti/Kconfig"
256 source "drivers/clk/uniphier/Kconfig"
257
258 endmenu