.. | .. |
---|
| 1 | +# SPDX-License-Identifier: GPL-2.0 |
---|
| 2 | + |
---|
| 3 | +config HAVE_CLK |
---|
| 4 | + bool |
---|
| 5 | + help |
---|
| 6 | + The <linux/clk.h> calls support software clock gating and |
---|
| 7 | + thus are a key power management tool on many systems. |
---|
1 | 8 | |
---|
2 | 9 | config CLKDEV_LOOKUP |
---|
3 | 10 | bool |
---|
.. | .. |
---|
6 | 13 | config HAVE_CLK_PREPARE |
---|
7 | 14 | bool |
---|
8 | 15 | |
---|
9 | | -config COMMON_CLK |
---|
| 16 | +config HAVE_LEGACY_CLK # TODO: Remove once all legacy users are migrated |
---|
10 | 17 | bool |
---|
| 18 | + select HAVE_CLK |
---|
| 19 | + help |
---|
| 20 | + Select this option when the clock API in <linux/clk.h> is implemented |
---|
| 21 | + by platform/architecture code. This method is deprecated. Modern |
---|
| 22 | + code should select COMMON_CLK instead and not define a custom |
---|
| 23 | + 'struct clk'. |
---|
| 24 | + |
---|
| 25 | +menuconfig COMMON_CLK |
---|
| 26 | + bool "Common Clock Framework" |
---|
| 27 | + depends on !HAVE_LEGACY_CLK |
---|
11 | 28 | select HAVE_CLK_PREPARE |
---|
12 | 29 | select CLKDEV_LOOKUP |
---|
13 | 30 | select SRCU |
---|
14 | 31 | select RATIONAL |
---|
15 | | - ---help--- |
---|
| 32 | + help |
---|
16 | 33 | The common clock framework is a single definition of struct |
---|
17 | 34 | clk, useful across many platforms, as well as an |
---|
18 | 35 | implementation of the clock API in include/linux/clk.h. |
---|
19 | 36 | Architectures utilizing the common struct clk should select |
---|
20 | 37 | this option. |
---|
21 | 38 | |
---|
22 | | -menu "Common Clock Framework" |
---|
23 | | - depends on COMMON_CLK |
---|
24 | | - |
---|
25 | | -config COMMON_CLK_DEBUGFS |
---|
26 | | - bool "Common Clock DebugFS interface" |
---|
27 | | - depends on COMMON_CLK && DEBUG_FS |
---|
28 | | - default y |
---|
29 | | - help |
---|
30 | | - Turns on the DebugFS interface for clock. |
---|
| 39 | +if COMMON_CLK |
---|
31 | 40 | |
---|
32 | 41 | config COMMON_CLK_PROCFS |
---|
33 | 42 | bool "Common Clock PROCFS interface" |
---|
34 | | - depends on COMMON_CLK && PROC_FS |
---|
| 43 | + depends on COMMON_CLK && PROC_FS && ARCH_ROCKCHIP |
---|
35 | 44 | default n |
---|
36 | 45 | help |
---|
37 | 46 | Turns on the PROCFS interface for clock. |
---|
.. | .. |
---|
39 | 48 | config COMMON_CLK_WM831X |
---|
40 | 49 | tristate "Clock driver for WM831x/2x PMICs" |
---|
41 | 50 | depends on MFD_WM831X |
---|
42 | | - ---help--- |
---|
43 | | - Supports the clocking subsystem of the WM831x/2x series of |
---|
| 51 | + help |
---|
| 52 | + Supports the clocking subsystem of the WM831x/2x series of |
---|
44 | 53 | PMICs from Wolfson Microelectronics. |
---|
45 | 54 | |
---|
46 | 55 | source "drivers/clk/versatile/Kconfig" |
---|
47 | 56 | |
---|
48 | 57 | config CLK_HSDK |
---|
49 | 58 | bool "PLL Driver for HSDK platform" |
---|
50 | | - depends on OF || COMPILE_TEST |
---|
51 | | - ---help--- |
---|
| 59 | + depends on ARC_SOC_HSDK || COMPILE_TEST |
---|
| 60 | + depends on HAS_IOMEM |
---|
| 61 | + help |
---|
52 | 62 | This driver supports the HSDK core, system, ddr, tunnel and hdmi PLLs |
---|
53 | 63 | control. |
---|
54 | 64 | |
---|
55 | 65 | config COMMON_CLK_MAX77686 |
---|
56 | 66 | tristate "Clock driver for Maxim 77620/77686/77802 MFD" |
---|
57 | 67 | depends on MFD_MAX77686 || MFD_MAX77620 || COMPILE_TEST |
---|
58 | | - ---help--- |
---|
| 68 | + help |
---|
59 | 69 | This driver supports Maxim 77620/77686/77802 crystal oscillator |
---|
60 | 70 | clock. |
---|
61 | 71 | |
---|
.. | .. |
---|
68 | 78 | config COMMON_CLK_RK808 |
---|
69 | 79 | tristate "Clock driver for RK805/RK808/RK809/RK817/RK818" |
---|
70 | 80 | depends on MFD_RK808 |
---|
71 | | - ---help--- |
---|
| 81 | + help |
---|
72 | 82 | This driver supports RK805, RK809 and RK817, RK808 and RK818 crystal oscillator clock. |
---|
73 | 83 | These multi-function devices have two fixed-rate oscillators, clocked at 32KHz each. |
---|
74 | 84 | Clkout1 is always on, Clkout2 can off by control register. |
---|
.. | .. |
---|
78 | 88 | depends on (MFD_HI655X_PMIC || COMPILE_TEST) |
---|
79 | 89 | depends on REGMAP |
---|
80 | 90 | default MFD_HI655X_PMIC |
---|
81 | | - ---help--- |
---|
| 91 | + help |
---|
82 | 92 | This driver supports the hi655x PMIC clock. This |
---|
83 | 93 | multi-function device has one fixed-rate oscillator, clocked |
---|
84 | 94 | at 32KHz. |
---|
.. | .. |
---|
86 | 96 | config COMMON_CLK_SCMI |
---|
87 | 97 | tristate "Clock driver controlled via SCMI interface" |
---|
88 | 98 | depends on ARM_SCMI_PROTOCOL || COMPILE_TEST |
---|
89 | | - ---help--- |
---|
| 99 | + help |
---|
90 | 100 | This driver provides support for clocks that are controlled |
---|
91 | 101 | by firmware that implements the SCMI interface. |
---|
92 | 102 | |
---|
.. | .. |
---|
96 | 106 | config COMMON_CLK_SCPI |
---|
97 | 107 | tristate "Clock driver controlled via SCPI interface" |
---|
98 | 108 | depends on ARM_SCPI_PROTOCOL || COMPILE_TEST |
---|
99 | | - ---help--- |
---|
| 109 | + help |
---|
100 | 110 | This driver provides support for clocks that are controlled |
---|
101 | 111 | by firmware that implements the SCPI interface. |
---|
102 | 112 | |
---|
103 | 113 | This driver uses SCPI Message Protocol to interact with the |
---|
104 | 114 | firmware providing all the clock controls. |
---|
105 | 115 | |
---|
| 116 | +config COMMON_CLK_SI5341 |
---|
| 117 | + tristate "Clock driver for SiLabs 5341 and 5340 A/B/C/D devices" |
---|
| 118 | + depends on I2C |
---|
| 119 | + select REGMAP_I2C |
---|
| 120 | + help |
---|
| 121 | + This driver supports Silicon Labs Si5341 and Si5340 programmable clock |
---|
| 122 | + generators. Not all features of these chips are currently supported |
---|
| 123 | + by the driver, in particular it only supports XTAL input. The chip can |
---|
| 124 | + be pre-programmed to support other configurations and features not yet |
---|
| 125 | + implemented in the driver. |
---|
| 126 | + |
---|
106 | 127 | config COMMON_CLK_SI5351 |
---|
107 | 128 | tristate "Clock driver for SiLabs 5351A/B/C" |
---|
108 | 129 | depends on I2C |
---|
109 | 130 | select REGMAP_I2C |
---|
110 | | - select RATIONAL |
---|
111 | | - ---help--- |
---|
| 131 | + help |
---|
112 | 132 | This driver supports Silicon Labs 5351A/B/C programmable clock |
---|
113 | 133 | generators. |
---|
114 | 134 | |
---|
.. | .. |
---|
118 | 138 | depends on OF |
---|
119 | 139 | select REGMAP_I2C |
---|
120 | 140 | help |
---|
121 | | - ---help--- |
---|
122 | 141 | This driver supports the Silicon Labs 514 programmable clock |
---|
123 | 142 | generator. |
---|
124 | 143 | |
---|
.. | .. |
---|
127 | 146 | depends on I2C |
---|
128 | 147 | select REGMAP_I2C |
---|
129 | 148 | help |
---|
130 | | - ---help--- |
---|
131 | 149 | This driver supports the Silicon Labs 544 programmable clock |
---|
132 | 150 | generator. |
---|
133 | 151 | |
---|
.. | .. |
---|
137 | 155 | depends on OF |
---|
138 | 156 | select REGMAP_I2C |
---|
139 | 157 | help |
---|
140 | | - ---help--- |
---|
141 | 158 | This driver supports Silicon Labs 570/571/598/599 programmable |
---|
142 | 159 | clock generators. |
---|
| 160 | + |
---|
| 161 | +config COMMON_CLK_BM1880 |
---|
| 162 | + bool "Clock driver for Bitmain BM1880 SoC" |
---|
| 163 | + depends on ARCH_BITMAIN || COMPILE_TEST |
---|
| 164 | + default ARCH_BITMAIN |
---|
| 165 | + help |
---|
| 166 | + This driver supports the clocks on Bitmain BM1880 SoC. |
---|
143 | 167 | |
---|
144 | 168 | config COMMON_CLK_CDCE706 |
---|
145 | 169 | tristate "Clock driver for TI CDCE706 clock synthesizer" |
---|
146 | 170 | depends on I2C |
---|
147 | 171 | select REGMAP_I2C |
---|
148 | | - select RATIONAL |
---|
149 | | - ---help--- |
---|
| 172 | + help |
---|
150 | 173 | This driver supports TI CDCE706 programmable 3-PLL clock synthesizer. |
---|
151 | 174 | |
---|
152 | 175 | config COMMON_CLK_CDCE925 |
---|
.. | .. |
---|
155 | 178 | depends on OF |
---|
156 | 179 | select REGMAP_I2C |
---|
157 | 180 | help |
---|
158 | | - ---help--- |
---|
159 | 181 | This driver supports the TI CDCE913/925/937/949 programmable clock |
---|
160 | 182 | synthesizer. Each chip has different number of PLLs and outputs. |
---|
161 | 183 | For example, the CDCE925 contains two PLLs with spread-spectrum |
---|
.. | .. |
---|
173 | 195 | help |
---|
174 | 196 | If you say yes here you get support for the CS2000 clock multiplier. |
---|
175 | 197 | |
---|
| 198 | +config COMMON_CLK_FSL_SAI |
---|
| 199 | + bool "Clock driver for BCLK of Freescale SAI cores" |
---|
| 200 | + depends on ARCH_LAYERSCAPE || COMPILE_TEST |
---|
| 201 | + help |
---|
| 202 | + This driver supports the Freescale SAI (Synchronous Audio Interface) |
---|
| 203 | + to be used as a generic clock output. Some SoCs have restrictions |
---|
| 204 | + regarding the possible pin multiplexer settings. Eg. on some SoCs |
---|
| 205 | + two SAI interfaces can only be enabled together. If just one is |
---|
| 206 | + needed, the BCLK pin of the second one can be used as general |
---|
| 207 | + purpose clock output. Ideally, it can be used to drive an audio |
---|
| 208 | + codec (sometimes known as MCLK). |
---|
| 209 | + |
---|
176 | 210 | config COMMON_CLK_GEMINI |
---|
177 | 211 | bool "Clock driver for Cortina Systems Gemini SoC" |
---|
178 | 212 | depends on ARCH_GEMINI || COMPILE_TEST |
---|
179 | 213 | select MFD_SYSCON |
---|
180 | 214 | select RESET_CONTROLLER |
---|
181 | | - ---help--- |
---|
| 215 | + help |
---|
182 | 216 | This driver supports the SoC clocks on the Cortina Systems Gemini |
---|
183 | 217 | platform, also known as SL3516 or CS3516. |
---|
184 | 218 | |
---|
.. | .. |
---|
188 | 222 | default ARCH_ASPEED |
---|
189 | 223 | select MFD_SYSCON |
---|
190 | 224 | select RESET_CONTROLLER |
---|
191 | | - ---help--- |
---|
| 225 | + help |
---|
192 | 226 | This driver supports the SoC clocks on the Aspeed BMC platforms. |
---|
193 | 227 | |
---|
194 | 228 | The G4 and G5 series, including the ast2400 and ast2500, are supported |
---|
.. | .. |
---|
197 | 231 | config COMMON_CLK_S2MPS11 |
---|
198 | 232 | tristate "Clock driver for S2MPS1X/S5M8767 MFD" |
---|
199 | 233 | depends on MFD_SEC_CORE || COMPILE_TEST |
---|
200 | | - ---help--- |
---|
| 234 | + help |
---|
201 | 235 | This driver supports S2MPS11/S2MPS14/S5M8767 crystal oscillator |
---|
202 | 236 | clock. These multi-function devices have two (S2MPS14) or three |
---|
203 | 237 | (S2MPS11, S5M8767) fixed-rate oscillators, clocked at 32KHz each. |
---|
.. | .. |
---|
205 | 239 | config CLK_TWL6040 |
---|
206 | 240 | tristate "External McPDM functional clock from twl6040" |
---|
207 | 241 | depends on TWL6040_CORE |
---|
208 | | - ---help--- |
---|
| 242 | + help |
---|
209 | 243 | Enable the external functional clock support on OMAP4+ platforms for |
---|
210 | 244 | McPDM. McPDM module is using the external bit clock on the McPDM bus |
---|
211 | 245 | as functional clock. |
---|
.. | .. |
---|
214 | 248 | tristate "AXI clkgen driver" |
---|
215 | 249 | depends on ARCH_ZYNQ || MICROBLAZE || COMPILE_TEST |
---|
216 | 250 | help |
---|
217 | | - ---help--- |
---|
218 | 251 | Support for the Analog Devices axi-clkgen pcore clock generator for Xilinx |
---|
219 | 252 | FPGAs. It is commonly used in Analog Devices' reference designs. |
---|
220 | 253 | |
---|
221 | 254 | config CLK_QORIQ |
---|
222 | 255 | bool "Clock driver for Freescale QorIQ platforms" |
---|
223 | 256 | depends on (PPC_E500MC || ARM || ARM64 || COMPILE_TEST) && OF |
---|
224 | | - ---help--- |
---|
| 257 | + help |
---|
225 | 258 | This adds the clock driver support for Freescale QorIQ platforms |
---|
226 | 259 | using common clock framework. |
---|
227 | 260 | |
---|
| 261 | +config CLK_LS1028A_PLLDIG |
---|
| 262 | + tristate "Clock driver for LS1028A Display output" |
---|
| 263 | + depends on ARCH_LAYERSCAPE || COMPILE_TEST |
---|
| 264 | + default ARCH_LAYERSCAPE |
---|
| 265 | + help |
---|
| 266 | + This driver support the Display output interfaces(LCD, DPHY) pixel clocks |
---|
| 267 | + of the QorIQ Layerscape LS1028A, as implemented TSMC CLN28HPM PLL. Not all |
---|
| 268 | + features of the PLL are currently supported by the driver. By default, |
---|
| 269 | + configured bypass mode with this PLL. |
---|
| 270 | + |
---|
228 | 271 | config COMMON_CLK_XGENE |
---|
229 | 272 | bool "Clock driver for APM XGene SoC" |
---|
230 | | - default y |
---|
| 273 | + default ARCH_XGENE |
---|
231 | 274 | depends on ARM64 || COMPILE_TEST |
---|
232 | | - ---help--- |
---|
233 | | - Sypport for the APM X-Gene SoC reference, PLL, and device clocks. |
---|
| 275 | + help |
---|
| 276 | + Support for the APM X-Gene SoC reference, PLL, and device clocks. |
---|
| 277 | + |
---|
| 278 | +config COMMON_CLK_LOCHNAGAR |
---|
| 279 | + tristate "Cirrus Logic Lochnagar clock driver" |
---|
| 280 | + depends on MFD_LOCHNAGAR |
---|
| 281 | + help |
---|
| 282 | + This driver supports the clocking features of the Cirrus Logic |
---|
| 283 | + Lochnagar audio development board. |
---|
234 | 284 | |
---|
235 | 285 | config COMMON_CLK_NXP |
---|
236 | 286 | def_bool COMMON_CLK && (ARCH_LPC18XX || ARCH_LPC32XX) |
---|
237 | 287 | select REGMAP_MMIO if ARCH_LPC32XX |
---|
238 | 288 | select MFD_SYSCON if ARCH_LPC18XX |
---|
239 | | - ---help--- |
---|
| 289 | + help |
---|
240 | 290 | Support for clock providers on NXP platforms. |
---|
241 | 291 | |
---|
242 | 292 | config COMMON_CLK_PALMAS |
---|
243 | 293 | tristate "Clock driver for TI Palmas devices" |
---|
244 | 294 | depends on MFD_PALMAS |
---|
245 | | - ---help--- |
---|
| 295 | + help |
---|
246 | 296 | This driver supports TI Palmas devices 32KHz output KG and KG_AUDIO |
---|
247 | 297 | using common clock framework. |
---|
248 | 298 | |
---|
249 | 299 | config COMMON_CLK_PWM |
---|
250 | 300 | tristate "Clock driver for PWMs used as clock outputs" |
---|
251 | 301 | depends on PWM |
---|
252 | | - ---help--- |
---|
| 302 | + help |
---|
253 | 303 | Adapter driver so that any PWM output can be (mis)used as clock signal |
---|
254 | 304 | at 50% duty cycle. |
---|
255 | 305 | |
---|
256 | 306 | config COMMON_CLK_PXA |
---|
257 | 307 | def_bool COMMON_CLK && ARCH_PXA |
---|
258 | | - ---help--- |
---|
| 308 | + help |
---|
259 | 309 | Support for the Marvell PXA SoC. |
---|
260 | 310 | |
---|
261 | 311 | config COMMON_CLK_PIC32 |
---|
.. | .. |
---|
265 | 315 | bool "Clock driver for the OXNAS SoC Family" |
---|
266 | 316 | depends on ARCH_OXNAS || COMPILE_TEST |
---|
267 | 317 | select MFD_SYSCON |
---|
268 | | - ---help--- |
---|
| 318 | + help |
---|
269 | 319 | Support for the OXNAS SoC Family clocks. |
---|
270 | 320 | |
---|
271 | 321 | config COMMON_CLK_VC5 |
---|
.. | .. |
---|
274 | 324 | depends on OF |
---|
275 | 325 | select REGMAP_I2C |
---|
276 | 326 | help |
---|
277 | | - ---help--- |
---|
278 | 327 | This driver supports the IDT VersaClock 5 and VersaClock 6 |
---|
279 | 328 | programmable clock generators. |
---|
280 | 329 | |
---|
281 | 330 | config COMMON_CLK_STM32MP157 |
---|
282 | 331 | def_bool COMMON_CLK && MACH_STM32MP157 |
---|
283 | 332 | help |
---|
284 | | - ---help--- |
---|
285 | 333 | Support for stm32mp157 SoC family clocks |
---|
286 | 334 | |
---|
287 | 335 | config COMMON_CLK_STM32F |
---|
288 | 336 | def_bool COMMON_CLK && (MACH_STM32F429 || MACH_STM32F469 || MACH_STM32F746) |
---|
289 | 337 | help |
---|
290 | | - ---help--- |
---|
291 | 338 | Support for stm32f4 and stm32f7 SoC families clocks |
---|
292 | 339 | |
---|
293 | 340 | config COMMON_CLK_STM32H7 |
---|
294 | 341 | def_bool COMMON_CLK && MACH_STM32H743 |
---|
295 | 342 | help |
---|
296 | | - ---help--- |
---|
297 | 343 | Support for stm32h7 SoC family clocks |
---|
298 | 344 | |
---|
| 345 | +config COMMON_CLK_MMP2 |
---|
| 346 | + def_bool COMMON_CLK && (MACH_MMP2_DT || MACH_MMP3_DT) |
---|
| 347 | + help |
---|
| 348 | + Support for Marvell MMP2 and MMP3 SoC clocks |
---|
| 349 | + |
---|
| 350 | +config COMMON_CLK_MMP2_AUDIO |
---|
| 351 | + tristate "Clock driver for MMP2 Audio subsystem" |
---|
| 352 | + depends on COMMON_CLK_MMP2 || COMPILE_TEST |
---|
| 353 | + help |
---|
| 354 | + This driver supports clocks for Audio subsystem on MMP2 SoC. |
---|
| 355 | + |
---|
| 356 | +config COMMON_CLK_BD718XX |
---|
| 357 | + tristate "Clock driver for 32K clk gates on ROHM PMICs" |
---|
| 358 | + depends on MFD_ROHM_BD718XX || MFD_ROHM_BD70528 || MFD_ROHM_BD71828 |
---|
| 359 | + help |
---|
| 360 | + This driver supports ROHM BD71837, ROHM BD71847, ROHM BD71828 and |
---|
| 361 | + ROHM BD70528 PMICs clock gates. |
---|
| 362 | + |
---|
| 363 | +config COMMON_CLK_FIXED_MMIO |
---|
| 364 | + bool "Clock driver for Memory Mapped Fixed values" |
---|
| 365 | + depends on COMMON_CLK && OF |
---|
| 366 | + help |
---|
| 367 | + Support for Memory Mapped IO Fixed clocks |
---|
| 368 | + |
---|
299 | 369 | source "drivers/clk/actions/Kconfig" |
---|
| 370 | +source "drivers/clk/analogbits/Kconfig" |
---|
| 371 | +source "drivers/clk/baikal-t1/Kconfig" |
---|
300 | 372 | source "drivers/clk/bcm/Kconfig" |
---|
301 | 373 | source "drivers/clk/hisilicon/Kconfig" |
---|
302 | 374 | source "drivers/clk/imgtec/Kconfig" |
---|
| 375 | +source "drivers/clk/imx/Kconfig" |
---|
| 376 | +source "drivers/clk/ingenic/Kconfig" |
---|
303 | 377 | source "drivers/clk/keystone/Kconfig" |
---|
304 | 378 | source "drivers/clk/mediatek/Kconfig" |
---|
305 | 379 | source "drivers/clk/meson/Kconfig" |
---|
.. | .. |
---|
308 | 382 | source "drivers/clk/renesas/Kconfig" |
---|
309 | 383 | source "drivers/clk/rockchip/Kconfig" |
---|
310 | 384 | source "drivers/clk/samsung/Kconfig" |
---|
| 385 | +source "drivers/clk/sifive/Kconfig" |
---|
311 | 386 | source "drivers/clk/sprd/Kconfig" |
---|
| 387 | +source "drivers/clk/sunxi/Kconfig" |
---|
312 | 388 | source "drivers/clk/sunxi-ng/Kconfig" |
---|
313 | 389 | source "drivers/clk/tegra/Kconfig" |
---|
314 | 390 | source "drivers/clk/ti/Kconfig" |
---|
315 | 391 | source "drivers/clk/uniphier/Kconfig" |
---|
| 392 | +source "drivers/clk/x86/Kconfig" |
---|
| 393 | +source "drivers/clk/zynqmp/Kconfig" |
---|
316 | 394 | |
---|
317 | | -endmenu |
---|
| 395 | +endif |
---|