blob: fd1714c997d229abe221b55e13b7a72420281f20 [file] [log] [blame]
Tianyi Gou30e19b82013-05-06 20:53:24 -07001/* Copyright (c) 2013, The Linux Foundation. All rights reserved.
2 *
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2 and
5 * only version 2 as published by the Free Software Foundation.
6 *
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
11 */
12
13#include <linux/kernel.h>
14#include <linux/init.h>
15#include <linux/err.h>
16#include <linux/ctype.h>
17#include <linux/io.h>
18#include <linux/spinlock.h>
19#include <linux/delay.h>
20#include <linux/clk.h>
21#include <linux/iopoll.h>
22#include <linux/regulator/consumer.h>
23
24#include <mach/rpm-regulator-smd.h>
25#include <mach/socinfo.h>
26#include <mach/rpm-smd.h>
27
28#include "clock-local2.h"
29#include "clock-pll.h"
30#include "clock-rpm.h"
31#include "clock-voter.h"
32#include "clock.h"
33
34/*
35 * TODO: Drivers need to fill in the clock names and device names for the clocks
36 * they need to control.
37 */
38static struct clk_lookup msm_clocks_8084[] = {
39 CLK_DUMMY("core_clk", BLSP1_UART_CLK, "f991f000.serial", OFF),
40 CLK_DUMMY("iface_clk", BLSP1_UART_CLK, "f991f000.serial", OFF),
41 CLK_DUMMY("core_clk", SDC1_CLK, "msm_sdcc.1", OFF),
42 CLK_DUMMY("iface_clk", SDC1_P_CLK, "msm_sdcc.1", OFF),
43 CLK_DUMMY("core_clk", SDC2_CLK, "msm_sdcc.2", OFF),
44 CLK_DUMMY("iface_clk", SDC2_P_CLK, "msm_sdcc.2", OFF),
45 CLK_DUMMY("xo", NULL, "f9200000.qcom,ssusb", OFF),
46 CLK_DUMMY("core_clk", NULL, "f9200000.qcom,ssusb", OFF),
47 CLK_DUMMY("iface_clk", NULL, "f9200000.qcom,ssusb", OFF),
48 CLK_DUMMY("sleep_clk", NULL, "f9200000.qcom,ssusb", OFF),
49 CLK_DUMMY("sleep_a_clk", NULL, "f9200000.qcom,ssusb", OFF),
50 CLK_DUMMY("utmi_clk", NULL, "f9200000.qcom,ssusb", OFF),
51 CLK_DUMMY("ref_clk", NULL, "f9200000.qcom,ssusb", OFF),
Yan Hedd3ad122013-06-05 17:45:03 -070052 CLK_DUMMY("dfab_clk", DFAB_CLK, "msm_sps", OFF),
53 CLK_DUMMY("dma_bam_pclk", DMA_BAM_P_CLK, "msm_sps", OFF),
Tianyi Gou30e19b82013-05-06 20:53:24 -070054 CLK_DUMMY("", ufs_axi_clk_src.c, "", OFF),
55 CLK_DUMMY("", usb30_master_clk_src.c, "", OFF),
56 CLK_DUMMY("", usb30_sec_master_clk_src.c, "", OFF),
57 CLK_DUMMY("", usb_hsic_ahb_clk_src.c, "", OFF),
58 CLK_DUMMY("", sata_asic0_clk_src.c, "", OFF),
59 CLK_DUMMY("", sata_pmalive_clk_src.c, "", OFF),
60 CLK_DUMMY("", sata_rx_clk_src.c, "", OFF),
61 CLK_DUMMY("", sata_rx_oob_clk_src.c, "", OFF),
62 CLK_DUMMY("", sdcc1_apps_clk_src.c, "", OFF),
63 CLK_DUMMY("", sdcc2_apps_clk_src.c, "", OFF),
64 CLK_DUMMY("", sdcc3_apps_clk_src.c, "", OFF),
65 CLK_DUMMY("", sdcc4_apps_clk_src.c, "", OFF),
66 CLK_DUMMY("", tsif_ref_clk_src.c, "", OFF),
67 CLK_DUMMY("", ufs_rx_cfg_postdiv_clk_src.c, "", OFF),
68 CLK_DUMMY("", ufs_tx_cfg_postdiv_clk_src.c, "", OFF),
69 CLK_DUMMY("", usb30_mock_utmi_clk_src.c, "", OFF),
70 CLK_DUMMY("", usb30_sec_mock_utmi_clk_src.c, "", OFF),
71 CLK_DUMMY("", usb_hs_system_clk_src.c, "", OFF),
72 CLK_DUMMY("", usb_hsic_clk_src.c, "", OFF),
73 CLK_DUMMY("", usb_hsic_io_cal_clk_src.c, "", OFF),
74 CLK_DUMMY("", usb_hsic_mock_utmi_clk_src.c, "", OFF),
75 CLK_DUMMY("", usb_hsic_system_clk_src.c, "", OFF),
76 CLK_DUMMY("", gcc_bam_dma_ahb_clk.c, "", OFF),
77 CLK_DUMMY("", gcc_bam_dma_inactivity_timers_clk.c, "", OFF),
Gilad Avidovc3bbe602013-05-16 17:17:13 -060078 CLK_DUMMY("iface_clk", gcc_blsp1_ahb_clk.c, "f9925000.i2c", OFF),
Tianyi Gou30e19b82013-05-06 20:53:24 -070079 CLK_DUMMY("", gcc_blsp1_qup1_i2c_apps_clk.c, "", OFF),
80 CLK_DUMMY("", gcc_blsp1_qup1_spi_apps_clk.c, "", OFF),
81 CLK_DUMMY("", gcc_blsp1_qup2_i2c_apps_clk.c, "", OFF),
82 CLK_DUMMY("", gcc_blsp1_qup2_spi_apps_clk.c, "", OFF),
Gilad Avidovc3bbe602013-05-16 17:17:13 -060083 CLK_DUMMY("core_clk", gcc_blsp1_qup3_i2c_apps_clk.c, "f9925000.i2c",
84 OFF),
Tianyi Gou30e19b82013-05-06 20:53:24 -070085 CLK_DUMMY("", gcc_blsp1_qup3_spi_apps_clk.c, "", OFF),
86 CLK_DUMMY("", gcc_blsp1_qup4_i2c_apps_clk.c, "", OFF),
87 CLK_DUMMY("", gcc_blsp1_qup4_spi_apps_clk.c, "", OFF),
88 CLK_DUMMY("", gcc_blsp1_qup5_i2c_apps_clk.c, "", OFF),
89 CLK_DUMMY("", gcc_blsp1_qup5_spi_apps_clk.c, "", OFF),
90 CLK_DUMMY("", gcc_blsp1_qup6_i2c_apps_clk.c, "", OFF),
91 CLK_DUMMY("", gcc_blsp1_qup6_spi_apps_clk.c, "", OFF),
92 CLK_DUMMY("", gcc_blsp1_uart1_apps_clk.c, "", OFF),
93 CLK_DUMMY("", gcc_blsp1_uart2_apps_clk.c, "", OFF),
94 CLK_DUMMY("", gcc_blsp1_uart3_apps_clk.c, "", OFF),
95 CLK_DUMMY("", gcc_blsp1_uart4_apps_clk.c, "", OFF),
96 CLK_DUMMY("", gcc_blsp1_uart5_apps_clk.c, "", OFF),
97 CLK_DUMMY("", gcc_blsp1_uart6_apps_clk.c, "", OFF),
98 CLK_DUMMY("", gcc_blsp2_ahb_clk.c, "", OFF),
99 CLK_DUMMY("", gcc_blsp2_qup1_i2c_apps_clk.c, "", OFF),
100 CLK_DUMMY("", gcc_blsp2_qup1_spi_apps_clk.c, "", OFF),
101 CLK_DUMMY("", gcc_blsp2_qup2_i2c_apps_clk.c, "", OFF),
102 CLK_DUMMY("", gcc_blsp2_qup2_spi_apps_clk.c, "", OFF),
103 CLK_DUMMY("", gcc_blsp2_qup3_i2c_apps_clk.c, "", OFF),
104 CLK_DUMMY("", gcc_blsp2_qup3_spi_apps_clk.c, "", OFF),
105 CLK_DUMMY("", gcc_blsp2_qup4_i2c_apps_clk.c, "", OFF),
106 CLK_DUMMY("", gcc_blsp2_qup4_spi_apps_clk.c, "", OFF),
107 CLK_DUMMY("", gcc_blsp2_qup5_i2c_apps_clk.c, "", OFF),
108 CLK_DUMMY("", gcc_blsp2_qup5_spi_apps_clk.c, "", OFF),
109 CLK_DUMMY("", gcc_blsp2_qup6_i2c_apps_clk.c, "", OFF),
110 CLK_DUMMY("", gcc_blsp2_qup6_spi_apps_clk.c, "", OFF),
111 CLK_DUMMY("", gcc_blsp2_uart1_apps_clk.c, "", OFF),
112 CLK_DUMMY("", gcc_blsp2_uart2_apps_clk.c, "", OFF),
113 CLK_DUMMY("", gcc_blsp2_uart3_apps_clk.c, "", OFF),
114 CLK_DUMMY("", gcc_blsp2_uart4_apps_clk.c, "", OFF),
115 CLK_DUMMY("", gcc_blsp2_uart5_apps_clk.c, "", OFF),
116 CLK_DUMMY("", gcc_blsp2_uart6_apps_clk.c, "", OFF),
117 CLK_DUMMY("", gcc_boot_rom_ahb_clk.c, "", OFF),
118 CLK_DUMMY("", gcc_ce1_ahb_clk.c, "", OFF),
119 CLK_DUMMY("", gcc_ce1_axi_clk.c, "", OFF),
120 CLK_DUMMY("", gcc_ce1_clk.c, "", OFF),
121 CLK_DUMMY("", gcc_ce2_ahb_clk.c, "", OFF),
122 CLK_DUMMY("", gcc_ce2_axi_clk.c, "", OFF),
123 CLK_DUMMY("", gcc_ce2_clk.c, "", OFF),
124 CLK_DUMMY("", gcc_ce3_ahb_clk.c, "", OFF),
125 CLK_DUMMY("", gcc_ce3_axi_clk.c, "", OFF),
126 CLK_DUMMY("", gcc_ce3_clk.c, "", OFF),
127 CLK_DUMMY("", gcc_copss_smmu_ahb_clk.c, "", OFF),
128 CLK_DUMMY("", gcc_copss_smmu_axi_clk.c, "", OFF),
129 CLK_DUMMY("", gcc_dcd_xo_clk.c, "", OFF),
130 CLK_DUMMY("", gcc_bimc_gfx_clk.c, "", OFF),
131 CLK_DUMMY("", gcc_ahb_clk.c, "", OFF),
132 CLK_DUMMY("", gcc_xo_clk.c, "", OFF),
133 CLK_DUMMY("", gcc_xo_div4_clk.c, "", OFF),
134 CLK_DUMMY("", gcc_gp1_clk.c, "", OFF),
135 CLK_DUMMY("", gcc_gp2_clk.c, "", OFF),
136 CLK_DUMMY("", gcc_gp3_clk.c, "", OFF),
137 CLK_DUMMY("", gcc_lpass_mport_axi_clk.c, "", OFF),
138 CLK_DUMMY("", gcc_lpass_q6_axi_clk.c, "", OFF),
139 CLK_DUMMY("", gcc_lpass_sway_clk.c, "", OFF),
liu zhong01cfa982013-05-14 10:57:38 -0700140 CLK_DUMMY("mem_iface_clk", gcc_mmss_bimc_gfx_clk.c,
141 "fdb00000.qcom,kgsl-3d0", OFF),
Tianyi Gou30e19b82013-05-06 20:53:24 -0700142 CLK_DUMMY("", gcc_mmss_vpu_maple_sys_noc_axi_clk.c, "", OFF),
143 CLK_DUMMY("", gcc_ocmem_noc_cfg_ahb_clk.c, "", OFF),
144 CLK_DUMMY("", gcc_msg_ram_ahb_clk.c, "", OFF),
145 CLK_DUMMY("", gcc_pdm2_clk.c, "", OFF),
146 CLK_DUMMY("", gcc_pdm_ahb_clk.c, "", OFF),
147 CLK_DUMMY("", gcc_pdm_xo4_clk.c, "", OFF),
148 CLK_DUMMY("", gcc_periph_noc_usb_hsic_ahb_clk.c, "", OFF),
149 CLK_DUMMY("", gcc_prng_ahb_clk.c, "", OFF),
150 CLK_DUMMY("", gcc_sata_asic0_clk.c, "", OFF),
151 CLK_DUMMY("", gcc_sata_axi_clk.c, "", OFF),
152 CLK_DUMMY("", gcc_sata_cfg_ahb_clk.c, "", OFF),
153 CLK_DUMMY("", gcc_sata_pmalive_clk.c, "", OFF),
154 CLK_DUMMY("", gcc_sata_rx_clk.c, "", OFF),
155 CLK_DUMMY("", gcc_sata_rx_oob_clk.c, "", OFF),
156 CLK_DUMMY("", gcc_sdcc1_ahb_clk.c, "", OFF),
157 CLK_DUMMY("", gcc_sdcc1_apps_clk.c, "", OFF),
158 CLK_DUMMY("", gcc_sdcc1_cdccal_ff_clk.c, "", OFF),
159 CLK_DUMMY("", gcc_sdcc1_cdccal_sleep_clk.c, "", OFF),
160 CLK_DUMMY("", gcc_sdcc2_ahb_clk.c, "", OFF),
161 CLK_DUMMY("", gcc_sdcc2_apps_clk.c, "", OFF),
162 CLK_DUMMY("", gcc_sdcc2_inactivity_timers_clk.c, "", OFF),
163 CLK_DUMMY("", gcc_sdcc3_ahb_clk.c, "", OFF),
164 CLK_DUMMY("", gcc_sdcc3_apps_clk.c, "", OFF),
165 CLK_DUMMY("", gcc_sdcc3_inactivity_timers_clk.c, "", OFF),
166 CLK_DUMMY("", gcc_sdcc4_ahb_clk.c, "", OFF),
167 CLK_DUMMY("", gcc_sdcc4_apps_clk.c, "", OFF),
168 CLK_DUMMY("", gcc_sdcc4_inactivity_timers_clk.c, "", OFF),
169 CLK_DUMMY("", gcc_spss_ahb_clk.c, "", OFF),
170 CLK_DUMMY("", gcc_sys_noc_ufs_axi_clk.c, "", OFF),
Hemant Kumar2ec3ea92013-07-02 18:23:42 -0700171 CLK_DUMMY("mem_iface_clk", gcc_sys_noc_usb3_axi_clk.c,
172 "f9304000.qcom,usbbam", OFF),
Tianyi Gou30e19b82013-05-06 20:53:24 -0700173 CLK_DUMMY("", gcc_sys_noc_usb3_sec_axi_clk.c, "", OFF),
174 CLK_DUMMY("", gcc_tsif_ahb_clk.c, "", OFF),
175 CLK_DUMMY("", gcc_tsif_inactivity_timers_clk.c, "", OFF),
176 CLK_DUMMY("", gcc_tsif_ref_clk.c, "", OFF),
177 CLK_DUMMY("", gcc_ufs_ahb_clk.c, "", OFF),
178 CLK_DUMMY("", gcc_ufs_axi_clk.c, "", OFF),
179 CLK_DUMMY("", gcc_ufs_rx_cfg_clk.c, "", OFF),
180 CLK_DUMMY("", gcc_ufs_rx_symbol_0_clk.c, "", OFF),
181 CLK_DUMMY("", gcc_ufs_rx_symbol_1_clk.c, "", OFF),
182 CLK_DUMMY("", gcc_ufs_tx_cfg_clk.c, "", OFF),
183 CLK_DUMMY("", gcc_ufs_tx_symbol_0_clk.c, "", OFF),
184 CLK_DUMMY("", gcc_ufs_tx_symbol_1_clk.c, "", OFF),
185 CLK_DUMMY("", gcc_usb2a_phy_sleep_clk.c, "", OFF),
186 CLK_DUMMY("", gcc_usb2b_phy_sleep_clk.c, "", OFF),
Hemant Kumar2ec3ea92013-07-02 18:23:42 -0700187 CLK_DUMMY("mem_clk", gcc_usb30_master_clk.c, "f9304000.qcom,usbbam",
188 OFF),
Tianyi Gou30e19b82013-05-06 20:53:24 -0700189 CLK_DUMMY("", gcc_usb30_mock_utmi_clk.c, "", OFF),
190 CLK_DUMMY("", gcc_usb30_sleep_clk.c, "", OFF),
191 CLK_DUMMY("", gcc_usb30_sec_master_clk.c, "", OFF),
192 CLK_DUMMY("", gcc_usb30_sec_mock_utmi_clk.c, "", OFF),
193 CLK_DUMMY("", gcc_usb30_sec_sleep_clk.c, "", OFF),
194 CLK_DUMMY("", gcc_usb_hs_ahb_clk.c, "", OFF),
195 CLK_DUMMY("", gcc_usb_hs_inactivity_timers_clk.c, "", OFF),
196 CLK_DUMMY("", gcc_usb_hs_system_clk.c, "", OFF),
197 CLK_DUMMY("", gcc_usb_hsic_ahb_clk.c, "", OFF),
198 CLK_DUMMY("", gcc_usb_hsic_clk.c, "", OFF),
199 CLK_DUMMY("", gcc_usb_hsic_io_cal_clk.c, "", OFF),
200 CLK_DUMMY("", gcc_usb_hsic_io_cal_sleep_clk.c, "", OFF),
201 CLK_DUMMY("", gcc_usb_hsic_mock_utmi_clk.c, "", OFF),
202 CLK_DUMMY("", gcc_usb_hsic_system_clk.c, "", OFF),
203
204 CLK_DUMMY("", axi_clk_src.c, "", OFF),
205 CLK_DUMMY("", mmpll0_pll_clk_src.c, "", OFF),
206 CLK_DUMMY("", mmpll1_pll_clk_src.c, "", OFF),
207 CLK_DUMMY("", mmpll2_pll_clk_src.c, "", OFF),
208 CLK_DUMMY("", mmpll3_pll_clk_src.c, "", OFF),
209 CLK_DUMMY("", mmpll4_pll_clk_src.c, "", OFF),
210 CLK_DUMMY("", csi0_clk_src.c, "", OFF),
211 CLK_DUMMY("", csi1_clk_src.c, "", OFF),
212 CLK_DUMMY("", csi2_clk_src.c, "", OFF),
213 CLK_DUMMY("", csi3_clk_src.c, "", OFF),
214 CLK_DUMMY("", vcodec0_clk_src.c, "", OFF),
215 CLK_DUMMY("", vfe0_clk_src.c, "", OFF),
216 CLK_DUMMY("", vfe1_clk_src.c, "", OFF),
217 CLK_DUMMY("", edppixel_clk_src.c, "", OFF),
218 CLK_DUMMY("", extpclk_clk_src.c, "", OFF),
219 CLK_DUMMY("", mdp_clk_src.c, "", OFF),
220 CLK_DUMMY("", pclk0_clk_src.c, "", OFF),
221 CLK_DUMMY("", pclk1_clk_src.c, "", OFF),
222 CLK_DUMMY("", ocmemnoc_clk_src.c, "", OFF),
223 CLK_DUMMY("", gfx3d_clk_src.c, "", OFF),
224 CLK_DUMMY("", vp_clk_src.c, "", OFF),
225 CLK_DUMMY("", cci_clk_src.c, "", OFF),
226 CLK_DUMMY("", gp0_clk_src.c, "", OFF),
227 CLK_DUMMY("", gp1_clk_src.c, "", OFF),
228 CLK_DUMMY("", jpeg0_clk_src.c, "", OFF),
229 CLK_DUMMY("", jpeg1_clk_src.c, "", OFF),
230 CLK_DUMMY("", jpeg2_clk_src.c, "", OFF),
231 CLK_DUMMY("", mclk0_clk_src.c, "", OFF),
232 CLK_DUMMY("", mclk1_clk_src.c, "", OFF),
233 CLK_DUMMY("", mclk2_clk_src.c, "", OFF),
234 CLK_DUMMY("", mclk3_clk_src.c, "", OFF),
235 CLK_DUMMY("", csi0phytimer_clk_src.c, "", OFF),
236 CLK_DUMMY("", csi1phytimer_clk_src.c, "", OFF),
237 CLK_DUMMY("", csi2phytimer_clk_src.c, "", OFF),
238 CLK_DUMMY("", cpp_clk_src.c, "", OFF),
239 CLK_DUMMY("", byte0_clk_src.c, "", OFF),
240 CLK_DUMMY("", byte1_clk_src.c, "", OFF),
241 CLK_DUMMY("", edpaux_clk_src.c, "", OFF),
242 CLK_DUMMY("", edplink_clk_src.c, "", OFF),
243 CLK_DUMMY("", esc0_clk_src.c, "", OFF),
244 CLK_DUMMY("", esc1_clk_src.c, "", OFF),
245 CLK_DUMMY("", hdmi_clk_src.c, "", OFF),
246 CLK_DUMMY("", vsync_clk_src.c, "", OFF),
247 CLK_DUMMY("", rbbmtimer_clk_src.c, "", OFF),
248 CLK_DUMMY("", maple_clk_src.c, "", OFF),
249 CLK_DUMMY("", vdp_clk_src.c, "", OFF),
250 CLK_DUMMY("", vpu_bus_clk_src.c, "", OFF),
251 CLK_DUMMY("", dsi0_phy_pll_out_byteclk.c, "", OFF),
252 CLK_DUMMY("", dsi0_phy_pll_out_dsiclk.c, "", OFF),
253 CLK_DUMMY("", dsi1_phy_pll_out_byteclk.c, "", OFF),
254 CLK_DUMMY("", dsi1_phy_pll_out_dsiclk.c, "", OFF),
255 CLK_DUMMY("", edpphy_cc_link_clk.c, "", OFF),
256 CLK_DUMMY("", edpphy_cc_vco_div_clk.c, "", OFF),
257 CLK_DUMMY("", hdmi_phy_pll_out.c, "", OFF),
258 CLK_DUMMY("", csiphy_bist_clk.c, "", OFF),
259 CLK_DUMMY("", avsync_ahb_clk.c, "", OFF),
260 CLK_DUMMY("", avsync_edppixel_clk.c, "", OFF),
261 CLK_DUMMY("", avsync_extpclk_clk.c, "", OFF),
262 CLK_DUMMY("", avsync_pclk0_clk.c, "", OFF),
263 CLK_DUMMY("", avsync_pclk1_clk.c, "", OFF),
264 CLK_DUMMY("", avsync_vp_clk.c, "", OFF),
265 CLK_DUMMY("", camss_ahb_clk.c, "", OFF),
266 CLK_DUMMY("", camss_cci_cci_ahb_clk.c, "", OFF),
267 CLK_DUMMY("", camss_cci_cci_clk.c, "", OFF),
268 CLK_DUMMY("", camss_csi0_ahb_clk.c, "", OFF),
269 CLK_DUMMY("", camss_csi0_clk.c, "", OFF),
270 CLK_DUMMY("", camss_csi0phy_clk.c, "", OFF),
271 CLK_DUMMY("", camss_csi0pix_clk.c, "", OFF),
272 CLK_DUMMY("", camss_csi0rdi_clk.c, "", OFF),
273 CLK_DUMMY("", camss_csi1_ahb_clk.c, "", OFF),
274 CLK_DUMMY("", camss_csi1_clk.c, "", OFF),
275 CLK_DUMMY("", camss_csi1phy_clk.c, "", OFF),
276 CLK_DUMMY("", camss_csi1pix_clk.c, "", OFF),
277 CLK_DUMMY("", camss_csi1rdi_clk.c, "", OFF),
278 CLK_DUMMY("", camss_csi2_ahb_clk.c, "", OFF),
279 CLK_DUMMY("", camss_csi2_clk.c, "", OFF),
280 CLK_DUMMY("", camss_csi2phy_clk.c, "", OFF),
281 CLK_DUMMY("", camss_csi2pix_clk.c, "", OFF),
282 CLK_DUMMY("", camss_csi2rdi_clk.c, "", OFF),
283 CLK_DUMMY("", camss_csi3_ahb_clk.c, "", OFF),
284 CLK_DUMMY("", camss_csi3_clk.c, "", OFF),
285 CLK_DUMMY("", camss_csi3phy_clk.c, "", OFF),
286 CLK_DUMMY("", camss_csi3pix_clk.c, "", OFF),
287 CLK_DUMMY("", camss_csi3rdi_clk.c, "", OFF),
288 CLK_DUMMY("", camss_csi_vfe0_clk.c, "", OFF),
289 CLK_DUMMY("", camss_csi_vfe1_clk.c, "", OFF),
290 CLK_DUMMY("", camss_gp0_clk.c, "", OFF),
291 CLK_DUMMY("", camss_gp1_clk.c, "", OFF),
292 CLK_DUMMY("", camss_ispif_ahb_clk.c, "", OFF),
293 CLK_DUMMY("", camss_jpeg_jpeg0_clk.c, "", OFF),
294 CLK_DUMMY("", camss_jpeg_jpeg1_clk.c, "", OFF),
295 CLK_DUMMY("", camss_jpeg_jpeg2_clk.c, "", OFF),
296 CLK_DUMMY("", camss_jpeg_jpeg_ahb_clk.c, "", OFF),
297 CLK_DUMMY("", camss_jpeg_jpeg_axi_clk.c, "", OFF),
298 CLK_DUMMY("", camss_mclk0_clk.c, "", OFF),
299 CLK_DUMMY("", camss_mclk1_clk.c, "", OFF),
300 CLK_DUMMY("", camss_mclk2_clk.c, "", OFF),
301 CLK_DUMMY("", camss_mclk3_clk.c, "", OFF),
302 CLK_DUMMY("", camss_micro_ahb_clk.c, "", OFF),
303 CLK_DUMMY("", camss_phy0_csi0phytimer_clk.c, "", OFF),
304 CLK_DUMMY("", camss_phy1_csi1phytimer_clk.c, "", OFF),
305 CLK_DUMMY("", camss_phy2_csi2phytimer_clk.c, "", OFF),
306 CLK_DUMMY("", camss_top_ahb_clk.c, "", OFF),
307 CLK_DUMMY("", camss_vfe_cpp_ahb_clk.c, "", OFF),
308 CLK_DUMMY("", camss_vfe_cpp_clk.c, "", OFF),
309 CLK_DUMMY("", camss_vfe_vfe0_clk.c, "", OFF),
310 CLK_DUMMY("", camss_vfe_vfe1_clk.c, "", OFF),
311 CLK_DUMMY("", camss_vfe_vfe_ahb_clk.c, "", OFF),
312 CLK_DUMMY("", camss_vfe_vfe_axi_clk.c, "", OFF),
Ujwal Patel64a99b22013-06-06 14:21:54 -0700313 CLK_DUMMY("iface_clk", mdss_ahb_clk.c, "fd900000.qcom,mdss_mdp", OFF),
314 CLK_DUMMY("bus_clk", mdss_axi_clk.c, "fd900000.qcom,mdss_mdp", OFF),
315 CLK_DUMMY("core_clk_src", mdp_clk_src.c, "fd900000.qcom,mdss_mdp", OFF),
Tianyi Gou30e19b82013-05-06 20:53:24 -0700316 CLK_DUMMY("", mdss_edpaux_clk.c, "", OFF),
317 CLK_DUMMY("", mdss_edplink_clk.c, "", OFF),
318 CLK_DUMMY("", mdss_edppixel_clk.c, "", OFF),
Ujwal Patel960b2912013-07-08 10:21:53 -0700319 CLK_DUMMY("byte_clk", mdss_byte0_clk.c, "fd922800.qcom,mdss_dsi", OFF),
320 CLK_DUMMY("byte_clk", mdss_byte1_clk.c, "fd922e00.qcom,mdss_dsi", OFF),
321 CLK_DUMMY("core_clk", mdss_esc0_clk.c, "fd922800.qcom,mdss_dsi", OFF),
322 CLK_DUMMY("core_clk", mdss_esc1_clk.c, "fd922e00.qcom,mdss_dsi", OFF),
323 CLK_DUMMY("iface_clk", mdss_ahb_clk.c, "fd922800.qcom,mdss_dsi", OFF),
324 CLK_DUMMY("iface_clk", mdss_ahb_clk.c, "fd922e00.qcom,mdss_dsi", OFF),
325 CLK_DUMMY("bus_clk", mdss_axi_clk.c, "fd922800.qcom,mdss_dsi", OFF),
326 CLK_DUMMY("bus_clk", mdss_axi_clk.c, "fd922e00.qcom,mdss_dsi", OFF),
327 CLK_DUMMY("pixel_clk", mdss_pclk0_clk.c, "fd922800.qcom,mdss_dsi", OFF),
328 CLK_DUMMY("pixel_clk", mdss_pclk1_clk.c, "fd922e00.qcom,mdss_dsi", OFF),
Tianyi Gou30e19b82013-05-06 20:53:24 -0700329 CLK_DUMMY("", mdss_extpclk_clk.c, "", OFF),
330 CLK_DUMMY("", mdss_hdmi_ahb_clk.c, "", OFF),
331 CLK_DUMMY("", mdss_hdmi_clk.c, "", OFF),
Ujwal Patel64a99b22013-06-06 14:21:54 -0700332 CLK_DUMMY("core_clk", mdss_mdp_clk.c, "fd900000.qcom,mdss_mdp", OFF),
333 CLK_DUMMY("lut_clk", mdss_mdp_lut_clk.c, "fd900000.qcom,mdss_mdp", OFF),
Ujwal Patel64a99b22013-06-06 14:21:54 -0700334 CLK_DUMMY("vsync_clk", mdss_vsync_clk.c, "fd900000.qcom,mdss_mdp", OFF),
Tianyi Gou30e19b82013-05-06 20:53:24 -0700335 CLK_DUMMY("", mmss_misc_ahb_clk.c, "", OFF),
336 CLK_DUMMY("", mmss_mmssnoc_ahb_clk.c, "", OFF),
337 CLK_DUMMY("", mmss_mmssnoc_axi_clk.c, "", OFF),
338 CLK_DUMMY("", mmss_s0_axi_clk.c, "", OFF),
Neeti Desai722ed322013-05-14 16:00:58 -0700339 CLK_DUMMY("core_clk", ocmemgx_core_clk.c, "fdd00000.qcom,ocmem", OFF),
340 CLK_DUMMY("iface_clk", ocmemcx_ocmemnoc_clk.c,
341 "fdd00000.qcom,ocmem", OFF),
Tianyi Gou30e19b82013-05-06 20:53:24 -0700342 CLK_DUMMY("", oxili_ocmemgx_clk.c, "", OFF),
liu zhong01cfa982013-05-14 10:57:38 -0700343 CLK_DUMMY("core_clk", oxili_gfx3d_clk.c,
344 "fdb00000.qcom,kgsl-3d0", OFF),
Tianyi Gou30e19b82013-05-06 20:53:24 -0700345 CLK_DUMMY("", oxili_rbbmtimer_clk.c, "", OFF),
liu zhong01cfa982013-05-14 10:57:38 -0700346 CLK_DUMMY("iface_clk", oxilicx_ahb_clk.c,
347 "fdb00000.qcom,kgsl-3d0", OFF),
Tianyi Gou30e19b82013-05-06 20:53:24 -0700348 CLK_DUMMY("", venus0_ahb_clk.c, "", OFF),
349 CLK_DUMMY("", venus0_axi_clk.c, "", OFF),
350 CLK_DUMMY("", venus0_core0_vcodec_clk.c, "", OFF),
351 CLK_DUMMY("", venus0_core1_vcodec_clk.c, "", OFF),
352 CLK_DUMMY("", venus0_ocmemnoc_clk.c, "", OFF),
353 CLK_DUMMY("", venus0_vcodec0_clk.c, "", OFF),
Tianyi Gou9b212fd2013-06-21 11:35:10 -0700354 CLK_DUMMY("iface_clk", venus0_ahb_clk.c, "fdce0000.qcom,venus", OFF),
355 CLK_DUMMY("bus_clk", venus0_axi_clk.c, "fdce0000.qcom,venus", OFF),
356 CLK_DUMMY("mem_clk", venus0_ocmemnoc_clk.c,
357 "fdce0000.qcom,venus", OFF),
358 CLK_DUMMY("core_clk", venus0_vcodec0_clk.c,
359 "fdce0000.qcom,venus", OFF),
Tianyi Gou30e19b82013-05-06 20:53:24 -0700360 CLK_DUMMY("", vpu_ahb_clk.c, "", OFF),
361 CLK_DUMMY("", vpu_axi_clk.c, "", OFF),
362 CLK_DUMMY("", vpu_bus_clk.c, "", OFF),
363 CLK_DUMMY("", vpu_cxo_clk.c, "", OFF),
364 CLK_DUMMY("", vpu_maple_clk.c, "", OFF),
365 CLK_DUMMY("", vpu_sleep_clk.c, "", OFF),
366 CLK_DUMMY("", vpu_vdp_clk.c, "", OFF),
Olav Haugan459e5692013-05-03 13:03:14 -0700367 CLK_DUMMY("iface_clk", NULL, "fda64000.qcom,iommu", OFF),
368 CLK_DUMMY("core_clk", NULL, "fda64000.qcom,iommu", OFF),
369 CLK_DUMMY("alt_core_clk", NULL, "fda64000.qcom,iommu", OFF),
370 CLK_DUMMY("iface_clk", NULL, "fda44000.qcom,iommu", OFF),
371 CLK_DUMMY("core_clk", NULL, "fda44000.qcom,iommu", OFF),
372 CLK_DUMMY("alt_core_clk", NULL, "fda44000.qcom,iommu", OFF),
373 CLK_DUMMY("iface_clk", NULL, "fd928000.qcom,iommu", OFF),
374 CLK_DUMMY("core_clk", NULL, "fd928000.qcom,iommu", oFF),
375 CLK_DUMMY("core_clk", NULL, "fdb10000.qcom,iommu", OFF),
376 CLK_DUMMY("iface_clk", NULL, "fdb10000.qcom,iommu", OFF),
377 CLK_DUMMY("iface_clk", NULL, "fdc84000.qcom,iommu", OFF),
378 CLK_DUMMY("alt_core_clk", NULL, "fdc84000.qcom,iommu", OFF),
379 CLK_DUMMY("core_clk", NULL, "fdc84000.qcom,iommu", OFF),
380 CLK_DUMMY("iface_clk", NULL, "f9bc4000.qcom,iommu", OFF),
381 CLK_DUMMY("core_clk", NULL, "f9bc4000.qcom,iommu", OFF),
382 CLK_DUMMY("iface_clk", NULL, "fdee4000.qcom,iommu", OFF),
383 CLK_DUMMY("core_clk", NULL, "fdee4000.qcom,iommu", OFF),
384 CLK_DUMMY("iface_clk", NULL, "fe054000.qcom,iommu", OFF),
385 CLK_DUMMY("core_clk", NULL, "fe054000.qcom,iommu", OFF),
386 CLK_DUMMY("iface_clk", NULL, "fe064000.qcom,iommu", OFF),
387 CLK_DUMMY("core_clk", NULL, "fe064000.qcom,iommu", OFF),
Pushkar Joshibb842582013-06-14 16:28:05 -0700388
389 /* CoreSight clocks */
390 CLK_DUMMY("core_clk", qdss_clk.c, "fc326000.tmc", OFF),
391 CLK_DUMMY("core_clk", qdss_clk.c, "fc324000.replicator", OFF),
392 CLK_DUMMY("core_clk", qdss_clk.c, "fc325000.tmc", OFF),
393 CLK_DUMMY("core_clk", qdss_clk.c, "fc323000.funnel", OFF),
394 CLK_DUMMY("core_clk", qdss_clk.c, "fc321000.funnel", OFF),
395 CLK_DUMMY("core_clk", qdss_clk.c, "fc322000.funnel", OFF),
396 CLK_DUMMY("core_clk", qdss_clk.c, "fc345000.funnel", OFF),
Pushkar Joshi1a058232013-07-11 11:40:19 -0700397 CLK_DUMMY("core_clk", qdss_clk.c, "fc355000.funnel", OFF),
Pushkar Joshibb842582013-06-14 16:28:05 -0700398 CLK_DUMMY("core_clk", qdss_clk.c, "fc36c000.funnel", OFF),
399 CLK_DUMMY("core_clk", qdss_clk.c, "fc302000.stm", OFF),
Pushkar Joshi10b59fd2013-07-19 16:25:46 -0700400 CLK_DUMMY("core_clk", qdss_clk.c, "fc34c000.etm", OFF),
401 CLK_DUMMY("core_clk", qdss_clk.c, "fc34d000.etm", OFF),
402 CLK_DUMMY("core_clk", qdss_clk.c, "fc34e000.etm", OFF),
403 CLK_DUMMY("core_clk", qdss_clk.c, "fc34f000.etm", OFF),
Pushkar Joshid6f56b82013-07-03 11:25:27 -0700404 CLK_DUMMY("core_clk", qdss_clk.c, "fc310000.cti", OFF),
405 CLK_DUMMY("core_clk", qdss_clk.c, "fc311000.cti", OFF),
406 CLK_DUMMY("core_clk", qdss_clk.c, "fc312000.cti", OFF),
407 CLK_DUMMY("core_clk", qdss_clk.c, "fc313000.cti", OFF),
408 CLK_DUMMY("core_clk", qdss_clk.c, "fc314000.cti", OFF),
409 CLK_DUMMY("core_clk", qdss_clk.c, "fc315000.cti", OFF),
410 CLK_DUMMY("core_clk", qdss_clk.c, "fc316000.cti", OFF),
411 CLK_DUMMY("core_clk", qdss_clk.c, "fc317000.cti", OFF),
412 CLK_DUMMY("core_clk", qdss_clk.c, "fc318000.cti", OFF),
413 CLK_DUMMY("core_clk", qdss_clk.c, "fc340000.cti", OFF),
414 CLK_DUMMY("core_clk", qdss_clk.c, "fc341000.cti", OFF),
415 CLK_DUMMY("core_clk", qdss_clk.c, "fc342000.cti", OFF),
416 CLK_DUMMY("core_clk", qdss_clk.c, "fc343000.cti", OFF),
417 CLK_DUMMY("core_clk", qdss_clk.c, "fc344000.cti", OFF),
Pushkar Joshibb842582013-06-14 16:28:05 -0700418
419 CLK_DUMMY("core_a_clk", qdss_a_clk.c, "fc326000.tmc", OFF),
420 CLK_DUMMY("core_a_clk", qdss_a_clk.c, "fc324000.replicator", OFF),
421 CLK_DUMMY("core_a_clk", qdss_a_clk.c, "fc325000.tmc", OFF),
422 CLK_DUMMY("core_a_clk", qdss_a_clk.c, "fc323000.funnel", OFF),
423 CLK_DUMMY("core_a_clk", qdss_a_clk.c, "fc321000.funnel", OFF),
424 CLK_DUMMY("core_a_clk", qdss_a_clk.c, "fc322000.funnel", OFF),
425 CLK_DUMMY("core_a_clk", qdss_a_clk.c, "fc345000.funnel", OFF),
Pushkar Joshi1a058232013-07-11 11:40:19 -0700426 CLK_DUMMY("core_a_clk", qdss_a_clk.c, "fc355000.funnel", OFF),
Pushkar Joshibb842582013-06-14 16:28:05 -0700427 CLK_DUMMY("core_a_clk", qdss_a_clk.c, "fc36c000.funnel", OFF),
428 CLK_DUMMY("core_a_clk", qdss_a_clk.c, "fc302000.stm", OFF),
Pushkar Joshi10b59fd2013-07-19 16:25:46 -0700429 CLK_DUMMY("core_a_clk", qdss_a_clk.c, "fc34c000.etm", OFF),
430 CLK_DUMMY("core_a_clk", qdss_a_clk.c, "fc34d000.etm", OFF),
431 CLK_DUMMY("core_a_clk", qdss_a_clk.c, "fc34e000.etm", OFF),
432 CLK_DUMMY("core_a_clk", qdss_a_clk.c, "fc34f000.etm", OFF),
Pushkar Joshid6f56b82013-07-03 11:25:27 -0700433 CLK_DUMMY("core_a_clk", qdss_a_clk.c, "fc310000.cti", OFF),
434 CLK_DUMMY("core_a_clk", qdss_a_clk.c, "fc311000.cti", OFF),
435 CLK_DUMMY("core_a_clk", qdss_a_clk.c, "fc312000.cti", OFF),
436 CLK_DUMMY("core_a_clk", qdss_a_clk.c, "fc313000.cti", OFF),
437 CLK_DUMMY("core_a_clk", qdss_a_clk.c, "fc314000.cti", OFF),
438 CLK_DUMMY("core_a_clk", qdss_a_clk.c, "fc315000.cti", OFF),
439 CLK_DUMMY("core_a_clk", qdss_a_clk.c, "fc316000.cti", OFF),
440 CLK_DUMMY("core_a_clk", qdss_a_clk.c, "fc317000.cti", OFF),
441 CLK_DUMMY("core_a_clk", qdss_a_clk.c, "fc318000.cti", OFF),
442 CLK_DUMMY("core_a_clk", qdss_a_clk.c, "fc340000.cti", OFF),
443 CLK_DUMMY("core_a_clk", qdss_a_clk.c, "fc341000.cti", OFF),
444 CLK_DUMMY("core_a_clk", qdss_a_clk.c, "fc342000.cti", OFF),
445 CLK_DUMMY("core_a_clk", qdss_a_clk.c, "fc343000.cti", OFF),
446 CLK_DUMMY("core_a_clk", qdss_a_clk.c, "fc344000.cti", OFF),
Hariprasad Dhalinarasimhac6d7c1e2013-07-05 13:57:31 -0700447
448 CLK_DUMMY("iface_clk", gcc_prng_ahb_clk.c,
449 "f9bff000.qcom,msm-rng", OFF),
Tianyi Gou30e19b82013-05-06 20:53:24 -0700450};
451
452struct clock_init_data msm8084_clock_init_data __initdata = {
453 .table = msm_clocks_8084,
454 .size = ARRAY_SIZE(msm_clocks_8084),
455};