blob: db57aaef769550241edb8f9b2b7680244fc3ca75 [file] [log] [blame]
Lakshmi Narayana Kalavalac0dac062016-12-01 17:20:09 -08001/*
2 * Copyright (c) 2017, The Linux Foundation. All rights reserved.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 and
6 * only version 2 as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 */
13
14&soc {
15 qcom,cam-req-mgr {
16 compatible = "qcom,cam-req-mgr";
17 status = "ok";
18 };
Jigarkumar Zala861231152017-02-28 14:05:11 -080019
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -070020 cam_csiphy0: qcom,csiphy@ac65000 {
Jigarkumar Zala861231152017-02-28 14:05:11 -080021 cell-index = <0>;
22 compatible = "qcom,csiphy-v1.0", "qcom,csiphy";
23 reg = <0x0ac65000 0x1000>;
24 reg-names = "csiphy";
Alok Pandey1837a202017-06-25 20:39:56 +053025 reg-cam-base = <0x65000>;
Jigarkumar Zala861231152017-02-28 14:05:11 -080026 interrupts = <0 477 0>;
27 interrupt-names = "csiphy";
28 gdscr-supply = <&titan_top_gdsc>;
Alok Pandey1837a202017-06-25 20:39:56 +053029 regulator-names = "gdscr";
30 csi-vdd-voltage = <1200000>;
Jigarkumar Zala5fd88ce2017-10-03 14:14:19 -070031 mipi-csi-vdd-supply = <&pm8998_l1>;
Jigarkumar Zala861231152017-02-28 14:05:11 -080032 clocks = <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
33 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
34 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
35 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
36 <&clock_camcc CAM_CC_CPHY_RX_CLK_SRC>,
37 <&clock_camcc CAM_CC_CSIPHY0_CLK>,
38 <&clock_camcc CAM_CC_CSI0PHYTIMER_CLK_SRC>,
Soundrapandian Jeyaprakashb1638752017-07-25 15:14:53 -070039 <&clock_camcc CAM_CC_CSI0PHYTIMER_CLK>;
Jigarkumar Zala861231152017-02-28 14:05:11 -080040 clock-names = "camnoc_axi_clk",
41 "soc_ahb_clk",
42 "slow_ahb_src_clk",
43 "cpas_ahb_clk",
44 "cphy_rx_clk_src",
45 "csiphy0_clk",
46 "csi0phytimer_clk_src",
Soundrapandian Jeyaprakashb1638752017-07-25 15:14:53 -070047 "csi0phytimer_clk";
Alok Pandey1837a202017-06-25 20:39:56 +053048 clock-cntl-level = "turbo";
49 clock-rates =
Soundrapandian Jeyaprakashb1638752017-07-25 15:14:53 -070050 <0 0 0 0 320000000 0 269333333 0>;
Jigarkumar Zala861231152017-02-28 14:05:11 -080051 status = "ok";
52 };
53
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -070054 cam_csiphy1: qcom,csiphy@ac66000{
Jigarkumar Zala861231152017-02-28 14:05:11 -080055 cell-index = <1>;
56 compatible = "qcom,csiphy-v1.0", "qcom,csiphy";
57 reg = <0xac66000 0x1000>;
58 reg-names = "csiphy";
Alok Pandey1837a202017-06-25 20:39:56 +053059 reg-cam-base = <0x66000>;
Jigarkumar Zala861231152017-02-28 14:05:11 -080060 interrupts = <0 478 0>;
61 interrupt-names = "csiphy";
62 gdscr-supply = <&titan_top_gdsc>;
Alok Pandey1837a202017-06-25 20:39:56 +053063 regulator-names = "gdscr";
64 csi-vdd-voltage = <1200000>;
Jigarkumar Zala5fd88ce2017-10-03 14:14:19 -070065 mipi-csi-vdd-supply = <&pm8998_l1>;
Jigarkumar Zala861231152017-02-28 14:05:11 -080066 clocks = <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
67 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
68 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
69 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
70 <&clock_camcc CAM_CC_CPHY_RX_CLK_SRC>,
71 <&clock_camcc CAM_CC_CSIPHY1_CLK>,
72 <&clock_camcc CAM_CC_CSI1PHYTIMER_CLK_SRC>,
Soundrapandian Jeyaprakashb1638752017-07-25 15:14:53 -070073 <&clock_camcc CAM_CC_CSI1PHYTIMER_CLK>;
Jigarkumar Zala861231152017-02-28 14:05:11 -080074 clock-names = "camnoc_axi_clk",
75 "soc_ahb_clk",
76 "slow_ahb_src_clk",
77 "cpas_ahb_clk",
78 "cphy_rx_clk_src",
79 "csiphy1_clk",
80 "csi1phytimer_clk_src",
Soundrapandian Jeyaprakashb1638752017-07-25 15:14:53 -070081 "csi1phytimer_clk";
Alok Pandey1837a202017-06-25 20:39:56 +053082 clock-cntl-level = "turbo";
83 clock-rates =
Soundrapandian Jeyaprakashb1638752017-07-25 15:14:53 -070084 <0 0 0 0 320000000 0 269333333 0>;
Jigarkumar Zala861231152017-02-28 14:05:11 -080085
86 status = "ok";
87 };
88
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -070089 cam_csiphy2: qcom,csiphy@ac67000 {
Jigarkumar Zala861231152017-02-28 14:05:11 -080090 cell-index = <2>;
91 compatible = "qcom,csiphy-v1.0", "qcom,csiphy";
92 reg = <0xac67000 0x1000>;
93 reg-names = "csiphy";
Alok Pandey1837a202017-06-25 20:39:56 +053094 reg-cam-base = <0x67000>;
Jigarkumar Zala861231152017-02-28 14:05:11 -080095 interrupts = <0 479 0>;
96 interrupt-names = "csiphy";
97 gdscr-supply = <&titan_top_gdsc>;
Alok Pandey1837a202017-06-25 20:39:56 +053098 regulator-names = "gdscr";
99 csi-vdd-voltage = <1200000>;
Jigarkumar Zala5fd88ce2017-10-03 14:14:19 -0700100 mipi-csi-vdd-supply = <&pm8998_l1>;
Jigarkumar Zala861231152017-02-28 14:05:11 -0800101 clocks = <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
102 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
103 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
104 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
105 <&clock_camcc CAM_CC_CPHY_RX_CLK_SRC>,
106 <&clock_camcc CAM_CC_CSIPHY2_CLK>,
107 <&clock_camcc CAM_CC_CSI2PHYTIMER_CLK_SRC>,
Soundrapandian Jeyaprakashb1638752017-07-25 15:14:53 -0700108 <&clock_camcc CAM_CC_CSI2PHYTIMER_CLK>;
Jigarkumar Zala861231152017-02-28 14:05:11 -0800109 clock-names = "camnoc_axi_clk",
110 "soc_ahb_clk",
111 "slow_ahb_src_clk",
112 "cpas_ahb_clk",
113 "cphy_rx_clk_src",
114 "csiphy2_clk",
115 "csi2phytimer_clk_src",
Soundrapandian Jeyaprakashb1638752017-07-25 15:14:53 -0700116 "csi2phytimer_clk";
Alok Pandey1837a202017-06-25 20:39:56 +0530117 clock-cntl-level = "turbo";
118 clock-rates =
Soundrapandian Jeyaprakashb1638752017-07-25 15:14:53 -0700119 <0 0 0 0 320000000 0 269333333 0>;
Jigarkumar Zala861231152017-02-28 14:05:11 -0800120 status = "ok";
121 };
122
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700123 cam_cci: qcom,cci@ac4a000 {
Jigarkumar Zala861231152017-02-28 14:05:11 -0800124 cell-index = <0>;
125 compatible = "qcom,cci";
Jigarkumar Zala861231152017-02-28 14:05:11 -0800126 #address-cells = <1>;
127 #size-cells = <0>;
Alok Pandey1837a202017-06-25 20:39:56 +0530128 reg = <0xac4a000 0x4000>;
Jigarkumar Zala861231152017-02-28 14:05:11 -0800129 reg-names = "cci";
Alok Pandey1837a202017-06-25 20:39:56 +0530130 reg-cam-base = <0x4a000>;
Jigarkumar Zala861231152017-02-28 14:05:11 -0800131 interrupt-names = "cci";
Alok Pandey1837a202017-06-25 20:39:56 +0530132 interrupts = <0 460 0>;
Jigarkumar Zala861231152017-02-28 14:05:11 -0800133 status = "ok";
134 gdscr-supply = <&titan_top_gdsc>;
Alok Pandey1837a202017-06-25 20:39:56 +0530135 regulator-names = "gdscr";
Jigarkumar Zala861231152017-02-28 14:05:11 -0800136 clocks = <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
137 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
138 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
139 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
140 <&clock_camcc CAM_CC_CCI_CLK>,
141 <&clock_camcc CAM_CC_CCI_CLK_SRC>;
142 clock-names = "camnoc_axi_clk",
143 "soc_ahb_clk",
144 "slow_ahb_src_clk",
145 "cpas_ahb_clk",
146 "cci_clk",
147 "cci_clk_src";
Alok Pandey1837a202017-06-25 20:39:56 +0530148 src-clock-name = "cci_clk_src";
149 clock-cntl-level = "turbo";
150 clock-rates = <0 0 0 0 0 37500000>;
151 pinctrl-names = "cam_default", "cam_suspend";
Jigarkumar Zala861231152017-02-28 14:05:11 -0800152 pinctrl-0 = <&cci0_active &cci1_active>;
153 pinctrl-1 = <&cci0_suspend &cci1_suspend>;
154 gpios = <&tlmm 17 0>,
155 <&tlmm 18 0>,
156 <&tlmm 19 0>,
157 <&tlmm 20 0>;
Alok Pandey1837a202017-06-25 20:39:56 +0530158 gpio-req-tbl-num = <0 1 2 3>;
159 gpio-req-tbl-flags = <1 1 1 1>;
160 gpio-req-tbl-label = "CCI_I2C_DATA0",
Jigarkumar Zala861231152017-02-28 14:05:11 -0800161 "CCI_I2C_CLK0",
162 "CCI_I2C_DATA1",
163 "CCI_I2C_CLK1";
164
165 i2c_freq_100Khz: qcom,i2c_standard_mode {
Jigarkumar Zalaebfabb12017-08-15 16:32:19 -0700166 hw-thigh = <201>;
167 hw-tlow = <174>;
168 hw-tsu-sto = <204>;
169 hw-tsu-sta = <231>;
170 hw-thd-dat = <22>;
171 hw-thd-sta = <162>;
172 hw-tbuf = <227>;
173 hw-scl-stretch-en = <0>;
174 hw-trdhld = <6>;
175 hw-tsp = <3>;
176 cci-clk-src = <37500000>;
Jigarkumar Zala861231152017-02-28 14:05:11 -0800177 status = "ok";
178 };
179
180 i2c_freq_400Khz: qcom,i2c_fast_mode {
Jigarkumar Zalaebfabb12017-08-15 16:32:19 -0700181 hw-thigh = <38>;
182 hw-tlow = <56>;
183 hw-tsu-sto = <40>;
184 hw-tsu-sta = <40>;
185 hw-thd-dat = <22>;
186 hw-thd-sta = <35>;
187 hw-tbuf = <62>;
188 hw-scl-stretch-en = <0>;
189 hw-trdhld = <6>;
190 hw-tsp = <3>;
191 cci-clk-src = <37500000>;
Jigarkumar Zala861231152017-02-28 14:05:11 -0800192 status = "ok";
193 };
194
195 i2c_freq_custom: qcom,i2c_custom_mode {
Jigarkumar Zalaebfabb12017-08-15 16:32:19 -0700196 hw-thigh = <38>;
197 hw-tlow = <56>;
198 hw-tsu-sto = <40>;
199 hw-tsu-sta = <40>;
200 hw-thd-dat = <22>;
201 hw-thd-sta = <35>;
202 hw-tbuf = <62>;
203 hw-scl-stretch-en = <1>;
204 hw-trdhld = <6>;
205 hw-tsp = <3>;
206 cci-clk-src = <37500000>;
Jigarkumar Zala861231152017-02-28 14:05:11 -0800207 status = "ok";
208 };
209
210 i2c_freq_1Mhz: qcom,i2c_fast_plus_mode {
Jigarkumar Zalaebfabb12017-08-15 16:32:19 -0700211 hw-thigh = <16>;
212 hw-tlow = <22>;
213 hw-tsu-sto = <17>;
214 hw-tsu-sta = <18>;
215 hw-thd-dat = <16>;
216 hw-thd-sta = <15>;
217 hw-tbuf = <24>;
218 hw-scl-stretch-en = <0>;
219 hw-trdhld = <3>;
220 hw-tsp = <3>;
221 cci-clk-src = <37500000>;
Jigarkumar Zala861231152017-02-28 14:05:11 -0800222 status = "ok";
223 };
224 };
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700225
226 qcom,cam_smmu {
227 compatible = "qcom,msm-cam-smmu";
228 status = "ok";
229
230 msm_cam_smmu_ife {
231 compatible = "qcom,msm-cam-smmu-cb";
Patrick Daly8cb8d962017-05-08 14:46:09 -0700232 iommus = <&apps_smmu 0x808 0x0>,
233 <&apps_smmu 0x810 0x8>,
234 <&apps_smmu 0xc08 0x0>,
235 <&apps_smmu 0xc10 0x8>;
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700236 label = "ife";
237 ife_iova_mem_map: iova-mem-map {
238 /* IO region is approximately 3.4 GB */
239 iova-mem-region-io {
240 iova-region-name = "io";
241 iova-region-start = <0x7400000>;
242 iova-region-len = <0xd8c00000>;
243 iova-region-id = <0x3>;
244 status = "ok";
245 };
246 };
247 };
248
Rajakumar Govindaram0e33b712017-07-19 15:31:04 -0700249 msm_cam_smmu_jpeg {
250 compatible = "qcom,msm-cam-smmu-cb";
251 iommus = <&apps_smmu 0x1060 0x8>,
252 <&apps_smmu 0x1068 0x8>;
253 label = "jpeg";
254 jpeg_iova_mem_map: iova-mem-map {
255 /* IO region is approximately 3.4 GB */
256 iova-mem-region-io {
257 iova-region-name = "io";
258 iova-region-start = <0x7400000>;
259 iova-region-len = <0xd8c00000>;
260 iova-region-id = <0x3>;
261 status = "ok";
262 };
263 };
264 };
265
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700266 msm_cam_icp_fw {
267 compatible = "qcom,msm-cam-smmu-fw-dev";
268 label="icp";
269 memory-region = <&pil_camera_mem>;
270 };
271
272 msm_cam_smmu_icp {
273 compatible = "qcom,msm-cam-smmu-cb";
Patrick Daly8cb8d962017-05-08 14:46:09 -0700274 iommus = <&apps_smmu 0x1078 0x2>,
275 <&apps_smmu 0x1020 0x8>,
276 <&apps_smmu 0x1040 0x8>,
277 <&apps_smmu 0x1030 0x0>,
278 <&apps_smmu 0x1050 0x0>;
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700279 label = "icp";
280 icp_iova_mem_map: iova-mem-map {
281 iova-mem-region-firmware {
282 /* Firmware region is 5MB */
283 iova-region-name = "firmware";
284 iova-region-start = <0x0>;
285 iova-region-len = <0x500000>;
286 iova-region-id = <0x0>;
287 status = "ok";
288 };
289
290 iova-mem-region-shared {
291 /* Shared region is 100MB long */
292 iova-region-name = "shared";
293 iova-region-start = <0x7400000>;
294 iova-region-len = <0x6400000>;
295 iova-region-id = <0x1>;
296 status = "ok";
297 };
298
299 iova-mem-region-io {
300 /* IO region is approximately 3.3 GB */
301 iova-region-name = "io";
302 iova-region-start = <0xd800000>;
303 iova-region-len = <0xd2800000>;
304 iova-region-id = <0x3>;
305 status = "ok";
306 };
307 };
308 };
309
310 msm_cam_smmu_cpas_cdm {
311 compatible = "qcom,msm-cam-smmu-cb";
Patrick Daly8cb8d962017-05-08 14:46:09 -0700312 iommus = <&apps_smmu 0x1000 0x0>;
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700313 label = "cpas-cdm0";
314 cpas_cdm_iova_mem_map: iova-mem-map {
315 iova-mem-region-io {
316 /* IO region is approximately 3.4 GB */
317 iova-region-name = "io";
318 iova-region-start = <0x7400000>;
319 iova-region-len = <0xd8c00000>;
320 iova-region-id = <0x3>;
321 status = "ok";
322 };
323 };
324 };
325
326 msm_cam_smmu_secure {
327 compatible = "qcom,msm-cam-smmu-cb";
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700328 label = "cam-secure";
Lakshmi Narayana Kalavala2c714282017-09-08 12:27:36 -0700329 qcom,secure-cb;
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700330 };
Pavan Kumar Chilamkurthib2cd6dd2017-07-30 02:25:23 -0700331
332 msm_cam_smmu_fd {
333 compatible = "qcom,msm-cam-smmu-cb";
334 iommus = <&apps_smmu 0x1070 0x0>;
335 label = "fd";
336 fd_iova_mem_map: iova-mem-map {
337 iova-mem-region-io {
338 /* IO region is approximately 3.4 GB */
339 iova-region-name = "io";
340 iova-region-start = <0x7400000>;
341 iova-region-len = <0xd8c00000>;
342 iova-region-id = <0x3>;
343 status = "ok";
344 };
345 };
346 };
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700347 };
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700348
349 qcom,cam-cpas@ac40000 {
350 cell-index = <0>;
351 compatible = "qcom,cam-cpas";
352 label = "cpas";
353 arch-compat = "cpas_top";
354 status = "ok";
355 reg-names = "cam_cpas_top", "cam_camnoc";
356 reg = <0xac40000 0x1000>,
357 <0xac42000 0x5000>;
358 reg-cam-base = <0x40000 0x42000>;
359 interrupt-names = "cpas_camnoc";
360 interrupts = <0 459 0>;
Mark Woh8a2dc2d2017-10-10 19:52:39 -0700361 qcom,cpas-hw-ver = <0x170100>; /* Titan v170 v1.0.0 */
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700362 regulator-names = "camss-vdd";
363 camss-vdd-supply = <&titan_top_gdsc>;
364 clock-names = "gcc_ahb_clk",
365 "gcc_axi_clk",
366 "soc_ahb_clk",
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700367 "slow_ahb_clk_src",
Lakshmi Narayana Kalavala238c2b22017-06-08 17:43:57 -0700368 "cpas_ahb_clk",
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700369 "camnoc_axi_clk";
370 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
371 <&clock_gcc GCC_CAMERA_AXI_CLK>,
372 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700373 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
Lakshmi Narayana Kalavala238c2b22017-06-08 17:43:57 -0700374 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700375 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>;
376 src-clock-name = "slow_ahb_clk_src";
Jeyaprakash Soundrapandian33362ba2017-06-23 22:18:50 -0700377 clock-rates = <0 0 0 0 0 0>,
378 <0 0 0 19200000 0 0>,
379 <0 0 0 60000000 0 0>,
380 <0 0 0 66660000 0 0>,
381 <0 0 0 73840000 0 0>,
382 <0 0 0 80000000 0 0>,
383 <0 0 0 80000000 0 0>;
384 clock-cntl-level = "suspend", "minsvs", "lowsvs", "svs",
385 "svs_l1", "nominal", "turbo";
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700386 qcom,msm-bus,name = "cam_ahb";
Jeyaprakash Soundrapandian33362ba2017-06-23 22:18:50 -0700387 qcom,msm-bus,num-cases = <7>;
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700388 qcom,msm-bus,num-paths = <1>;
389 qcom,msm-bus,vectors-KBps =
390 <MSM_BUS_MASTER_AMPSS_M0
391 MSM_BUS_SLAVE_CAMERA_CFG 0 0>,
392 <MSM_BUS_MASTER_AMPSS_M0
Jeyaprakash Soundrapandian33362ba2017-06-23 22:18:50 -0700393 MSM_BUS_SLAVE_CAMERA_CFG 0 180000>,
394 <MSM_BUS_MASTER_AMPSS_M0
395 MSM_BUS_SLAVE_CAMERA_CFG 0 180000>,
396 <MSM_BUS_MASTER_AMPSS_M0
397 MSM_BUS_SLAVE_CAMERA_CFG 0 300000>,
398 <MSM_BUS_MASTER_AMPSS_M0
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700399 MSM_BUS_SLAVE_CAMERA_CFG 0 300000>,
400 <MSM_BUS_MASTER_AMPSS_M0
401 MSM_BUS_SLAVE_CAMERA_CFG 0 640000>,
402 <MSM_BUS_MASTER_AMPSS_M0
403 MSM_BUS_SLAVE_CAMERA_CFG 0 640000>;
Pavan Kumar Chilamkurthi071f3d22017-05-31 22:33:48 -0700404 vdd-corners = <RPMH_REGULATOR_LEVEL_OFF
405 RPMH_REGULATOR_LEVEL_RETENTION
406 RPMH_REGULATOR_LEVEL_MIN_SVS
407 RPMH_REGULATOR_LEVEL_LOW_SVS
408 RPMH_REGULATOR_LEVEL_SVS
409 RPMH_REGULATOR_LEVEL_SVS_L1
410 RPMH_REGULATOR_LEVEL_NOM
411 RPMH_REGULATOR_LEVEL_NOM_L1
412 RPMH_REGULATOR_LEVEL_NOM_L2
413 RPMH_REGULATOR_LEVEL_TURBO
414 RPMH_REGULATOR_LEVEL_TURBO_L1>;
415 vdd-corner-ahb-mapping = "suspend", "suspend",
Jeyaprakash Soundrapandian33362ba2017-06-23 22:18:50 -0700416 "minsvs", "lowsvs", "svs", "svs_l1",
Pavan Kumar Chilamkurthi071f3d22017-05-31 22:33:48 -0700417 "nominal", "nominal", "nominal",
418 "turbo", "turbo";
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700419 client-id-based;
420 client-names =
421 "csiphy0", "csiphy1", "csiphy2", "cci0",
Pavan Kumar Chilamkurthi4e070ba2017-05-12 14:47:04 -0700422 "csid0", "csid1", "csid2",
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700423 "ife0", "ife1", "ife2", "ipe0",
424 "ipe1", "cam-cdm-intf0", "cpas-cdm0", "bps0",
Rajakumar Govindaram0e33b712017-07-19 15:31:04 -0700425 "icp0", "jpeg-dma0", "jpeg-enc0", "fd0";
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700426 client-axi-port-names =
427 "cam_hf_1", "cam_hf_2", "cam_hf_2", "cam_sf_1",
Pavan Kumar Chilamkurthi4e070ba2017-05-12 14:47:04 -0700428 "cam_hf_1", "cam_hf_2", "cam_hf_2",
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700429 "cam_hf_1", "cam_hf_2", "cam_hf_2", "cam_sf_1",
430 "cam_sf_1", "cam_sf_1", "cam_sf_1", "cam_sf_1",
431 "cam_sf_1", "cam_sf_1", "cam_sf_1", "cam_sf_1";
432 client-bus-camnoc-based;
433 qcom,axi-port-list {
434 qcom,axi-port1 {
435 qcom,axi-port-name = "cam_hf_1";
436 qcom,axi-port-mnoc {
437 qcom,msm-bus,name = "cam_hf_1_mnoc";
438 qcom,msm-bus-vector-dyn-vote;
439 qcom,msm-bus,num-cases = <2>;
440 qcom,msm-bus,num-paths = <1>;
441 qcom,msm-bus,vectors-KBps =
Pavan Kumar Chilamkurthid34fd882017-06-01 01:53:09 -0700442 <MSM_BUS_MASTER_CAMNOC_HF0
443 MSM_BUS_SLAVE_EBI_CH0 0 0>,
444 <MSM_BUS_MASTER_CAMNOC_HF0
445 MSM_BUS_SLAVE_EBI_CH0 0 0>;
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700446 };
447 qcom,axi-port-camnoc {
448 qcom,msm-bus,name = "cam_hf_1_camnoc";
449 qcom,msm-bus-vector-dyn-vote;
450 qcom,msm-bus,num-cases = <2>;
451 qcom,msm-bus,num-paths = <1>;
452 qcom,msm-bus,vectors-KBps =
Pavan Kumar Chilamkurthid34fd882017-06-01 01:53:09 -0700453 <MSM_BUS_MASTER_CAMNOC_HF0_UNCOMP
454 MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>,
455 <MSM_BUS_MASTER_CAMNOC_HF0_UNCOMP
456 MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>;
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700457 };
458 };
459 qcom,axi-port2 {
460 qcom,axi-port-name = "cam_hf_2";
461 qcom,axi-port-mnoc {
462 qcom,msm-bus,name = "cam_hf_2_mnoc";
463 qcom,msm-bus-vector-dyn-vote;
464 qcom,msm-bus,num-cases = <2>;
465 qcom,msm-bus,num-paths = <1>;
466 qcom,msm-bus,vectors-KBps =
Pavan Kumar Chilamkurthid34fd882017-06-01 01:53:09 -0700467 <MSM_BUS_MASTER_CAMNOC_HF1
468 MSM_BUS_SLAVE_EBI_CH0 0 0>,
469 <MSM_BUS_MASTER_CAMNOC_HF1
470 MSM_BUS_SLAVE_EBI_CH0 0 0>;
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700471 };
472 qcom,axi-port-camnoc {
Pavan Kumar Chilamkurthid34fd882017-06-01 01:53:09 -0700473 qcom,msm-bus,name = "cam_hf_2_camnoc";
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700474 qcom,msm-bus-vector-dyn-vote;
475 qcom,msm-bus,num-cases = <2>;
476 qcom,msm-bus,num-paths = <1>;
477 qcom,msm-bus,vectors-KBps =
Pavan Kumar Chilamkurthid34fd882017-06-01 01:53:09 -0700478 <MSM_BUS_MASTER_CAMNOC_HF1_UNCOMP
479 MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>,
480 <MSM_BUS_MASTER_CAMNOC_HF1_UNCOMP
481 MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>;
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700482 };
483 };
484 qcom,axi-port3 {
485 qcom,axi-port-name = "cam_sf_1";
486 qcom,axi-port-mnoc {
487 qcom,msm-bus,name = "cam_sf_1_mnoc";
488 qcom,msm-bus-vector-dyn-vote;
489 qcom,msm-bus,num-cases = <2>;
490 qcom,msm-bus,num-paths = <1>;
491 qcom,msm-bus,vectors-KBps =
Pavan Kumar Chilamkurthid34fd882017-06-01 01:53:09 -0700492 <MSM_BUS_MASTER_CAMNOC_SF
493 MSM_BUS_SLAVE_EBI_CH0 0 0>,
494 <MSM_BUS_MASTER_CAMNOC_SF
495 MSM_BUS_SLAVE_EBI_CH0 0 0>;
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700496 };
497 qcom,axi-port-camnoc {
498 qcom,msm-bus,name = "cam_sf_1_camnoc";
499 qcom,msm-bus-vector-dyn-vote;
500 qcom,msm-bus,num-cases = <2>;
501 qcom,msm-bus,num-paths = <1>;
502 qcom,msm-bus,vectors-KBps =
Pavan Kumar Chilamkurthid34fd882017-06-01 01:53:09 -0700503 <MSM_BUS_MASTER_CAMNOC_SF_UNCOMP
504 MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>,
505 <MSM_BUS_MASTER_CAMNOC_SF_UNCOMP
506 MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>;
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700507 };
508 };
509 };
510 };
Hariram Purushothamane87b44e02017-03-29 13:53:01 -0700511
512 qcom,cam-cdm-intf {
513 compatible = "qcom,cam-cdm-intf";
514 cell-index = <0>;
515 label = "cam-cdm-intf";
516 num-hw-cdm = <1>;
Hariram Purushothaman91c8cb52017-04-24 21:53:36 -0700517 cdm-client-names = "vfe",
Rajakumar Govindaram0e33b712017-07-19 15:31:04 -0700518 "jpegdma",
519 "jpegenc",
Hariram Purushothamane87b44e02017-03-29 13:53:01 -0700520 "fd";
521 status = "ok";
522 };
523
524 qcom,cpas-cdm0@ac48000 {
525 cell-index = <0>;
526 compatible = "qcom,cam170-cpas-cdm0";
527 label = "cpas-cdm";
528 reg = <0xac48000 0x1000>;
529 reg-names = "cpas-cdm";
530 reg-cam-base = <0x48000>;
531 interrupts = <0 461 0>;
532 interrupt-names = "cpas-cdm";
533 regulator-names = "camss";
534 camss-supply = <&titan_top_gdsc>;
535 clock-names = "gcc_camera_ahb",
536 "gcc_camera_axi",
537 "cam_cc_soc_ahb_clk",
538 "cam_cc_cpas_ahb_clk",
539 "cam_cc_camnoc_axi_clk";
540 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
541 <&clock_gcc GCC_CAMERA_AXI_CLK>,
542 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
543 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
544 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>;
545 clock-rates = <0 0 0 0 0>;
Jeyaprakash Soundrapandian33362ba2017-06-23 22:18:50 -0700546 clock-cntl-level = "svs";
Hariram Purushothaman91c8cb52017-04-24 21:53:36 -0700547 cdm-client-names = "ife";
Hariram Purushothamane87b44e02017-03-29 13:53:01 -0700548 status = "ok";
549 };
Jing Zhoud4020692017-02-09 15:16:49 -0800550
551 qcom,cam-isp {
552 compatible = "qcom,cam-isp";
553 arch-compat = "ife";
554 status = "ok";
555 };
556
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700557 cam_csid0: qcom,csid0@acb3000 {
Jing Zhoud4020692017-02-09 15:16:49 -0800558 cell-index = <0>;
559 compatible = "qcom,csid170";
560 reg-names = "csid";
561 reg = <0xacb3000 0x1000>;
562 reg-cam-base = <0xb3000>;
563 interrupt-names = "csid";
564 interrupts = <0 464 0>;
565 regulator-names = "camss", "ife0";
566 camss-supply = <&titan_top_gdsc>;
567 ife0-supply = <&ife_0_gdsc>;
568 clock-names = "camera_ahb",
569 "camera_axi",
570 "soc_ahb_clk",
571 "cpas_ahb_clk",
572 "slow_ahb_clk_src",
573 "ife_csid_clk",
574 "ife_csid_clk_src",
575 "ife_cphy_rx_clk",
576 "cphy_rx_clk_src",
577 "ife_clk",
578 "ife_clk_src",
579 "camnoc_axi_clk",
580 "ife_axi_clk";
581 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
582 <&clock_gcc GCC_CAMERA_AXI_CLK>,
583 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
584 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
585 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
586 <&clock_camcc CAM_CC_IFE_0_CSID_CLK>,
587 <&clock_camcc CAM_CC_IFE_0_CSID_CLK_SRC>,
588 <&clock_camcc CAM_CC_IFE_0_CPHY_RX_CLK>,
589 <&clock_camcc CAM_CC_CPHY_RX_CLK_SRC>,
590 <&clock_camcc CAM_CC_IFE_0_CLK>,
591 <&clock_camcc CAM_CC_IFE_0_CLK_SRC>,
592 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
593 <&clock_camcc CAM_CC_IFE_0_AXI_CLK>;
Jeyaprakash Soundrapandian33362ba2017-06-23 22:18:50 -0700594 clock-rates = <0 0 0 0 0 0 500000000 0 0 0 600000000 0 0>;
595 clock-cntl-level = "turbo";
Jing Zhoud4020692017-02-09 15:16:49 -0800596 src-clock-name = "ife_csid_clk_src";
597 status = "ok";
598 };
599
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700600 cam_vfe0: qcom,vfe0@acaf000 {
Jing Zhoud4020692017-02-09 15:16:49 -0800601 cell-index = <0>;
602 compatible = "qcom,vfe170";
603 reg-names = "ife";
604 reg = <0xacaf000 0x4000>;
605 reg-cam-base = <0xaf000>;
606 interrupt-names = "ife";
607 interrupts = <0 465 0>;
608 regulator-names = "camss", "ife0";
609 camss-supply = <&titan_top_gdsc>;
610 ife0-supply = <&ife_0_gdsc>;
611 clock-names = "camera_ahb",
612 "camera_axi",
613 "soc_ahb_clk",
614 "cpas_ahb_clk",
615 "slow_ahb_clk_src",
616 "ife_clk",
617 "ife_clk_src",
618 "camnoc_axi_clk",
619 "ife_axi_clk";
620 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
621 <&clock_gcc GCC_CAMERA_AXI_CLK>,
622 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
623 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
624 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
625 <&clock_camcc CAM_CC_IFE_0_CLK>,
626 <&clock_camcc CAM_CC_IFE_0_CLK_SRC>,
627 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
628 <&clock_camcc CAM_CC_IFE_0_AXI_CLK>;
Harsh Shahff6bc352017-05-16 18:03:08 -0700629 clock-rates = <0 0 0 0 0 0 600000000 0 0>;
Jeyaprakash Soundrapandian33362ba2017-06-23 22:18:50 -0700630 clock-cntl-level = "turbo";
Jing Zhoud4020692017-02-09 15:16:49 -0800631 src-clock-name = "ife_clk_src";
632 clock-names-option = "ife_dsp_clk";
633 clocks-option = <&clock_camcc CAM_CC_IFE_0_DSP_CLK>;
634 clock-rates-option = <404000000>;
635 status = "ok";
636 };
637
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700638 cam_csid1: qcom,csid1@acba000 {
Jing Zhoud4020692017-02-09 15:16:49 -0800639 cell-index = <1>;
640 compatible = "qcom,csid170";
641 reg-names = "csid";
642 reg = <0xacba000 0x1000>;
643 reg-cam-base = <0xba000>;
644 interrupt-names = "csid";
645 interrupts = <0 466 0>;
646 regulator-names = "camss", "ife1";
647 camss-supply = <&titan_top_gdsc>;
648 ife1-supply = <&ife_1_gdsc>;
649 clock-names = "camera_ahb",
650 "camera_axi",
651 "soc_ahb_clk",
652 "cpas_ahb_clk",
653 "slow_ahb_clk_src",
654 "ife_csid_clk",
655 "ife_csid_clk_src",
656 "ife_cphy_rx_clk",
657 "cphy_rx_clk_src",
658 "ife_clk",
659 "ife_clk_src",
660 "camnoc_axi_clk",
661 "ife_axi_clk";
662 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
663 <&clock_gcc GCC_CAMERA_AXI_CLK>,
664 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
665 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
666 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
667 <&clock_camcc CAM_CC_IFE_1_CSID_CLK>,
668 <&clock_camcc CAM_CC_IFE_1_CSID_CLK_SRC>,
669 <&clock_camcc CAM_CC_IFE_1_CPHY_RX_CLK>,
670 <&clock_camcc CAM_CC_CPHY_RX_CLK_SRC>,
671 <&clock_camcc CAM_CC_IFE_1_CLK>,
672 <&clock_camcc CAM_CC_IFE_1_CLK_SRC>,
673 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
674 <&clock_camcc CAM_CC_IFE_1_AXI_CLK>;
Jeyaprakash Soundrapandian33362ba2017-06-23 22:18:50 -0700675 clock-rates = <0 0 0 0 0 0 500000000 0 0 0 600000000 0 0>;
676 clock-cntl-level = "turbo";
Jing Zhoud4020692017-02-09 15:16:49 -0800677 src-clock-name = "ife_csid_clk_src";
678 status = "ok";
679 };
680
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700681 cam_vfe1: qcom,vfe1@acb6000 {
Jing Zhoud4020692017-02-09 15:16:49 -0800682 cell-index = <1>;
683 compatible = "qcom,vfe170";
684 reg-names = "ife";
685 reg = <0xacb6000 0x4000>;
686 reg-cam-base = <0xb6000>;
687 interrupt-names = "ife";
688 interrupts = <0 467 0>;
689 regulator-names = "camss", "ife1";
690 camss-supply = <&titan_top_gdsc>;
691 ife1-supply = <&ife_1_gdsc>;
692 clock-names = "camera_ahb",
693 "camera_axi",
694 "soc_ahb_clk",
695 "cpas_ahb_clk",
696 "slow_ahb_clk_src",
697 "ife_clk",
698 "ife_clk_src",
699 "camnoc_axi_clk",
700 "ife_axi_clk";
701 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
702 <&clock_gcc GCC_CAMERA_AXI_CLK>,
703 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
704 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
705 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
706 <&clock_camcc CAM_CC_IFE_1_CLK>,
707 <&clock_camcc CAM_CC_IFE_1_CLK_SRC>,
708 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
709 <&clock_camcc CAM_CC_IFE_1_AXI_CLK>;
Harsh Shahff6bc352017-05-16 18:03:08 -0700710 clock-rates = <0 0 0 0 0 0 600000000 0 0>;
Jeyaprakash Soundrapandian33362ba2017-06-23 22:18:50 -0700711 clock-cntl-level = "turbo";
Jing Zhoud4020692017-02-09 15:16:49 -0800712 src-clock-name = "ife_clk_src";
713 clock-names-option = "ife_dsp_clk";
714 clocks-option = <&clock_camcc CAM_CC_IFE_1_DSP_CLK>;
715 clock-rates-option = <404000000>;
716 status = "ok";
717 };
718
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700719 cam_csid_lite: qcom,csid-lite@acc8000 {
Jing Zhoud4020692017-02-09 15:16:49 -0800720 cell-index = <2>;
721 compatible = "qcom,csid-lite170";
722 reg-names = "csid-lite";
723 reg = <0xacc8000 0x1000>;
724 reg-cam-base = <0xc8000>;
725 interrupt-names = "csid-lite";
726 interrupts = <0 468 0>;
727 regulator-names = "camss";
728 camss-supply = <&titan_top_gdsc>;
729 clock-names = "camera_ahb",
730 "camera_axi",
731 "soc_ahb_clk",
732 "cpas_ahb_clk",
733 "slow_ahb_clk_src",
734 "ife_csid_clk",
735 "ife_csid_clk_src",
736 "ife_cphy_rx_clk",
737 "cphy_rx_clk_src",
738 "ife_clk",
739 "ife_clk_src",
740 "camnoc_axi_clk";
741 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
742 <&clock_gcc GCC_CAMERA_AXI_CLK>,
743 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
744 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
745 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
746 <&clock_camcc CAM_CC_IFE_LITE_CSID_CLK>,
747 <&clock_camcc CAM_CC_IFE_LITE_CSID_CLK_SRC>,
748 <&clock_camcc CAM_CC_IFE_LITE_CPHY_RX_CLK>,
749 <&clock_camcc CAM_CC_CPHY_RX_CLK_SRC>,
750 <&clock_camcc CAM_CC_IFE_LITE_CLK>,
751 <&clock_camcc CAM_CC_IFE_LITE_CLK_SRC>,
752 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>;
Jeyaprakash Soundrapandian33362ba2017-06-23 22:18:50 -0700753 clock-rates = <0 0 0 0 0 0 384000000 0 0 0 404000000 0>;
754 clock-cntl-level = "turbo";
Jing Zhoud4020692017-02-09 15:16:49 -0800755 src-clock-name = "ife_csid_clk_src";
756 status = "ok";
757 };
758
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700759 cam_vfe_lite: qcom,vfe-lite@acc4000 {
Jing Zhoud4020692017-02-09 15:16:49 -0800760 cell-index = <2>;
761 compatible = "qcom,vfe-lite170";
762 reg-names = "ife-lite";
763 reg = <0xacc4000 0x4000>;
764 reg-cam-base = <0xc4000>;
765 interrupt-names = "ife-lite";
766 interrupts = <0 469 0>;
767 regulator-names = "camss";
768 camss-supply = <&titan_top_gdsc>;
769 clock-names = "camera_ahb",
770 "camera_axi",
771 "soc_ahb_clk",
772 "cpas_ahb_clk",
773 "slow_ahb_clk_src",
774 "ife_clk",
775 "ife_clk_src",
776 "camnoc_axi_clk";
777 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
778 <&clock_gcc GCC_CAMERA_AXI_CLK>,
779 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
780 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
781 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
782 <&clock_camcc CAM_CC_IFE_LITE_CLK>,
783 <&clock_camcc CAM_CC_IFE_LITE_CLK_SRC>,
784 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>;
Jeyaprakash Soundrapandian33362ba2017-06-23 22:18:50 -0700785 clock-rates = <0 0 0 0 0 0 404000000 0>;
786 clock-cntl-level = "turbo";
Jing Zhoud4020692017-02-09 15:16:49 -0800787 src-clock-name = "ife_clk_src";
788 status = "ok";
789 };
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700790
791 qcom,cam-icp {
792 compatible = "qcom,cam-icp";
793 compat-hw-name = "qcom,a5",
794 "qcom,ipe0",
795 "qcom,ipe1",
796 "qcom,bps";
797 num-a5 = <1>;
798 num-ipe = <2>;
799 num-bps = <1>;
800 status = "ok";
801 };
802
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700803 cam_a5: qcom,a5@ac00000 {
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700804 cell-index = <0>;
Suresh Vankadara22697d32017-07-03 12:14:09 -0700805 compatible = "qcom,cam-a5";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700806 reg = <0xac00000 0x6000>,
807 <0xac10000 0x8000>,
808 <0xac18000 0x3000>;
809 reg-names = "a5_qgic", "a5_sierra", "a5_csr";
810 reg-cam-base = <0x00000 0x10000 0x18000>;
811 interrupts = <0 463 0>;
812 interrupt-names = "a5";
813 regulator-names = "camss-vdd";
814 camss-vdd-supply = <&titan_top_gdsc>;
815 clock-names = "gcc_cam_ahb_clk",
816 "gcc_cam_axi_clk",
Lakshmi Narayana Kalavala238c2b22017-06-08 17:43:57 -0700817 "soc_fast_ahb",
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700818 "soc_ahb_clk",
819 "cpas_ahb_clk",
820 "camnoc_axi_clk",
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700821 "icp_clk",
Lakshmi Narayana Kalavalae5f367a2017-05-25 11:36:18 -0700822 "icp_clk_src";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700823 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
824 <&clock_gcc GCC_CAMERA_AXI_CLK>,
Lakshmi Narayana Kalavala238c2b22017-06-08 17:43:57 -0700825 <&clock_camcc CAM_CC_FAST_AHB_CLK_SRC>,
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700826 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
827 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
828 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700829 <&clock_camcc CAM_CC_ICP_CLK>,
Lakshmi Narayana Kalavalae5f367a2017-05-25 11:36:18 -0700830 <&clock_camcc CAM_CC_ICP_CLK_SRC>;
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700831
Lakshmi Narayana Kalavalad1196772017-10-04 12:11:54 -0700832 clock-rates = <0 0 400000000 0 0 0 0 600000000>;
Jeyaprakash Soundrapandian33362ba2017-06-23 22:18:50 -0700833 clock-cntl-level = "turbo";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700834 fw_name = "CAMERA_ICP.elf";
835 status = "ok";
836 };
837
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700838 cam_ipe0: qcom,ipe0 {
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700839 cell-index = <0>;
Suresh Vankadara22697d32017-07-03 12:14:09 -0700840 compatible = "qcom,cam-ipe";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700841 regulator-names = "ipe0-vdd";
842 ipe0-vdd-supply = <&ipe_0_gdsc>;
843 clock-names = "ipe_0_ahb_clk",
844 "ipe_0_areg_clk",
845 "ipe_0_axi_clk",
846 "ipe_0_clk",
847 "ipe_0_clk_src";
Suresh Vankadara34494fc2017-08-12 18:18:09 +0530848 src-clock-name = "ipe_0_clk_src";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700849 clocks = <&clock_camcc CAM_CC_IPE_0_AHB_CLK>,
850 <&clock_camcc CAM_CC_IPE_0_AREG_CLK>,
851 <&clock_camcc CAM_CC_IPE_0_AXI_CLK>,
852 <&clock_camcc CAM_CC_IPE_0_CLK>,
853 <&clock_camcc CAM_CC_IPE_0_CLK_SRC>;
854
Suresh Vankadara34494fc2017-08-12 18:18:09 +0530855 clock-rates = <0 0 0 0 240000000>,
856 <0 0 0 0 404000000>,
857 <0 0 0 0 480000000>,
858 <0 0 0 0 538000000>,
859 <0 0 0 0 600000000>;
860 clock-cntl-level = "lowsvs", "svs",
861 "svs_l1", "nominal", "turbo";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700862 status = "ok";
863 };
864
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700865 cam_ipe1: qcom,ipe1 {
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700866 cell-index = <1>;
Suresh Vankadara22697d32017-07-03 12:14:09 -0700867 compatible = "qcom,cam-ipe";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700868 regulator-names = "ipe1-vdd";
869 ipe1-vdd-supply = <&ipe_1_gdsc>;
870 clock-names = "ipe_1_ahb_clk",
871 "ipe_1_areg_clk",
872 "ipe_1_axi_clk",
873 "ipe_1_clk",
874 "ipe_1_clk_src";
Suresh Vankadara34494fc2017-08-12 18:18:09 +0530875 src-clock-name = "ipe_1_clk_src";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700876 clocks = <&clock_camcc CAM_CC_IPE_1_AHB_CLK>,
877 <&clock_camcc CAM_CC_IPE_1_AREG_CLK>,
878 <&clock_camcc CAM_CC_IPE_1_AXI_CLK>,
879 <&clock_camcc CAM_CC_IPE_1_CLK>,
880 <&clock_camcc CAM_CC_IPE_1_CLK_SRC>;
881
Suresh Vankadara34494fc2017-08-12 18:18:09 +0530882 clock-rates = <0 0 0 0 240000000>,
883 <0 0 0 0 404000000>,
884 <0 0 0 0 480000000>,
885 <0 0 0 0 538000000>,
886 <0 0 0 0 600000000>;
887 clock-cntl-level = "lowsvs", "svs",
888 "svs_l1", "nominal", "turbo";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700889 status = "ok";
890 };
891
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700892 cam_bps: qcom,bps {
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700893 cell-index = <0>;
Suresh Vankadara22697d32017-07-03 12:14:09 -0700894 compatible = "qcom,cam-bps";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700895 regulator-names = "bps-vdd";
896 bps-vdd-supply = <&bps_gdsc>;
897 clock-names = "bps_ahb_clk",
898 "bps_areg_clk",
899 "bps_axi_clk",
900 "bps_clk",
901 "bps_clk_src";
Suresh Vankadara34494fc2017-08-12 18:18:09 +0530902 src-clock-name = "bps_clk_src";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700903 clocks = <&clock_camcc CAM_CC_BPS_AHB_CLK>,
904 <&clock_camcc CAM_CC_BPS_AREG_CLK>,
905 <&clock_camcc CAM_CC_BPS_AXI_CLK>,
906 <&clock_camcc CAM_CC_BPS_CLK>,
907 <&clock_camcc CAM_CC_BPS_CLK_SRC>;
908
Suresh Vankadara34494fc2017-08-12 18:18:09 +0530909 clock-rates = <0 0 0 0 200000000>,
910 <0 0 0 0 404000000>,
911 <0 0 0 0 480000000>,
912 <0 0 0 0 600000000>,
913 <0 0 0 0 600000000>;
914 clock-cntl-level = "lowsvs", "svs",
915 "svs_l1", "nominal", "turbo";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700916 status = "ok";
917 };
Rajakumar Govindaram0e33b712017-07-19 15:31:04 -0700918
919 qcom,cam-jpeg {
920 compatible = "qcom,cam-jpeg";
921 compat-hw-name = "qcom,jpegenc",
922 "qcom,jpegdma";
923 num-jpeg-enc = <1>;
924 num-jpeg-dma = <1>;
925 status = "ok";
926 };
927
928 cam_jpeg_enc: qcom,jpegenc@ac4e000 {
929 cell-index = <0>;
930 compatible = "qcom,cam_jpeg_enc";
931 reg-names = "jpege_hw";
932 reg = <0xac4e000 0x4000>;
933 reg-cam-base = <0x4e000>;
934 interrupt-names = "jpeg";
935 interrupts = <0 474 0>;
936 regulator-names = "camss-vdd";
937 camss-vdd-supply = <&titan_top_gdsc>;
938 clock-names = "camera_ahb",
939 "camera_axi",
940 "soc_ahb_clk",
941 "cpas_ahb_clk",
942 "camnoc_axi_clk",
943 "jpegenc_clk_src",
944 "jpegenc_clk";
945 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
946 <&clock_gcc GCC_CAMERA_AXI_CLK>,
947 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
948 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
949 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
950 <&clock_camcc CAM_CC_JPEG_CLK_SRC>,
951 <&clock_camcc CAM_CC_JPEG_CLK>;
952
953 clock-rates = <0 0 0 0 0 600000000 0>;
954 src-clock-name = "jpegenc_clk_src";
955 clock-cntl-level = "nominal";
956 status = "ok";
957 };
958
959 cam_jpeg_dma: qcom,jpegdma@0xac52000{
960 cell-index = <0>;
961 compatible = "qcom,cam_jpeg_dma";
962 reg-names = "jpegdma_hw";
963 reg = <0xac52000 0x4000>;
964 reg-cam-base = <0x52000>;
965 interrupt-names = "jpegdma";
966 interrupts = <0 475 0>;
967 regulator-names = "camss-vdd";
968 camss-vdd-supply = <&titan_top_gdsc>;
969 clock-names = "camera_ahb",
970 "camera_axi",
971 "soc_ahb_clk",
972 "cpas_ahb_clk",
973 "camnoc_axi_clk",
974 "jpegdma_clk_src",
975 "jpegdma_clk";
976 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
977 <&clock_gcc GCC_CAMERA_AXI_CLK>,
978 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
979 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
980 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
981 <&clock_camcc CAM_CC_JPEG_CLK_SRC>,
982 <&clock_camcc CAM_CC_JPEG_CLK>;
983
984 clock-rates = <0 0 0 0 0 600000000 0>;
985 src-clock-name = "jpegdma_clk_src";
986 clock-cntl-level = "nominal";
987 status = "ok";
988 };
989
Pavan Kumar Chilamkurthib2cd6dd2017-07-30 02:25:23 -0700990 qcom,cam-fd {
991 compatible = "qcom,cam-fd";
992 compat-hw-name = "qcom,fd";
993 num-fd = <1>;
994 status = "ok";
995 };
996
997 cam_fd: qcom,fd@ac5a000 {
998 cell-index = <0>;
999 compatible = "qcom,fd41";
1000 reg-names = "fd_core", "fd_wrapper";
1001 reg = <0xac5a000 0x1000>,
1002 <0xac5b000 0x400>;
1003 reg-cam-base = <0x5a000 0x5b000>;
1004 interrupt-names = "fd";
1005 interrupts = <0 462 0>;
1006 regulator-names = "camss-vdd";
1007 camss-vdd-supply = <&titan_top_gdsc>;
1008 clock-names = "gcc_ahb_clk",
1009 "gcc_axi_clk",
1010 "soc_ahb_clk",
1011 "cpas_ahb_clk",
1012 "camnoc_axi_clk",
1013 "fd_core_clk_src",
1014 "fd_core_clk",
1015 "fd_core_uar_clk";
1016 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
1017 <&clock_gcc GCC_CAMERA_AXI_CLK>,
1018 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
1019 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
1020 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
1021 <&clock_camcc CAM_CC_FD_CORE_CLK_SRC>,
1022 <&clock_camcc CAM_CC_FD_CORE_CLK>,
1023 <&clock_camcc CAM_CC_FD_CORE_UAR_CLK>;
1024 src-clock-name = "fd_core_clk_src";
1025 clock-cntl-level = "svs";
1026 clock-rates = <0 0 0 0 0 400000000 0 0>;
1027 status = "ok";
1028 };
Lakshmi Narayana Kalavalac0dac062016-12-01 17:20:09 -08001029};