blob: 91b8738c997ce4eed19b72c5acfecc0ada590e74 [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";
25 interrupts = <0 477 0>;
26 interrupt-names = "csiphy";
27 gdscr-supply = <&titan_top_gdsc>;
28 qcom,cam-vreg-name = "gdscr";
29 qcom,csi-vdd-voltage = <1200000>;
30 qcom,mipi-csi-vdd-supply = <&pm8998_l26>;
31 clocks = <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
32 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
33 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
34 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
35 <&clock_camcc CAM_CC_CPHY_RX_CLK_SRC>,
36 <&clock_camcc CAM_CC_CSIPHY0_CLK>,
37 <&clock_camcc CAM_CC_CSI0PHYTIMER_CLK_SRC>,
38 <&clock_camcc CAM_CC_CSI0PHYTIMER_CLK>,
39 <&clock_camcc CAM_CC_IFE_0_CSID_CLK>,
40 <&clock_camcc CAM_CC_IFE_0_CSID_CLK_SRC>;
41 clock-names = "camnoc_axi_clk",
42 "soc_ahb_clk",
43 "slow_ahb_src_clk",
44 "cpas_ahb_clk",
45 "cphy_rx_clk_src",
46 "csiphy0_clk",
47 "csi0phytimer_clk_src",
48 "csi0phytimer_clk",
49 "ife_0_csid_clk",
50 "ife_0_csid_clk_src";
51 qcom,clock-rates =
52 <0 0 80000000 0 320000000 0 269333333 0 0 384000000>;
53 status = "ok";
54 };
55
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -070056 cam_csiphy1: qcom,csiphy@ac66000{
Jigarkumar Zala861231152017-02-28 14:05:11 -080057 cell-index = <1>;
58 compatible = "qcom,csiphy-v1.0", "qcom,csiphy";
59 reg = <0xac66000 0x1000>;
60 reg-names = "csiphy";
61 interrupts = <0 478 0>;
62 interrupt-names = "csiphy";
63 gdscr-supply = <&titan_top_gdsc>;
64 qcom,cam-vreg-name = "gdscr";
65 qcom,csi-vdd-voltage = <1200000>;
66 qcom,mipi-csi-vdd-supply = <&pm8998_l26>;
67 clocks = <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
68 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
69 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
70 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
71 <&clock_camcc CAM_CC_CPHY_RX_CLK_SRC>,
72 <&clock_camcc CAM_CC_CSIPHY1_CLK>,
73 <&clock_camcc CAM_CC_CSI1PHYTIMER_CLK_SRC>,
Viswanadha Raju Thotakuraeed9bb62017-05-03 12:10:19 -070074 <&clock_camcc CAM_CC_CSI1PHYTIMER_CLK>,
Jigarkumar Zala861231152017-02-28 14:05:11 -080075 <&clock_camcc CAM_CC_IFE_1_CSID_CLK>,
76 <&clock_camcc CAM_CC_IFE_1_CSID_CLK_SRC>;
77 clock-names = "camnoc_axi_clk",
78 "soc_ahb_clk",
79 "slow_ahb_src_clk",
80 "cpas_ahb_clk",
81 "cphy_rx_clk_src",
82 "csiphy1_clk",
83 "csi1phytimer_clk_src",
84 "csi1phytimer_clk",
85 "ife_1_csid_clk",
86 "ife_1_csid_clk_src";
87 qcom,clock-rates =
88 <0 0 80000000 0 320000000 0 269333333 0 0 384000000>;
89
90 status = "ok";
91 };
92
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -070093 cam_csiphy2: qcom,csiphy@ac67000 {
Jigarkumar Zala861231152017-02-28 14:05:11 -080094 cell-index = <2>;
95 compatible = "qcom,csiphy-v1.0", "qcom,csiphy";
96 reg = <0xac67000 0x1000>;
97 reg-names = "csiphy";
98 interrupts = <0 479 0>;
99 interrupt-names = "csiphy";
100 gdscr-supply = <&titan_top_gdsc>;
101 qcom,cam-vreg-name = "gdscr";
102 qcom,csi-vdd-voltage = <1200000>;
103 qcom,mipi-csi-vdd-supply = <&pm8998_l26>;
104 clocks = <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
105 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
106 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
107 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
108 <&clock_camcc CAM_CC_CPHY_RX_CLK_SRC>,
109 <&clock_camcc CAM_CC_CSIPHY2_CLK>,
110 <&clock_camcc CAM_CC_CSI2PHYTIMER_CLK_SRC>,
111 <&clock_camcc CAM_CC_CSI2PHYTIMER_CLK>,
112 <&clock_camcc CAM_CC_IFE_LITE_CSID_CLK>,
113 <&clock_camcc CAM_CC_IFE_LITE_CSID_CLK_SRC>;
114 clock-names = "camnoc_axi_clk",
115 "soc_ahb_clk",
116 "slow_ahb_src_clk",
117 "cpas_ahb_clk",
118 "cphy_rx_clk_src",
119 "csiphy2_clk",
120 "csi2phytimer_clk_src",
121 "csi2phytimer_clk",
122 "ife_lite_csid_clk",
123 "ife_lite_csid_clk_src";
124 qcom,clock-rates =
125 <0 0 80000000 0 320000000 0 269333333 0 0 384000000>;
126 status = "ok";
127 };
128
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700129 cam_cci: qcom,cci@ac4a000 {
Jigarkumar Zala861231152017-02-28 14:05:11 -0800130 cell-index = <0>;
131 compatible = "qcom,cci";
132 reg = <0xac4a000 0x4000>;
133 #address-cells = <1>;
134 #size-cells = <0>;
135 reg-names = "cci";
136 interrupts = <0 460 0>;
137 interrupt-names = "cci";
138 status = "ok";
139 gdscr-supply = <&titan_top_gdsc>;
140 qcom,cam-vreg-name = "gdscr";
141 clocks = <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
142 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
143 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
144 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
145 <&clock_camcc CAM_CC_CCI_CLK>,
146 <&clock_camcc CAM_CC_CCI_CLK_SRC>;
147 clock-names = "camnoc_axi_clk",
148 "soc_ahb_clk",
149 "slow_ahb_src_clk",
150 "cpas_ahb_clk",
151 "cci_clk",
152 "cci_clk_src";
153 qcom,clock-rates = <0 0 80000000 0 0 37500000>;
154 pinctrl-names = "cci_default", "cci_suspend";
155 pinctrl-0 = <&cci0_active &cci1_active>;
156 pinctrl-1 = <&cci0_suspend &cci1_suspend>;
157 gpios = <&tlmm 17 0>,
158 <&tlmm 18 0>,
159 <&tlmm 19 0>,
160 <&tlmm 20 0>;
161 qcom,gpio-tbl-num = <0 1 2 3>;
162 qcom,gpio-tbl-flags = <1 1 1 1>;
163 qcom,gpio-tbl-label = "CCI_I2C_DATA0",
164 "CCI_I2C_CLK0",
165 "CCI_I2C_DATA1",
166 "CCI_I2C_CLK1";
167
168 i2c_freq_100Khz: qcom,i2c_standard_mode {
169 qcom,hw-thigh = <201>;
170 qcom,hw-tlow = <174>;
171 qcom,hw-tsu-sto = <204>;
172 qcom,hw-tsu-sta = <231>;
173 qcom,hw-thd-dat = <22>;
174 qcom,hw-thd-sta = <162>;
175 qcom,hw-tbuf = <227>;
176 qcom,hw-scl-stretch-en = <0>;
177 qcom,hw-trdhld = <6>;
178 qcom,hw-tsp = <3>;
179 qcom,cci-clk-src = <37500000>;
180 status = "ok";
181 };
182
183 i2c_freq_400Khz: qcom,i2c_fast_mode {
184 qcom,hw-thigh = <38>;
185 qcom,hw-tlow = <56>;
186 qcom,hw-tsu-sto = <40>;
187 qcom,hw-tsu-sta = <40>;
188 qcom,hw-thd-dat = <22>;
189 qcom,hw-thd-sta = <35>;
190 qcom,hw-tbuf = <62>;
191 qcom,hw-scl-stretch-en = <0>;
192 qcom,hw-trdhld = <6>;
193 qcom,hw-tsp = <3>;
194 qcom,cci-clk-src = <37500000>;
195 status = "ok";
196 };
197
198 i2c_freq_custom: qcom,i2c_custom_mode {
199 qcom,hw-thigh = <38>;
200 qcom,hw-tlow = <56>;
201 qcom,hw-tsu-sto = <40>;
202 qcom,hw-tsu-sta = <40>;
203 qcom,hw-thd-dat = <22>;
204 qcom,hw-thd-sta = <35>;
205 qcom,hw-tbuf = <62>;
206 qcom,hw-scl-stretch-en = <1>;
207 qcom,hw-trdhld = <6>;
208 qcom,hw-tsp = <3>;
209 qcom,cci-clk-src = <37500000>;
210 status = "ok";
211 };
212
213 i2c_freq_1Mhz: qcom,i2c_fast_plus_mode {
214 qcom,hw-thigh = <16>;
215 qcom,hw-tlow = <22>;
216 qcom,hw-tsu-sto = <17>;
217 qcom,hw-tsu-sta = <18>;
218 qcom,hw-thd-dat = <16>;
219 qcom,hw-thd-sta = <15>;
220 qcom,hw-tbuf = <24>;
221 qcom,hw-scl-stretch-en = <0>;
222 qcom,hw-trdhld = <3>;
223 qcom,hw-tsp = <3>;
224 qcom,cci-clk-src = <37500000>;
225 status = "ok";
226 };
227 };
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700228
229 qcom,cam_smmu {
230 compatible = "qcom,msm-cam-smmu";
231 status = "ok";
232
233 msm_cam_smmu_ife {
234 compatible = "qcom,msm-cam-smmu-cb";
Patrick Daly8cb8d962017-05-08 14:46:09 -0700235 iommus = <&apps_smmu 0x808 0x0>,
236 <&apps_smmu 0x810 0x8>,
237 <&apps_smmu 0xc08 0x0>,
238 <&apps_smmu 0xc10 0x8>;
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700239 label = "ife";
240 ife_iova_mem_map: iova-mem-map {
241 /* IO region is approximately 3.4 GB */
242 iova-mem-region-io {
243 iova-region-name = "io";
244 iova-region-start = <0x7400000>;
245 iova-region-len = <0xd8c00000>;
246 iova-region-id = <0x3>;
247 status = "ok";
248 };
249 };
250 };
251
252 msm_cam_icp_fw {
253 compatible = "qcom,msm-cam-smmu-fw-dev";
254 label="icp";
255 memory-region = <&pil_camera_mem>;
256 };
257
258 msm_cam_smmu_icp {
259 compatible = "qcom,msm-cam-smmu-cb";
Patrick Daly8cb8d962017-05-08 14:46:09 -0700260 iommus = <&apps_smmu 0x1078 0x2>,
261 <&apps_smmu 0x1020 0x8>,
262 <&apps_smmu 0x1040 0x8>,
263 <&apps_smmu 0x1030 0x0>,
264 <&apps_smmu 0x1050 0x0>;
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700265 label = "icp";
266 icp_iova_mem_map: iova-mem-map {
267 iova-mem-region-firmware {
268 /* Firmware region is 5MB */
269 iova-region-name = "firmware";
270 iova-region-start = <0x0>;
271 iova-region-len = <0x500000>;
272 iova-region-id = <0x0>;
273 status = "ok";
274 };
275
276 iova-mem-region-shared {
277 /* Shared region is 100MB long */
278 iova-region-name = "shared";
279 iova-region-start = <0x7400000>;
280 iova-region-len = <0x6400000>;
281 iova-region-id = <0x1>;
282 status = "ok";
283 };
284
285 iova-mem-region-io {
286 /* IO region is approximately 3.3 GB */
287 iova-region-name = "io";
288 iova-region-start = <0xd800000>;
289 iova-region-len = <0xd2800000>;
290 iova-region-id = <0x3>;
291 status = "ok";
292 };
293 };
294 };
295
296 msm_cam_smmu_cpas_cdm {
297 compatible = "qcom,msm-cam-smmu-cb";
Patrick Daly8cb8d962017-05-08 14:46:09 -0700298 iommus = <&apps_smmu 0x1000 0x0>;
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700299 label = "cpas-cdm0";
300 cpas_cdm_iova_mem_map: iova-mem-map {
301 iova-mem-region-io {
302 /* IO region is approximately 3.4 GB */
303 iova-region-name = "io";
304 iova-region-start = <0x7400000>;
305 iova-region-len = <0xd8c00000>;
306 iova-region-id = <0x3>;
307 status = "ok";
308 };
309 };
310 };
311
312 msm_cam_smmu_secure {
313 compatible = "qcom,msm-cam-smmu-cb";
Patrick Daly8cb8d962017-05-08 14:46:09 -0700314 iommus = <&apps_smmu 0x1001 0x0>;
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700315 label = "cam-secure";
316 cam_secure_iova_mem_map: iova-mem-map {
317 /* Secure IO region is approximately 3.4 GB */
318 iova-mem-region-io {
319 iova-region-name = "io";
320 iova-region-start = <0x7400000>;
321 iova-region-len = <0xd8c00000>;
322 iova-region-id = <0x3>;
323 status = "ok";
324 };
325 };
326 };
327 };
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700328
329 qcom,cam-cpas@ac40000 {
330 cell-index = <0>;
331 compatible = "qcom,cam-cpas";
332 label = "cpas";
333 arch-compat = "cpas_top";
334 status = "ok";
335 reg-names = "cam_cpas_top", "cam_camnoc";
336 reg = <0xac40000 0x1000>,
337 <0xac42000 0x5000>;
338 reg-cam-base = <0x40000 0x42000>;
339 interrupt-names = "cpas_camnoc";
340 interrupts = <0 459 0>;
341 regulator-names = "camss-vdd";
342 camss-vdd-supply = <&titan_top_gdsc>;
343 clock-names = "gcc_ahb_clk",
344 "gcc_axi_clk",
345 "soc_ahb_clk",
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700346 "slow_ahb_clk_src",
Lakshmi Narayana Kalavala238c2b22017-06-08 17:43:57 -0700347 "cpas_ahb_clk",
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700348 "camnoc_axi_clk";
349 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
350 <&clock_gcc GCC_CAMERA_AXI_CLK>,
351 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700352 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
Lakshmi Narayana Kalavala238c2b22017-06-08 17:43:57 -0700353 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700354 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>;
355 src-clock-name = "slow_ahb_clk_src";
Lakshmi Narayana Kalavala238c2b22017-06-08 17:43:57 -0700356 clock-rates = <0 0 0 80000000 0 0>;
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700357 qcom,msm-bus,name = "cam_ahb";
358 qcom,msm-bus,num-cases = <4>;
359 qcom,msm-bus,num-paths = <1>;
360 qcom,msm-bus,vectors-KBps =
361 <MSM_BUS_MASTER_AMPSS_M0
362 MSM_BUS_SLAVE_CAMERA_CFG 0 0>,
363 <MSM_BUS_MASTER_AMPSS_M0
364 MSM_BUS_SLAVE_CAMERA_CFG 0 300000>,
365 <MSM_BUS_MASTER_AMPSS_M0
366 MSM_BUS_SLAVE_CAMERA_CFG 0 640000>,
367 <MSM_BUS_MASTER_AMPSS_M0
368 MSM_BUS_SLAVE_CAMERA_CFG 0 640000>;
Pavan Kumar Chilamkurthi071f3d22017-05-31 22:33:48 -0700369 vdd-corners = <RPMH_REGULATOR_LEVEL_OFF
370 RPMH_REGULATOR_LEVEL_RETENTION
371 RPMH_REGULATOR_LEVEL_MIN_SVS
372 RPMH_REGULATOR_LEVEL_LOW_SVS
373 RPMH_REGULATOR_LEVEL_SVS
374 RPMH_REGULATOR_LEVEL_SVS_L1
375 RPMH_REGULATOR_LEVEL_NOM
376 RPMH_REGULATOR_LEVEL_NOM_L1
377 RPMH_REGULATOR_LEVEL_NOM_L2
378 RPMH_REGULATOR_LEVEL_TURBO
379 RPMH_REGULATOR_LEVEL_TURBO_L1>;
380 vdd-corner-ahb-mapping = "suspend", "suspend",
381 "svs", "svs", "svs", "svs",
382 "nominal", "nominal", "nominal",
383 "turbo", "turbo";
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700384 client-id-based;
385 client-names =
386 "csiphy0", "csiphy1", "csiphy2", "cci0",
Pavan Kumar Chilamkurthi4e070ba2017-05-12 14:47:04 -0700387 "csid0", "csid1", "csid2",
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700388 "ife0", "ife1", "ife2", "ipe0",
389 "ipe1", "cam-cdm-intf0", "cpas-cdm0", "bps0",
390 "icp0", "jpeg-dma0", "jpeg0", "fd0";
391 client-axi-port-names =
392 "cam_hf_1", "cam_hf_2", "cam_hf_2", "cam_sf_1",
Pavan Kumar Chilamkurthi4e070ba2017-05-12 14:47:04 -0700393 "cam_hf_1", "cam_hf_2", "cam_hf_2",
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700394 "cam_hf_1", "cam_hf_2", "cam_hf_2", "cam_sf_1",
395 "cam_sf_1", "cam_sf_1", "cam_sf_1", "cam_sf_1",
396 "cam_sf_1", "cam_sf_1", "cam_sf_1", "cam_sf_1";
397 client-bus-camnoc-based;
398 qcom,axi-port-list {
399 qcom,axi-port1 {
400 qcom,axi-port-name = "cam_hf_1";
401 qcom,axi-port-mnoc {
402 qcom,msm-bus,name = "cam_hf_1_mnoc";
403 qcom,msm-bus-vector-dyn-vote;
404 qcom,msm-bus,num-cases = <2>;
405 qcom,msm-bus,num-paths = <1>;
406 qcom,msm-bus,vectors-KBps =
Pavan Kumar Chilamkurthid34fd882017-06-01 01:53:09 -0700407 <MSM_BUS_MASTER_CAMNOC_HF0
408 MSM_BUS_SLAVE_EBI_CH0 0 0>,
409 <MSM_BUS_MASTER_CAMNOC_HF0
410 MSM_BUS_SLAVE_EBI_CH0 0 0>;
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700411 };
412 qcom,axi-port-camnoc {
413 qcom,msm-bus,name = "cam_hf_1_camnoc";
414 qcom,msm-bus-vector-dyn-vote;
415 qcom,msm-bus,num-cases = <2>;
416 qcom,msm-bus,num-paths = <1>;
417 qcom,msm-bus,vectors-KBps =
Pavan Kumar Chilamkurthid34fd882017-06-01 01:53:09 -0700418 <MSM_BUS_MASTER_CAMNOC_HF0_UNCOMP
419 MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>,
420 <MSM_BUS_MASTER_CAMNOC_HF0_UNCOMP
421 MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>;
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700422 };
423 };
424 qcom,axi-port2 {
425 qcom,axi-port-name = "cam_hf_2";
426 qcom,axi-port-mnoc {
427 qcom,msm-bus,name = "cam_hf_2_mnoc";
428 qcom,msm-bus-vector-dyn-vote;
429 qcom,msm-bus,num-cases = <2>;
430 qcom,msm-bus,num-paths = <1>;
431 qcom,msm-bus,vectors-KBps =
Pavan Kumar Chilamkurthid34fd882017-06-01 01:53:09 -0700432 <MSM_BUS_MASTER_CAMNOC_HF1
433 MSM_BUS_SLAVE_EBI_CH0 0 0>,
434 <MSM_BUS_MASTER_CAMNOC_HF1
435 MSM_BUS_SLAVE_EBI_CH0 0 0>;
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700436 };
437 qcom,axi-port-camnoc {
Pavan Kumar Chilamkurthid34fd882017-06-01 01:53:09 -0700438 qcom,msm-bus,name = "cam_hf_2_camnoc";
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700439 qcom,msm-bus-vector-dyn-vote;
440 qcom,msm-bus,num-cases = <2>;
441 qcom,msm-bus,num-paths = <1>;
442 qcom,msm-bus,vectors-KBps =
Pavan Kumar Chilamkurthid34fd882017-06-01 01:53:09 -0700443 <MSM_BUS_MASTER_CAMNOC_HF1_UNCOMP
444 MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>,
445 <MSM_BUS_MASTER_CAMNOC_HF1_UNCOMP
446 MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>;
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700447 };
448 };
449 qcom,axi-port3 {
450 qcom,axi-port-name = "cam_sf_1";
451 qcom,axi-port-mnoc {
452 qcom,msm-bus,name = "cam_sf_1_mnoc";
453 qcom,msm-bus-vector-dyn-vote;
454 qcom,msm-bus,num-cases = <2>;
455 qcom,msm-bus,num-paths = <1>;
456 qcom,msm-bus,vectors-KBps =
Pavan Kumar Chilamkurthid34fd882017-06-01 01:53:09 -0700457 <MSM_BUS_MASTER_CAMNOC_SF
458 MSM_BUS_SLAVE_EBI_CH0 0 0>,
459 <MSM_BUS_MASTER_CAMNOC_SF
460 MSM_BUS_SLAVE_EBI_CH0 0 0>;
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700461 };
462 qcom,axi-port-camnoc {
463 qcom,msm-bus,name = "cam_sf_1_camnoc";
464 qcom,msm-bus-vector-dyn-vote;
465 qcom,msm-bus,num-cases = <2>;
466 qcom,msm-bus,num-paths = <1>;
467 qcom,msm-bus,vectors-KBps =
Pavan Kumar Chilamkurthid34fd882017-06-01 01:53:09 -0700468 <MSM_BUS_MASTER_CAMNOC_SF_UNCOMP
469 MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>,
470 <MSM_BUS_MASTER_CAMNOC_SF_UNCOMP
471 MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>;
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700472 };
473 };
474 };
475 };
Hariram Purushothamane87b44e02017-03-29 13:53:01 -0700476
477 qcom,cam-cdm-intf {
478 compatible = "qcom,cam-cdm-intf";
479 cell-index = <0>;
480 label = "cam-cdm-intf";
481 num-hw-cdm = <1>;
Hariram Purushothaman91c8cb52017-04-24 21:53:36 -0700482 cdm-client-names = "vfe",
Hariram Purushothamane87b44e02017-03-29 13:53:01 -0700483 "jpeg-dma",
484 "jpeg",
485 "fd";
486 status = "ok";
487 };
488
489 qcom,cpas-cdm0@ac48000 {
490 cell-index = <0>;
491 compatible = "qcom,cam170-cpas-cdm0";
492 label = "cpas-cdm";
493 reg = <0xac48000 0x1000>;
494 reg-names = "cpas-cdm";
495 reg-cam-base = <0x48000>;
496 interrupts = <0 461 0>;
497 interrupt-names = "cpas-cdm";
498 regulator-names = "camss";
499 camss-supply = <&titan_top_gdsc>;
500 clock-names = "gcc_camera_ahb",
501 "gcc_camera_axi",
502 "cam_cc_soc_ahb_clk",
503 "cam_cc_cpas_ahb_clk",
504 "cam_cc_camnoc_axi_clk";
505 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
506 <&clock_gcc GCC_CAMERA_AXI_CLK>,
507 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
508 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
509 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>;
510 clock-rates = <0 0 0 0 0>;
Hariram Purushothaman91c8cb52017-04-24 21:53:36 -0700511 cdm-client-names = "ife";
Hariram Purushothamane87b44e02017-03-29 13:53:01 -0700512 status = "ok";
513 };
Jing Zhoud4020692017-02-09 15:16:49 -0800514
515 qcom,cam-isp {
516 compatible = "qcom,cam-isp";
517 arch-compat = "ife";
518 status = "ok";
519 };
520
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700521 cam_csid0: qcom,csid0@acb3000 {
Jing Zhoud4020692017-02-09 15:16:49 -0800522 cell-index = <0>;
523 compatible = "qcom,csid170";
524 reg-names = "csid";
525 reg = <0xacb3000 0x1000>;
526 reg-cam-base = <0xb3000>;
527 interrupt-names = "csid";
528 interrupts = <0 464 0>;
529 regulator-names = "camss", "ife0";
530 camss-supply = <&titan_top_gdsc>;
531 ife0-supply = <&ife_0_gdsc>;
532 clock-names = "camera_ahb",
533 "camera_axi",
534 "soc_ahb_clk",
535 "cpas_ahb_clk",
536 "slow_ahb_clk_src",
537 "ife_csid_clk",
538 "ife_csid_clk_src",
539 "ife_cphy_rx_clk",
540 "cphy_rx_clk_src",
541 "ife_clk",
542 "ife_clk_src",
543 "camnoc_axi_clk",
544 "ife_axi_clk";
545 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
546 <&clock_gcc GCC_CAMERA_AXI_CLK>,
547 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
548 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
549 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
550 <&clock_camcc CAM_CC_IFE_0_CSID_CLK>,
551 <&clock_camcc CAM_CC_IFE_0_CSID_CLK_SRC>,
552 <&clock_camcc CAM_CC_IFE_0_CPHY_RX_CLK>,
553 <&clock_camcc CAM_CC_CPHY_RX_CLK_SRC>,
554 <&clock_camcc CAM_CC_IFE_0_CLK>,
555 <&clock_camcc CAM_CC_IFE_0_CLK_SRC>,
556 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
557 <&clock_camcc CAM_CC_IFE_0_AXI_CLK>;
Harsh Shahff6bc352017-05-16 18:03:08 -0700558 clock-rates = <0 0 0 0 0 0 500000000 0 0 0 60000000 0 0>;
Jing Zhoud4020692017-02-09 15:16:49 -0800559 src-clock-name = "ife_csid_clk_src";
560 status = "ok";
561 };
562
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700563 cam_vfe0: qcom,vfe0@acaf000 {
Jing Zhoud4020692017-02-09 15:16:49 -0800564 cell-index = <0>;
565 compatible = "qcom,vfe170";
566 reg-names = "ife";
567 reg = <0xacaf000 0x4000>;
568 reg-cam-base = <0xaf000>;
569 interrupt-names = "ife";
570 interrupts = <0 465 0>;
571 regulator-names = "camss", "ife0";
572 camss-supply = <&titan_top_gdsc>;
573 ife0-supply = <&ife_0_gdsc>;
574 clock-names = "camera_ahb",
575 "camera_axi",
576 "soc_ahb_clk",
577 "cpas_ahb_clk",
578 "slow_ahb_clk_src",
579 "ife_clk",
580 "ife_clk_src",
581 "camnoc_axi_clk",
582 "ife_axi_clk";
583 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
584 <&clock_gcc GCC_CAMERA_AXI_CLK>,
585 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
586 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
587 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
588 <&clock_camcc CAM_CC_IFE_0_CLK>,
589 <&clock_camcc CAM_CC_IFE_0_CLK_SRC>,
590 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
591 <&clock_camcc CAM_CC_IFE_0_AXI_CLK>;
Harsh Shahff6bc352017-05-16 18:03:08 -0700592 clock-rates = <0 0 0 0 0 0 600000000 0 0>;
Jing Zhoud4020692017-02-09 15:16:49 -0800593 src-clock-name = "ife_clk_src";
594 clock-names-option = "ife_dsp_clk";
595 clocks-option = <&clock_camcc CAM_CC_IFE_0_DSP_CLK>;
596 clock-rates-option = <404000000>;
597 status = "ok";
598 };
599
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700600 cam_csid1: qcom,csid1@acba000 {
Jing Zhoud4020692017-02-09 15:16:49 -0800601 cell-index = <1>;
602 compatible = "qcom,csid170";
603 reg-names = "csid";
604 reg = <0xacba000 0x1000>;
605 reg-cam-base = <0xba000>;
606 interrupt-names = "csid";
607 interrupts = <0 466 0>;
608 regulator-names = "camss", "ife1";
609 camss-supply = <&titan_top_gdsc>;
610 ife1-supply = <&ife_1_gdsc>;
611 clock-names = "camera_ahb",
612 "camera_axi",
613 "soc_ahb_clk",
614 "cpas_ahb_clk",
615 "slow_ahb_clk_src",
616 "ife_csid_clk",
617 "ife_csid_clk_src",
618 "ife_cphy_rx_clk",
619 "cphy_rx_clk_src",
620 "ife_clk",
621 "ife_clk_src",
622 "camnoc_axi_clk",
623 "ife_axi_clk";
624 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
625 <&clock_gcc GCC_CAMERA_AXI_CLK>,
626 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
627 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
628 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
629 <&clock_camcc CAM_CC_IFE_1_CSID_CLK>,
630 <&clock_camcc CAM_CC_IFE_1_CSID_CLK_SRC>,
631 <&clock_camcc CAM_CC_IFE_1_CPHY_RX_CLK>,
632 <&clock_camcc CAM_CC_CPHY_RX_CLK_SRC>,
633 <&clock_camcc CAM_CC_IFE_1_CLK>,
634 <&clock_camcc CAM_CC_IFE_1_CLK_SRC>,
635 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
636 <&clock_camcc CAM_CC_IFE_1_AXI_CLK>;
Harsh Shahff6bc352017-05-16 18:03:08 -0700637 clock-rates = <0 0 0 0 0 0 500000000 0 0 0 60000000 0 0>;
Jing Zhoud4020692017-02-09 15:16:49 -0800638 src-clock-name = "ife_csid_clk_src";
639 status = "ok";
640 };
641
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700642 cam_vfe1: qcom,vfe1@acb6000 {
Jing Zhoud4020692017-02-09 15:16:49 -0800643 cell-index = <1>;
644 compatible = "qcom,vfe170";
645 reg-names = "ife";
646 reg = <0xacb6000 0x4000>;
647 reg-cam-base = <0xb6000>;
648 interrupt-names = "ife";
649 interrupts = <0 467 0>;
650 regulator-names = "camss", "ife1";
651 camss-supply = <&titan_top_gdsc>;
652 ife1-supply = <&ife_1_gdsc>;
653 clock-names = "camera_ahb",
654 "camera_axi",
655 "soc_ahb_clk",
656 "cpas_ahb_clk",
657 "slow_ahb_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_CLK>,
668 <&clock_camcc CAM_CC_IFE_1_CLK_SRC>,
669 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
670 <&clock_camcc CAM_CC_IFE_1_AXI_CLK>;
Harsh Shahff6bc352017-05-16 18:03:08 -0700671 clock-rates = <0 0 0 0 0 0 600000000 0 0>;
Jing Zhoud4020692017-02-09 15:16:49 -0800672 src-clock-name = "ife_clk_src";
673 clock-names-option = "ife_dsp_clk";
674 clocks-option = <&clock_camcc CAM_CC_IFE_1_DSP_CLK>;
675 clock-rates-option = <404000000>;
676 status = "ok";
677 };
678
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700679 cam_csid_lite: qcom,csid-lite@acc8000 {
Jing Zhoud4020692017-02-09 15:16:49 -0800680 cell-index = <2>;
681 compatible = "qcom,csid-lite170";
682 reg-names = "csid-lite";
683 reg = <0xacc8000 0x1000>;
684 reg-cam-base = <0xc8000>;
685 interrupt-names = "csid-lite";
686 interrupts = <0 468 0>;
687 regulator-names = "camss";
688 camss-supply = <&titan_top_gdsc>;
689 clock-names = "camera_ahb",
690 "camera_axi",
691 "soc_ahb_clk",
692 "cpas_ahb_clk",
693 "slow_ahb_clk_src",
694 "ife_csid_clk",
695 "ife_csid_clk_src",
696 "ife_cphy_rx_clk",
697 "cphy_rx_clk_src",
698 "ife_clk",
699 "ife_clk_src",
700 "camnoc_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_LITE_CSID_CLK>,
707 <&clock_camcc CAM_CC_IFE_LITE_CSID_CLK_SRC>,
708 <&clock_camcc CAM_CC_IFE_LITE_CPHY_RX_CLK>,
709 <&clock_camcc CAM_CC_CPHY_RX_CLK_SRC>,
710 <&clock_camcc CAM_CC_IFE_LITE_CLK>,
711 <&clock_camcc CAM_CC_IFE_LITE_CLK_SRC>,
712 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>;
713 clock-rates = <0 0 0 0 0 0 384000000 0 0 0 40400000 0>;
714 src-clock-name = "ife_csid_clk_src";
715 status = "ok";
716 };
717
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700718 cam_vfe_lite: qcom,vfe-lite@acc4000 {
Jing Zhoud4020692017-02-09 15:16:49 -0800719 cell-index = <2>;
720 compatible = "qcom,vfe-lite170";
721 reg-names = "ife-lite";
722 reg = <0xacc4000 0x4000>;
723 reg-cam-base = <0xc4000>;
724 interrupt-names = "ife-lite";
725 interrupts = <0 469 0>;
726 regulator-names = "camss";
727 camss-supply = <&titan_top_gdsc>;
728 clock-names = "camera_ahb",
729 "camera_axi",
730 "soc_ahb_clk",
731 "cpas_ahb_clk",
732 "slow_ahb_clk_src",
733 "ife_clk",
734 "ife_clk_src",
735 "camnoc_axi_clk";
736 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
737 <&clock_gcc GCC_CAMERA_AXI_CLK>,
738 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
739 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
740 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
741 <&clock_camcc CAM_CC_IFE_LITE_CLK>,
742 <&clock_camcc CAM_CC_IFE_LITE_CLK_SRC>,
743 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>;
744 qcom,clock-rates = <0 0 0 0 0 0 404000000 0>;
745 src-clock-name = "ife_clk_src";
746 status = "ok";
747 };
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700748
749 qcom,cam-icp {
750 compatible = "qcom,cam-icp";
751 compat-hw-name = "qcom,a5",
752 "qcom,ipe0",
753 "qcom,ipe1",
754 "qcom,bps";
755 num-a5 = <1>;
756 num-ipe = <2>;
757 num-bps = <1>;
758 status = "ok";
759 };
760
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700761 cam_a5: qcom,a5@ac00000 {
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700762 cell-index = <0>;
763 compatible = "qcom,cam_a5";
764 reg = <0xac00000 0x6000>,
765 <0xac10000 0x8000>,
766 <0xac18000 0x3000>;
767 reg-names = "a5_qgic", "a5_sierra", "a5_csr";
768 reg-cam-base = <0x00000 0x10000 0x18000>;
769 interrupts = <0 463 0>;
770 interrupt-names = "a5";
771 regulator-names = "camss-vdd";
772 camss-vdd-supply = <&titan_top_gdsc>;
773 clock-names = "gcc_cam_ahb_clk",
774 "gcc_cam_axi_clk",
Lakshmi Narayana Kalavala238c2b22017-06-08 17:43:57 -0700775 "soc_fast_ahb",
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700776 "soc_ahb_clk",
777 "cpas_ahb_clk",
778 "camnoc_axi_clk",
779 "icp_apb_clk",
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700780 "icp_clk",
Lakshmi Narayana Kalavalae5f367a2017-05-25 11:36:18 -0700781 "icp_clk_src";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700782 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
783 <&clock_gcc GCC_CAMERA_AXI_CLK>,
Lakshmi Narayana Kalavala238c2b22017-06-08 17:43:57 -0700784 <&clock_camcc CAM_CC_FAST_AHB_CLK_SRC>,
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700785 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
786 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
787 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
788 <&clock_camcc CAM_CC_ICP_APB_CLK>,
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700789 <&clock_camcc CAM_CC_ICP_CLK>,
Lakshmi Narayana Kalavalae5f367a2017-05-25 11:36:18 -0700790 <&clock_camcc CAM_CC_ICP_CLK_SRC>;
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700791
Lakshmi Narayana Kalavala238c2b22017-06-08 17:43:57 -0700792 clock-rates = <0 0 400000000 0 0 0 0 0 600000000>;
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700793 fw_name = "CAMERA_ICP.elf";
794 status = "ok";
795 };
796
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700797 cam_ipe0: qcom,ipe0 {
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700798 cell-index = <0>;
799 compatible = "qcom,cam_ipe";
800 regulator-names = "ipe0-vdd";
801 ipe0-vdd-supply = <&ipe_0_gdsc>;
802 clock-names = "ipe_0_ahb_clk",
803 "ipe_0_areg_clk",
804 "ipe_0_axi_clk",
805 "ipe_0_clk",
806 "ipe_0_clk_src";
807 clocks = <&clock_camcc CAM_CC_IPE_0_AHB_CLK>,
808 <&clock_camcc CAM_CC_IPE_0_AREG_CLK>,
809 <&clock_camcc CAM_CC_IPE_0_AXI_CLK>,
810 <&clock_camcc CAM_CC_IPE_0_CLK>,
811 <&clock_camcc CAM_CC_IPE_0_CLK_SRC>;
812
Lakshmi Narayana Kalavala238c2b22017-06-08 17:43:57 -0700813 clock-rates = <0 0 0 0 600000000>;
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700814 status = "ok";
815 };
816
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700817 cam_ipe1: qcom,ipe1 {
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700818 cell-index = <1>;
819 compatible = "qcom,cam_ipe";
820 regulator-names = "ipe1-vdd";
821 ipe1-vdd-supply = <&ipe_1_gdsc>;
822 clock-names = "ipe_1_ahb_clk",
823 "ipe_1_areg_clk",
824 "ipe_1_axi_clk",
825 "ipe_1_clk",
826 "ipe_1_clk_src";
827 clocks = <&clock_camcc CAM_CC_IPE_1_AHB_CLK>,
828 <&clock_camcc CAM_CC_IPE_1_AREG_CLK>,
829 <&clock_camcc CAM_CC_IPE_1_AXI_CLK>,
830 <&clock_camcc CAM_CC_IPE_1_CLK>,
831 <&clock_camcc CAM_CC_IPE_1_CLK_SRC>;
832
Lakshmi Narayana Kalavala238c2b22017-06-08 17:43:57 -0700833 clock-rates = <0 0 0 0 600000000>;
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700834 status = "ok";
835 };
836
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700837 cam_bps: qcom,bps {
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700838 cell-index = <0>;
839 compatible = "qcom,cam_bps";
840 regulator-names = "bps-vdd";
841 bps-vdd-supply = <&bps_gdsc>;
842 clock-names = "bps_ahb_clk",
843 "bps_areg_clk",
844 "bps_axi_clk",
845 "bps_clk",
846 "bps_clk_src";
847 clocks = <&clock_camcc CAM_CC_BPS_AHB_CLK>,
848 <&clock_camcc CAM_CC_BPS_AREG_CLK>,
849 <&clock_camcc CAM_CC_BPS_AXI_CLK>,
850 <&clock_camcc CAM_CC_BPS_CLK>,
851 <&clock_camcc CAM_CC_BPS_CLK_SRC>;
852
Lakshmi Narayana Kalavala238c2b22017-06-08 17:43:57 -0700853 clock-rates = <0 0 0 0 600000000>;
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700854 status = "ok";
855 };
Lakshmi Narayana Kalavalac0dac062016-12-01 17:20:09 -0800856};