xref: /openbmc/linux/drivers/clk/qcom/Kconfig (revision 4cfaa55f)
1config QCOM_GDSC
2	bool
3	select PM_GENERIC_DOMAINS if PM
4
5config QCOM_RPMCC
6	bool
7
8config COMMON_CLK_QCOM
9	tristate "Support for Qualcomm's clock controllers"
10	depends on OF
11	depends on ARCH_QCOM || COMPILE_TEST
12	select REGMAP_MMIO
13	select RESET_CONTROLLER
14
15config QCOM_CLK_RPM
16	tristate "RPM based Clock Controller"
17	depends on COMMON_CLK_QCOM && MFD_QCOM_RPM
18	select QCOM_RPMCC
19	help
20	  The RPM (Resource Power Manager) is a dedicated hardware engine for
21	  managing the shared SoC resources in order to keep the lowest power
22	  profile. It communicates with other hardware subsystems via shared
23	  memory and accepts clock requests, aggregates the requests and turns
24	  the clocks on/off or scales them on demand.
25	  Say Y if you want to support the clocks exposed by the RPM on
26	  platforms such as apq8064, msm8660, msm8960 etc.
27
28config QCOM_CLK_SMD_RPM
29	tristate "RPM over SMD based Clock Controller"
30	depends on COMMON_CLK_QCOM && QCOM_SMD_RPM
31	select QCOM_RPMCC
32	help
33	  The RPM (Resource Power Manager) is a dedicated hardware engine for
34	  managing the shared SoC resources in order to keep the lowest power
35	  profile. It communicates with other hardware subsystems via shared
36	  memory and accepts clock requests, aggregates the requests and turns
37	  the clocks on/off or scales them on demand.
38	  Say Y if you want to support the clocks exposed by the RPM on
39	  platforms such as apq8016, apq8084, msm8974 etc.
40
41config APQ_GCC_8084
42	tristate "APQ8084 Global Clock Controller"
43	select QCOM_GDSC
44	depends on COMMON_CLK_QCOM
45	help
46	  Support for the global clock controller on apq8084 devices.
47	  Say Y if you want to use peripheral devices such as UART, SPI,
48	  i2c, USB, SD/eMMC, SATA, PCIe, etc.
49
50config APQ_MMCC_8084
51	tristate "APQ8084 Multimedia Clock Controller"
52	select APQ_GCC_8084
53	select QCOM_GDSC
54	depends on COMMON_CLK_QCOM
55	help
56	  Support for the multimedia clock controller on apq8084 devices.
57	  Say Y if you want to support multimedia devices such as display,
58	  graphics, video encode/decode, camera, etc.
59
60config IPQ_GCC_4019
61	tristate "IPQ4019 Global Clock Controller"
62	depends on COMMON_CLK_QCOM
63	help
64	  Support for the global clock controller on ipq4019 devices.
65	  Say Y if you want to use peripheral devices such as UART, SPI,
66	  i2c, USB, SD/eMMC, etc.
67
68config IPQ_GCC_806X
69	tristate "IPQ806x Global Clock Controller"
70	depends on COMMON_CLK_QCOM
71	help
72	  Support for the global clock controller on ipq806x devices.
73	  Say Y if you want to use peripheral devices such as UART, SPI,
74	  i2c, USB, SD/eMMC, etc.
75
76config IPQ_LCC_806X
77	tristate "IPQ806x LPASS Clock Controller"
78	select IPQ_GCC_806X
79	depends on COMMON_CLK_QCOM
80	help
81	  Support for the LPASS clock controller on ipq806x devices.
82	  Say Y if you want to use audio devices such as i2s, pcm,
83	  S/PDIF, etc.
84
85config IPQ_GCC_8074
86	tristate "IPQ8074 Global Clock Controller"
87	depends on COMMON_CLK_QCOM
88	help
89	  Support for global clock controller on ipq8074 devices.
90	  Say Y if you want to use peripheral devices such as UART, SPI,
91	  i2c, USB, SD/eMMC, etc. Select this for the root clock
92	  of ipq8074.
93
94config MSM_GCC_8660
95	tristate "MSM8660 Global Clock Controller"
96	depends on COMMON_CLK_QCOM
97	help
98	  Support for the global clock controller on msm8660 devices.
99	  Say Y if you want to use peripheral devices such as UART, SPI,
100	  i2c, USB, SD/eMMC, etc.
101
102config MSM_GCC_8916
103	tristate "MSM8916 Global Clock Controller"
104	select QCOM_GDSC
105	depends on COMMON_CLK_QCOM
106	help
107	  Support for the global clock controller on msm8916 devices.
108	  Say Y if you want to use devices such as UART, SPI i2c, USB,
109	  SD/eMMC, display, graphics, camera etc.
110
111config MSM_GCC_8960
112	tristate "APQ8064/MSM8960 Global Clock Controller"
113	depends on COMMON_CLK_QCOM
114	help
115	  Support for the global clock controller on apq8064/msm8960 devices.
116	  Say Y if you want to use peripheral devices such as UART, SPI,
117	  i2c, USB, SD/eMMC, SATA, PCIe, etc.
118
119config MSM_LCC_8960
120	tristate "APQ8064/MSM8960 LPASS Clock Controller"
121	select MSM_GCC_8960
122	depends on COMMON_CLK_QCOM
123	help
124	  Support for the LPASS clock controller on apq8064/msm8960 devices.
125	  Say Y if you want to use audio devices such as i2s, pcm,
126	  SLIMBus, etc.
127
128config MDM_GCC_9615
129	tristate "MDM9615 Global Clock Controller"
130	depends on COMMON_CLK_QCOM
131	help
132	  Support for the global clock controller on mdm9615 devices.
133	  Say Y if you want to use peripheral devices such as UART, SPI,
134	  i2c, USB, SD/eMMC, etc.
135
136config MDM_LCC_9615
137	tristate "MDM9615 LPASS Clock Controller"
138	select MDM_GCC_9615
139	depends on COMMON_CLK_QCOM
140	help
141	  Support for the LPASS clock controller on mdm9615 devices.
142	  Say Y if you want to use audio devices such as i2s, pcm,
143	  SLIMBus, etc.
144
145config MSM_MMCC_8960
146	tristate "MSM8960 Multimedia Clock Controller"
147	select MSM_GCC_8960
148	depends on COMMON_CLK_QCOM
149	help
150	  Support for the multimedia clock controller on msm8960 devices.
151	  Say Y if you want to support multimedia devices such as display,
152	  graphics, video encode/decode, camera, etc.
153
154config MSM_GCC_8974
155	tristate "MSM8974 Global Clock Controller"
156	select QCOM_GDSC
157	depends on COMMON_CLK_QCOM
158	help
159	  Support for the global clock controller on msm8974 devices.
160	  Say Y if you want to use peripheral devices such as UART, SPI,
161	  i2c, USB, SD/eMMC, SATA, PCIe, etc.
162
163config MSM_MMCC_8974
164	tristate "MSM8974 Multimedia Clock Controller"
165	select MSM_GCC_8974
166	select QCOM_GDSC
167	depends on COMMON_CLK_QCOM
168	help
169	  Support for the multimedia clock controller on msm8974 devices.
170	  Say Y if you want to support multimedia devices such as display,
171	  graphics, video encode/decode, camera, etc.
172
173config MSM_GCC_8994
174	tristate "MSM8994 Global Clock Controller"
175	depends on COMMON_CLK_QCOM
176	help
177	  Support for the global clock controller on msm8994 devices.
178	  Say Y if you want to use peripheral devices such as UART, SPI,
179	  i2c, USB, UFS, SD/eMMC, PCIe, etc.
180
181config MSM_GCC_8996
182	tristate "MSM8996 Global Clock Controller"
183	select QCOM_GDSC
184	depends on COMMON_CLK_QCOM
185	help
186	  Support for the global clock controller on msm8996 devices.
187	  Say Y if you want to use peripheral devices such as UART, SPI,
188	  i2c, USB, UFS, SD/eMMC, PCIe, etc.
189
190config MSM_MMCC_8996
191	tristate "MSM8996 Multimedia Clock Controller"
192	select MSM_GCC_8996
193	select QCOM_GDSC
194	depends on COMMON_CLK_QCOM
195	help
196	  Support for the multimedia clock controller on msm8996 devices.
197	  Say Y if you want to support multimedia devices such as display,
198	  graphics, video encode/decode, camera, etc.
199
200config SPMI_PMIC_CLKDIV
201	tristate "SPMI PMIC clkdiv Support"
202	depends on (COMMON_CLK_QCOM && SPMI) || COMPILE_TEST
203	help
204	  This driver supports the clkdiv functionality on the Qualcomm
205	  Technologies, Inc. SPMI PMIC. It configures the frequency of
206	  clkdiv outputs of the PMIC. These clocks are typically wired
207	  through alternate functions on GPIO pins.
208