Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma
[cascardo/linux.git] / drivers / clk / Kconfig
1
2 config CLKDEV_LOOKUP
3         bool
4         select HAVE_CLK
5
6 config HAVE_CLK_PREPARE
7         bool
8
9 config HAVE_MACH_CLKDEV
10         bool
11
12 config COMMON_CLK
13         bool
14         select HAVE_CLK_PREPARE
15         select CLKDEV_LOOKUP
16         select SRCU
17         select RATIONAL
18         ---help---
19           The common clock framework is a single definition of struct
20           clk, useful across many platforms, as well as an
21           implementation of the clock API in include/linux/clk.h.
22           Architectures utilizing the common struct clk should select
23           this option.
24
25 menu "Common Clock Framework"
26         depends on COMMON_CLK
27
28 config COMMON_CLK_WM831X
29         tristate "Clock driver for WM831x/2x PMICs"
30         depends on MFD_WM831X
31         ---help---
32           Supports the clocking subsystem of the WM831x/2x series of
33           PMICs from Wolfson Microelectronics.
34
35 source "drivers/clk/versatile/Kconfig"
36
37 config COMMON_CLK_MAX_GEN
38         bool
39
40 config COMMON_CLK_MAX77686
41         tristate "Clock driver for Maxim 77686 MFD"
42         depends on MFD_MAX77686
43         select COMMON_CLK_MAX_GEN
44         ---help---
45           This driver supports Maxim 77686 crystal oscillator clock. 
46
47 config COMMON_CLK_MAX77802
48         tristate "Clock driver for Maxim 77802 PMIC"
49         depends on MFD_MAX77686
50         select COMMON_CLK_MAX_GEN
51         ---help---
52           This driver supports Maxim 77802 crystal oscillator clock.
53
54 config COMMON_CLK_RK808
55         tristate "Clock driver for RK808"
56         depends on MFD_RK808
57         ---help---
58           This driver supports RK808 crystal oscillator clock. These
59           multi-function devices have two fixed-rate oscillators,
60           clocked at 32KHz each. Clkout1 is always on, Clkout2 can off
61           by control register.
62
63 config COMMON_CLK_SCPI
64         tristate "Clock driver controlled via SCPI interface"
65         depends on ARM_SCPI_PROTOCOL || COMPILE_TEST
66           ---help---
67           This driver provides support for clocks that are controlled
68           by firmware that implements the SCPI interface.
69
70           This driver uses SCPI Message Protocol to interact with the
71           firmware providing all the clock controls.
72
73 config COMMON_CLK_SI5351
74         tristate "Clock driver for SiLabs 5351A/B/C"
75         depends on I2C
76         select REGMAP_I2C
77         select RATIONAL
78         ---help---
79           This driver supports Silicon Labs 5351A/B/C programmable clock
80           generators.
81
82 config COMMON_CLK_SI514
83         tristate "Clock driver for SiLabs 514 devices"
84         depends on I2C
85         depends on OF
86         select REGMAP_I2C
87         help
88         ---help---
89           This driver supports the Silicon Labs 514 programmable clock
90           generator.
91
92 config COMMON_CLK_SI570
93         tristate "Clock driver for SiLabs 570 and compatible devices"
94         depends on I2C
95         depends on OF
96         select REGMAP_I2C
97         help
98         ---help---
99           This driver supports Silicon Labs 570/571/598/599 programmable
100           clock generators.
101
102 config COMMON_CLK_CDCE925
103         tristate "Clock driver for TI CDCE925 devices"
104         depends on I2C
105         depends on OF
106         select REGMAP_I2C
107         help
108         ---help---
109           This driver supports the TI CDCE925 programmable clock synthesizer.
110           The chip contains two PLLs with spread-spectrum clocking support and
111           five output dividers. The driver only supports the following setup,
112           and uses a fixed setting for the output muxes.
113           Y1 is derived from the input clock
114           Y2 and Y3 derive from PLL1
115           Y4 and Y5 derive from PLL2
116           Given a target output frequency, the driver will set the PLL and
117           divider to best approximate the desired output.
118
119 config COMMON_CLK_CS2000_CP
120         tristate "Clock driver for CS2000 Fractional-N Clock Synthesizer & Clock Multiplier"
121         depends on I2C
122         help
123           If you say yes here you get support for the CS2000 clock multiplier.
124
125 config COMMON_CLK_S2MPS11
126         tristate "Clock driver for S2MPS1X/S5M8767 MFD"
127         depends on MFD_SEC_CORE
128         ---help---
129           This driver supports S2MPS11/S2MPS14/S5M8767 crystal oscillator
130           clock. These multi-function devices have two (S2MPS14) or three
131           (S2MPS11, S5M8767) fixed-rate oscillators, clocked at 32KHz each.
132
133 config CLK_TWL6040
134         tristate "External McPDM functional clock from twl6040"
135         depends on TWL6040_CORE
136         ---help---
137           Enable the external functional clock support on OMAP4+ platforms for
138           McPDM. McPDM module is using the external bit clock on the McPDM bus
139           as functional clock.
140
141 config COMMON_CLK_AXI_CLKGEN
142         tristate "AXI clkgen driver"
143         depends on ARCH_ZYNQ || MICROBLAZE || COMPILE_TEST
144         help
145         ---help---
146           Support for the Analog Devices axi-clkgen pcore clock generator for Xilinx
147           FPGAs. It is commonly used in Analog Devices' reference designs.
148
149 config CLK_QORIQ
150         bool "Clock driver for Freescale QorIQ platforms"
151         depends on (PPC_E500MC || ARM || ARM64 || COMPILE_TEST) && OF
152         ---help---
153           This adds the clock driver support for Freescale QorIQ platforms
154           using common clock framework.
155
156 config COMMON_CLK_XGENE
157         bool "Clock driver for APM XGene SoC"
158         default y
159         depends on ARM64 || COMPILE_TEST
160         ---help---
161           Sypport for the APM X-Gene SoC reference, PLL, and device clocks.
162
163 config COMMON_CLK_KEYSTONE
164         tristate "Clock drivers for Keystone based SOCs"
165         depends on (ARCH_KEYSTONE || COMPILE_TEST) && OF
166         ---help---
167           Supports clock drivers for Keystone based SOCs. These SOCs have local
168           a power sleep control module that gate the clock to the IPs and PLLs.
169
170 config COMMON_CLK_NXP
171         def_bool COMMON_CLK && (ARCH_LPC18XX || ARCH_LPC32XX)
172         select REGMAP_MMIO if ARCH_LPC32XX
173         ---help---
174           Support for clock providers on NXP platforms.
175
176 config COMMON_CLK_PALMAS
177         tristate "Clock driver for TI Palmas devices"
178         depends on MFD_PALMAS
179         ---help---
180           This driver supports TI Palmas devices 32KHz output KG and KG_AUDIO
181           using common clock framework.
182
183 config COMMON_CLK_PWM
184         tristate "Clock driver for PWMs used as clock outputs"
185         depends on PWM
186         ---help---
187           Adapter driver so that any PWM output can be (mis)used as clock signal
188           at 50% duty cycle.
189
190 config COMMON_CLK_PXA
191         def_bool COMMON_CLK && ARCH_PXA
192         ---help---
193           Sypport for the Marvell PXA SoC.
194
195 config COMMON_CLK_CDCE706
196         tristate "Clock driver for TI CDCE706 clock synthesizer"
197         depends on I2C
198         select REGMAP_I2C
199         select RATIONAL
200         ---help---
201           This driver supports TI CDCE706 programmable 3-PLL clock synthesizer.
202
203 source "drivers/clk/bcm/Kconfig"
204 source "drivers/clk/hisilicon/Kconfig"
205 source "drivers/clk/qcom/Kconfig"
206
207 endmenu
208
209 source "drivers/clk/mvebu/Kconfig"
210
211 source "drivers/clk/samsung/Kconfig"
212 source "drivers/clk/tegra/Kconfig"