blob: 628f840e0fe4a9ff55d576b460bc1fbde4eaecf2 [file] [log] [blame]
Suresh Vankadara402d0ca2017-10-26 22:54:54 +05301/*
Pavan Kumar Chilamkurthicc4f59c2018-01-25 13:44:22 -08002 * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
Suresh Vankadara402d0ca2017-10-26 22:54:54 +05303 *
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 };
19
20 cam_csiphy0: qcom,csiphy@ac65000 {
21 cell-index = <0>;
22 compatible = "qcom,csiphy-v1.0", "qcom,csiphy";
23 reg = <0x0ac65000 0x1000>;
24 reg-names = "csiphy";
25 reg-cam-base = <0x65000>;
26 interrupts = <0 477 0>;
27 interrupt-names = "csiphy";
28 regulator-names = "gdscr", "refgen";
29 gdscr-supply = <&titan_top_gdsc>;
30 refgen-supply = <&refgen>;
31 csi-vdd-voltage = <1200000>;
32 mipi-csi-vdd-supply = <&pm660_l1>;
33 clocks = <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
34 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
35 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
36 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
37 <&clock_camcc CAM_CC_CPHY_RX_CLK_SRC>,
38 <&clock_camcc CAM_CC_CSIPHY0_CLK>,
39 <&clock_camcc CAM_CC_CSI0PHYTIMER_CLK_SRC>,
40 <&clock_camcc CAM_CC_CSI0PHYTIMER_CLK>;
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 clock-cntl-level = "turbo";
50 clock-rates =
51 <0 0 0 0 384000000 0 269333333 0>;
52 status = "ok";
53 };
54
55 cam_csiphy1: qcom,csiphy@ac66000{
56 cell-index = <1>;
57 compatible = "qcom,csiphy-v1.0", "qcom,csiphy";
58 reg = <0xac66000 0x1000>;
59 reg-names = "csiphy";
60 reg-cam-base = <0x66000>;
61 interrupts = <0 478 0>;
62 interrupt-names = "csiphy";
63 regulator-names = "gdscr", "refgen";
64 gdscr-supply = <&titan_top_gdsc>;
65 refgen-supply = <&refgen>;
66 csi-vdd-voltage = <1200000>;
67 mipi-csi-vdd-supply = <&pm660_l1>;
68 clocks = <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
69 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
70 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
71 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
72 <&clock_camcc CAM_CC_CPHY_RX_CLK_SRC>,
73 <&clock_camcc CAM_CC_CSIPHY1_CLK>,
74 <&clock_camcc CAM_CC_CSI1PHYTIMER_CLK_SRC>,
75 <&clock_camcc CAM_CC_CSI1PHYTIMER_CLK>;
76 clock-names = "camnoc_axi_clk",
77 "soc_ahb_clk",
78 "slow_ahb_src_clk",
79 "cpas_ahb_clk",
80 "cphy_rx_clk_src",
81 "csiphy1_clk",
82 "csi1phytimer_clk_src",
83 "csi1phytimer_clk";
84 clock-cntl-level = "turbo";
85 clock-rates =
86 <0 0 0 0 384000000 0 269333333 0>;
87
88 status = "ok";
89 };
90
91 cam_csiphy2: qcom,csiphy@ac67000 {
92 cell-index = <2>;
93 compatible = "qcom,csiphy-v1.0", "qcom,csiphy";
94 reg = <0xac67000 0x1000>;
95 reg-names = "csiphy";
96 reg-cam-base = <0x67000>;
97 interrupts = <0 479 0>;
98 interrupt-names = "csiphy";
99 regulator-names = "gdscr", "refgen";
100 gdscr-supply = <&titan_top_gdsc>;
101 refgen-supply = <&refgen>;
102 csi-vdd-voltage = <1200000>;
103 mipi-csi-vdd-supply = <&pm660_l1>;
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-names = "camnoc_axi_clk",
113 "soc_ahb_clk",
114 "slow_ahb_src_clk",
115 "cpas_ahb_clk",
116 "cphy_rx_clk_src",
117 "csiphy2_clk",
118 "csi2phytimer_clk_src",
119 "csi2phytimer_clk";
120 clock-cntl-level = "turbo";
121 clock-rates =
122 <0 0 0 0 384000000 0 269333333 0>;
123 status = "ok";
124 };
125
126 cam_cci: qcom,cci@ac4a000 {
127 cell-index = <0>;
128 compatible = "qcom,cci";
129 #address-cells = <1>;
130 #size-cells = <0>;
131 reg = <0xac4a000 0x4000>;
132 reg-names = "cci";
133 reg-cam-base = <0x4a000>;
134 interrupt-names = "cci";
135 interrupts = <0 460 0>;
136 status = "ok";
137 gdscr-supply = <&titan_top_gdsc>;
138 regulator-names = "gdscr";
139 clocks = <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
140 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
141 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
142 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
143 <&clock_camcc CAM_CC_CCI_CLK>,
144 <&clock_camcc CAM_CC_CCI_CLK_SRC>;
145 clock-names = "camnoc_axi_clk",
146 "soc_ahb_clk",
147 "slow_ahb_src_clk",
148 "cpas_ahb_clk",
149 "cci_clk",
150 "cci_clk_src";
151 src-clock-name = "cci_clk_src";
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -0700152 clock-cntl-level = "lowsvs";
Suresh Vankadara402d0ca2017-10-26 22:54:54 +0530153 clock-rates = <0 0 0 0 0 37500000>;
154 pinctrl-names = "cam_default", "cam_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 gpio-req-tbl-num = <0 1 2 3>;
162 gpio-req-tbl-flags = <1 1 1 1>;
163 gpio-req-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 hw-thigh = <201>;
170 hw-tlow = <174>;
171 hw-tsu-sto = <204>;
172 hw-tsu-sta = <231>;
173 hw-thd-dat = <22>;
174 hw-thd-sta = <162>;
175 hw-tbuf = <227>;
176 hw-scl-stretch-en = <0>;
177 hw-trdhld = <6>;
178 hw-tsp = <3>;
179 cci-clk-src = <37500000>;
180 status = "ok";
181 };
182
183 i2c_freq_400Khz: qcom,i2c_fast_mode {
184 hw-thigh = <38>;
185 hw-tlow = <56>;
186 hw-tsu-sto = <40>;
187 hw-tsu-sta = <40>;
188 hw-thd-dat = <22>;
189 hw-thd-sta = <35>;
190 hw-tbuf = <62>;
191 hw-scl-stretch-en = <0>;
192 hw-trdhld = <6>;
193 hw-tsp = <3>;
194 cci-clk-src = <37500000>;
195 status = "ok";
196 };
197
198 i2c_freq_custom: qcom,i2c_custom_mode {
199 hw-thigh = <38>;
200 hw-tlow = <56>;
201 hw-tsu-sto = <40>;
202 hw-tsu-sta = <40>;
203 hw-thd-dat = <22>;
204 hw-thd-sta = <35>;
205 hw-tbuf = <62>;
206 hw-scl-stretch-en = <1>;
207 hw-trdhld = <6>;
208 hw-tsp = <3>;
209 cci-clk-src = <37500000>;
210 status = "ok";
211 };
212
213 i2c_freq_1Mhz: qcom,i2c_fast_plus_mode {
214 hw-thigh = <16>;
215 hw-tlow = <22>;
216 hw-tsu-sto = <17>;
217 hw-tsu-sta = <18>;
218 hw-thd-dat = <16>;
219 hw-thd-sta = <15>;
220 hw-tbuf = <24>;
221 hw-scl-stretch-en = <0>;
222 hw-trdhld = <3>;
223 hw-tsp = <3>;
224 cci-clk-src = <37500000>;
225 status = "ok";
226 };
227 };
228
229 qcom,cam_smmu {
230 compatible = "qcom,msm-cam-smmu";
231 status = "ok";
Sumukh Hallymysore Ravindra0bd1cde2017-12-07 11:26:31 -0800232 non-fatal-fault-disabled;
Suresh Vankadara402d0ca2017-10-26 22:54:54 +0530233
Alok Pandey46e0e762017-11-17 19:08:36 +0530234 msm_cam_smmu_lrme {
235 compatible = "qcom,msm-cam-smmu-cb";
236 iommus = <&apps_smmu 0x1038 0x0>,
237 <&apps_smmu 0x1058 0x0>,
238 <&apps_smmu 0x1039 0x0>,
239 <&apps_smmu 0x1059 0x0>;
240 label = "lrme";
241 lrme_iova_mem_map: iova-mem-map {
242 iova-mem-region-shared {
243 /* Shared region is 100MB long */
244 iova-region-name = "shared";
245 iova-region-start = <0x7400000>;
246 iova-region-len = <0x6400000>;
247 iova-region-id = <0x1>;
248 status = "ok";
249 };
250 /* IO region is approximately 3.3 GB */
251 iova-mem-region-io {
252 iova-region-name = "io";
253 iova-region-start = <0xd800000>;
254 iova-region-len = <0xd2800000>;
255 iova-region-id = <0x3>;
256 status = "ok";
257 };
258 };
259 };
260
Suresh Vankadara402d0ca2017-10-26 22:54:54 +0530261 msm_cam_smmu_ife {
262 compatible = "qcom,msm-cam-smmu-cb";
263 iommus = <&apps_smmu 0x808 0x0>,
264 <&apps_smmu 0x810 0x8>,
265 <&apps_smmu 0xc08 0x0>,
266 <&apps_smmu 0xc10 0x8>;
267 label = "ife";
268 ife_iova_mem_map: iova-mem-map {
269 /* IO region is approximately 3.4 GB */
270 iova-mem-region-io {
271 iova-region-name = "io";
272 iova-region-start = <0x7400000>;
273 iova-region-len = <0xd8c00000>;
274 iova-region-id = <0x3>;
275 status = "ok";
276 };
277 };
278 };
279
280 msm_cam_smmu_jpeg {
281 compatible = "qcom,msm-cam-smmu-cb";
282 iommus = <&apps_smmu 0x1060 0x8>,
283 <&apps_smmu 0x1068 0x8>;
284 label = "jpeg";
285 jpeg_iova_mem_map: iova-mem-map {
286 /* IO region is approximately 3.4 GB */
287 iova-mem-region-io {
288 iova-region-name = "io";
289 iova-region-start = <0x7400000>;
290 iova-region-len = <0xd8c00000>;
291 iova-region-id = <0x3>;
292 status = "ok";
293 };
294 };
295 };
296
297 msm_cam_icp_fw {
298 compatible = "qcom,msm-cam-smmu-fw-dev";
299 label="icp";
300 memory-region = <&pil_camera_mem>;
301 };
302
303 msm_cam_smmu_icp {
304 compatible = "qcom,msm-cam-smmu-cb";
305 iommus = <&apps_smmu 0x107A 0x0>,
306 <&apps_smmu 0x1020 0x8>,
307 <&apps_smmu 0x1040 0x8>,
308 <&apps_smmu 0x1030 0x0>,
309 <&apps_smmu 0x1050 0x0>;
310 label = "icp";
311 icp_iova_mem_map: iova-mem-map {
312 iova-mem-region-firmware {
313 /* Firmware region is 5MB */
314 iova-region-name = "firmware";
315 iova-region-start = <0x0>;
316 iova-region-len = <0x500000>;
317 iova-region-id = <0x0>;
318 status = "ok";
319 };
320
321 iova-mem-region-shared {
322 /* Shared region is 100MB long */
323 iova-region-name = "shared";
324 iova-region-start = <0x7400000>;
325 iova-region-len = <0x6400000>;
326 iova-region-id = <0x1>;
327 iova-granularity = <0x15>;
328 status = "ok";
329 };
330
331 iova-mem-region-secondary-heap {
332 /* Secondary heap region is 1MB long */
333 iova-region-name = "secheap";
334 iova-region-start = <0xd800000>;
335 iova-region-len = <0x100000>;
336 iova-region-id = <0x4>;
337 status = "ok";
338 };
339
340 iova-mem-region-io {
341 /* IO region is approximately 3.3 GB */
342 iova-region-name = "io";
343 iova-region-start = <0xd900000>;
344 iova-region-len = <0xd2700000>;
345 iova-region-id = <0x3>;
346 status = "ok";
347 };
348 };
349 };
350
351 msm_cam_smmu_cpas_cdm {
352 compatible = "qcom,msm-cam-smmu-cb";
353 iommus = <&apps_smmu 0x1000 0x0>;
354 label = "cpas-cdm0";
355 cpas_cdm_iova_mem_map: iova-mem-map {
356 iova-mem-region-io {
357 /* IO region is approximately 3.4 GB */
358 iova-region-name = "io";
359 iova-region-start = <0x7400000>;
360 iova-region-len = <0xd8c00000>;
361 iova-region-id = <0x3>;
362 status = "ok";
363 };
364 };
365 };
366
367 msm_cam_smmu_secure {
368 compatible = "qcom,msm-cam-smmu-cb";
369 label = "cam-secure";
370 qcom,secure-cb;
371 };
372
373 msm_cam_smmu_fd {
374 compatible = "qcom,msm-cam-smmu-cb";
375 iommus = <&apps_smmu 0x1070 0x0>;
376 label = "fd";
377 fd_iova_mem_map: iova-mem-map {
378 iova-mem-region-io {
379 /* IO region is approximately 3.4 GB */
380 iova-region-name = "io";
381 iova-region-start = <0x7400000>;
382 iova-region-len = <0xd8c00000>;
383 iova-region-id = <0x3>;
384 status = "ok";
385 };
386 };
387 };
388 };
389
390 qcom,cam-cpas@ac40000 {
391 cell-index = <0>;
392 compatible = "qcom,cam-cpas";
393 label = "cpas";
394 arch-compat = "cpas_top";
395 status = "ok";
396 reg-names = "cam_cpas_top", "cam_camnoc";
397 reg = <0xac40000 0x1000>,
398 <0xac42000 0x5000>;
399 reg-cam-base = <0x40000 0x42000>;
400 interrupt-names = "cpas_camnoc";
401 interrupts = <0 459 0>;
402 qcom,cpas-hw-ver = <0x170110>; /* Titan v170 v1.1.0 */
403 regulator-names = "camss-vdd";
404 camss-vdd-supply = <&titan_top_gdsc>;
405 clock-names = "gcc_ahb_clk",
406 "gcc_axi_clk",
407 "soc_ahb_clk",
408 "slow_ahb_clk_src",
409 "cpas_ahb_clk",
410 "camnoc_axi_clk";
411 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
412 <&clock_gcc GCC_CAMERA_AXI_CLK>,
413 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
414 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
415 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
416 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>;
417 src-clock-name = "slow_ahb_clk_src";
418 clock-rates = <0 0 0 0 0 0>,
419 <0 0 0 19200000 0 0>,
420 <0 0 0 80000000 0 0>,
421 <0 0 0 80000000 0 0>,
422 <0 0 0 80000000 0 0>,
423 <0 0 0 80000000 0 0>,
424 <0 0 0 80000000 0 0>;
425 clock-cntl-level = "suspend", "minsvs", "lowsvs", "svs",
426 "svs_l1", "nominal", "turbo";
427 qcom,msm-bus,name = "cam_ahb";
428 qcom,msm-bus,num-cases = <7>;
429 qcom,msm-bus,num-paths = <1>;
430 qcom,msm-bus,vectors-KBps =
431 <MSM_BUS_MASTER_AMPSS_M0
432 MSM_BUS_SLAVE_CAMERA_CFG 0 0>,
433 <MSM_BUS_MASTER_AMPSS_M0
Pavan Kumar Chilamkurthie2cd7562017-10-31 12:04:20 -0700434 MSM_BUS_SLAVE_CAMERA_CFG 0 76500>,
Suresh Vankadara402d0ca2017-10-26 22:54:54 +0530435 <MSM_BUS_MASTER_AMPSS_M0
Pavan Kumar Chilamkurthie2cd7562017-10-31 12:04:20 -0700436 MSM_BUS_SLAVE_CAMERA_CFG 0 120000>,
437 <MSM_BUS_MASTER_AMPSS_M0
438 MSM_BUS_SLAVE_CAMERA_CFG 0 150000>,
439 <MSM_BUS_MASTER_AMPSS_M0
440 MSM_BUS_SLAVE_CAMERA_CFG 0 150000>,
Suresh Vankadara402d0ca2017-10-26 22:54:54 +0530441 <MSM_BUS_MASTER_AMPSS_M0
442 MSM_BUS_SLAVE_CAMERA_CFG 0 300000>,
443 <MSM_BUS_MASTER_AMPSS_M0
Pavan Kumar Chilamkurthie2cd7562017-10-31 12:04:20 -0700444 MSM_BUS_SLAVE_CAMERA_CFG 0 300000>;
Suresh Vankadara402d0ca2017-10-26 22:54:54 +0530445 vdd-corners = <RPMH_REGULATOR_LEVEL_OFF
446 RPMH_REGULATOR_LEVEL_RETENTION
447 RPMH_REGULATOR_LEVEL_MIN_SVS
448 RPMH_REGULATOR_LEVEL_LOW_SVS
449 RPMH_REGULATOR_LEVEL_SVS
450 RPMH_REGULATOR_LEVEL_SVS_L1
451 RPMH_REGULATOR_LEVEL_NOM
452 RPMH_REGULATOR_LEVEL_NOM_L1
453 RPMH_REGULATOR_LEVEL_NOM_L2
454 RPMH_REGULATOR_LEVEL_TURBO
455 RPMH_REGULATOR_LEVEL_TURBO_L1>;
456 vdd-corner-ahb-mapping = "suspend", "suspend",
457 "minsvs", "lowsvs", "svs", "svs_l1",
458 "nominal", "nominal", "nominal",
459 "turbo", "turbo";
460 client-id-based;
461 client-names =
462 "csiphy0", "csiphy1", "csiphy2", "cci0",
463 "csid0", "csid1", "csid2",
464 "ife0", "ife1", "ife2", "ipe0",
465 "ipe1", "cam-cdm-intf0", "cpas-cdm0", "bps0",
Alok Pandey46e0e762017-11-17 19:08:36 +0530466 "icp0", "jpeg-dma0", "jpeg-enc0", "fd0", "lrmecpas0";
Suresh Vankadara402d0ca2017-10-26 22:54:54 +0530467 client-axi-port-names =
468 "cam_hf_1", "cam_hf_2", "cam_hf_2", "cam_sf_1",
469 "cam_hf_1", "cam_hf_2", "cam_hf_2",
470 "cam_hf_1", "cam_hf_2", "cam_hf_2", "cam_sf_1",
471 "cam_sf_1", "cam_sf_1", "cam_sf_1", "cam_sf_1",
Alok Pandey46e0e762017-11-17 19:08:36 +0530472 "cam_sf_1", "cam_sf_1", "cam_sf_1", "cam_sf_1",
473 "cam_sf_1";
Suresh Vankadara402d0ca2017-10-26 22:54:54 +0530474 client-bus-camnoc-based;
475 qcom,axi-port-list {
476 qcom,axi-port1 {
477 qcom,axi-port-name = "cam_hf_1";
478 qcom,axi-port-mnoc {
479 qcom,msm-bus,name = "cam_hf_1_mnoc";
480 qcom,msm-bus-vector-dyn-vote;
481 qcom,msm-bus,num-cases = <2>;
482 qcom,msm-bus,num-paths = <1>;
483 qcom,msm-bus,vectors-KBps =
484 <MSM_BUS_MASTER_CAMNOC_HF0
485 MSM_BUS_SLAVE_EBI_CH0 0 0>,
486 <MSM_BUS_MASTER_CAMNOC_HF0
487 MSM_BUS_SLAVE_EBI_CH0 0 0>;
488 };
489 qcom,axi-port-camnoc {
490 qcom,msm-bus,name = "cam_hf_1_camnoc";
491 qcom,msm-bus-vector-dyn-vote;
492 qcom,msm-bus,num-cases = <2>;
493 qcom,msm-bus,num-paths = <1>;
494 qcom,msm-bus,vectors-KBps =
495 <MSM_BUS_MASTER_CAMNOC_HF0_UNCOMP
496 MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>,
497 <MSM_BUS_MASTER_CAMNOC_HF0_UNCOMP
498 MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>;
499 };
500 };
501 qcom,axi-port2 {
502 qcom,axi-port-name = "cam_hf_2";
503 qcom,axi-port-mnoc {
504 qcom,msm-bus,name = "cam_hf_2_mnoc";
505 qcom,msm-bus-vector-dyn-vote;
506 qcom,msm-bus,num-cases = <2>;
507 qcom,msm-bus,num-paths = <1>;
508 qcom,msm-bus,vectors-KBps =
509 <MSM_BUS_MASTER_CAMNOC_HF1
510 MSM_BUS_SLAVE_EBI_CH0 0 0>,
511 <MSM_BUS_MASTER_CAMNOC_HF1
512 MSM_BUS_SLAVE_EBI_CH0 0 0>;
513 };
514 qcom,axi-port-camnoc {
515 qcom,msm-bus,name = "cam_hf_2_camnoc";
516 qcom,msm-bus-vector-dyn-vote;
517 qcom,msm-bus,num-cases = <2>;
518 qcom,msm-bus,num-paths = <1>;
519 qcom,msm-bus,vectors-KBps =
520 <MSM_BUS_MASTER_CAMNOC_HF1_UNCOMP
521 MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>,
522 <MSM_BUS_MASTER_CAMNOC_HF1_UNCOMP
523 MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>;
524 };
525 };
526 qcom,axi-port3 {
527 qcom,axi-port-name = "cam_sf_1";
528 qcom,axi-port-mnoc {
529 qcom,msm-bus,name = "cam_sf_1_mnoc";
530 qcom,msm-bus-vector-dyn-vote;
531 qcom,msm-bus,num-cases = <2>;
532 qcom,msm-bus,num-paths = <1>;
533 qcom,msm-bus,vectors-KBps =
534 <MSM_BUS_MASTER_CAMNOC_SF
535 MSM_BUS_SLAVE_EBI_CH0 0 0>,
536 <MSM_BUS_MASTER_CAMNOC_SF
537 MSM_BUS_SLAVE_EBI_CH0 0 0>;
538 };
539 qcom,axi-port-camnoc {
540 qcom,msm-bus,name = "cam_sf_1_camnoc";
541 qcom,msm-bus-vector-dyn-vote;
542 qcom,msm-bus,num-cases = <2>;
543 qcom,msm-bus,num-paths = <1>;
544 qcom,msm-bus,vectors-KBps =
545 <MSM_BUS_MASTER_CAMNOC_SF_UNCOMP
546 MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>,
547 <MSM_BUS_MASTER_CAMNOC_SF_UNCOMP
548 MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>;
549 };
550 };
551 };
552 };
553
554 qcom,cam-cdm-intf {
555 compatible = "qcom,cam-cdm-intf";
556 cell-index = <0>;
557 label = "cam-cdm-intf";
558 num-hw-cdm = <1>;
559 cdm-client-names = "vfe",
560 "jpegdma",
561 "jpegenc",
Alok Pandey46e0e762017-11-17 19:08:36 +0530562 "fd",
563 "lrmecdm";
Suresh Vankadara402d0ca2017-10-26 22:54:54 +0530564 status = "ok";
565 };
566
567 qcom,cpas-cdm0@ac48000 {
568 cell-index = <0>;
569 compatible = "qcom,cam170-cpas-cdm0";
570 label = "cpas-cdm";
571 reg = <0xac48000 0x1000>;
572 reg-names = "cpas-cdm";
573 reg-cam-base = <0x48000>;
574 interrupts = <0 461 0>;
575 interrupt-names = "cpas-cdm";
576 regulator-names = "camss";
577 camss-supply = <&titan_top_gdsc>;
578 clock-names = "gcc_camera_ahb",
579 "gcc_camera_axi",
580 "cam_cc_soc_ahb_clk",
581 "cam_cc_cpas_ahb_clk",
582 "cam_cc_camnoc_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_CAMNOC_AXI_CLK>;
588 clock-rates = <0 0 0 0 0>;
589 clock-cntl-level = "svs";
590 cdm-client-names = "ife";
591 status = "ok";
592 };
593
594 qcom,cam-isp {
595 compatible = "qcom,cam-isp";
596 arch-compat = "ife";
597 status = "ok";
598 };
599
600 cam_csid0: qcom,csid0@acb3000 {
601 cell-index = <0>;
602 compatible = "qcom,csid170";
603 reg-names = "csid";
604 reg = <0xacb3000 0x1000>;
605 reg-cam-base = <0xb3000>;
606 interrupt-names = "csid";
607 interrupts = <0 464 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_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_0_CSID_CLK>,
630 <&clock_camcc CAM_CC_IFE_0_CSID_CLK_SRC>,
631 <&clock_camcc CAM_CC_IFE_0_CPHY_RX_CLK>,
632 <&clock_camcc CAM_CC_CPHY_RX_CLK_SRC>,
633 <&clock_camcc CAM_CC_IFE_0_CLK>,
634 <&clock_camcc CAM_CC_IFE_0_CLK_SRC>,
635 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
636 <&clock_camcc CAM_CC_IFE_0_AXI_CLK>;
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -0700637 clock-rates =
638 <0 0 0 0 0 0 384000000 0 0 0 404000000 0 0>,
639 <0 0 0 0 0 0 538000000 0 0 0 600000000 0 0>;
640 clock-cntl-level = "svs", "turbo";
Suresh Vankadara402d0ca2017-10-26 22:54:54 +0530641 src-clock-name = "ife_csid_clk_src";
642 status = "ok";
643 };
644
645 cam_vfe0: qcom,vfe0@acaf000 {
646 cell-index = <0>;
647 compatible = "qcom,vfe170";
648 reg-names = "ife";
649 reg = <0xacaf000 0x4000>;
650 reg-cam-base = <0xaf000>;
651 interrupt-names = "ife";
652 interrupts = <0 465 0>;
653 regulator-names = "camss", "ife0";
654 camss-supply = <&titan_top_gdsc>;
655 ife0-supply = <&ife_0_gdsc>;
656 clock-names = "camera_ahb",
657 "camera_axi",
658 "soc_ahb_clk",
659 "cpas_ahb_clk",
660 "slow_ahb_clk_src",
661 "ife_clk",
662 "ife_clk_src",
663 "camnoc_axi_clk",
664 "ife_axi_clk";
665 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
666 <&clock_gcc GCC_CAMERA_AXI_CLK>,
667 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
668 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
669 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
670 <&clock_camcc CAM_CC_IFE_0_CLK>,
671 <&clock_camcc CAM_CC_IFE_0_CLK_SRC>,
672 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
673 <&clock_camcc CAM_CC_IFE_0_AXI_CLK>;
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -0700674 clock-rates =
675 <0 0 0 0 0 0 404000000 0 0>,
676 <0 0 0 0 0 0 480000000 0 0>,
677 <0 0 0 0 0 0 600000000 0 0>;
678 clock-cntl-level = "svs", "svs_l1", "turbo";
Suresh Vankadara402d0ca2017-10-26 22:54:54 +0530679 src-clock-name = "ife_clk_src";
680 clock-names-option = "ife_dsp_clk";
681 clocks-option = <&clock_camcc CAM_CC_IFE_0_DSP_CLK>;
Senthil Rajagopal3f8372c2017-11-05 12:19:56 +0530682 clock-rates-option = <600000000>;
Suresh Vankadara402d0ca2017-10-26 22:54:54 +0530683 status = "ok";
684 };
685
686 cam_csid1: qcom,csid1@acba000 {
687 cell-index = <1>;
688 compatible = "qcom,csid170";
689 reg-names = "csid";
690 reg = <0xacba000 0x1000>;
691 reg-cam-base = <0xba000>;
692 interrupt-names = "csid";
693 interrupts = <0 466 0>;
694 regulator-names = "camss", "ife1";
695 camss-supply = <&titan_top_gdsc>;
696 ife1-supply = <&ife_1_gdsc>;
697 clock-names = "camera_ahb",
698 "camera_axi",
699 "soc_ahb_clk",
700 "cpas_ahb_clk",
701 "slow_ahb_clk_src",
702 "ife_csid_clk",
703 "ife_csid_clk_src",
704 "ife_cphy_rx_clk",
705 "cphy_rx_clk_src",
706 "ife_clk",
707 "ife_clk_src",
708 "camnoc_axi_clk",
709 "ife_axi_clk";
710 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
711 <&clock_gcc GCC_CAMERA_AXI_CLK>,
712 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
713 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
714 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
715 <&clock_camcc CAM_CC_IFE_1_CSID_CLK>,
716 <&clock_camcc CAM_CC_IFE_1_CSID_CLK_SRC>,
717 <&clock_camcc CAM_CC_IFE_1_CPHY_RX_CLK>,
718 <&clock_camcc CAM_CC_CPHY_RX_CLK_SRC>,
719 <&clock_camcc CAM_CC_IFE_1_CLK>,
720 <&clock_camcc CAM_CC_IFE_1_CLK_SRC>,
721 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
722 <&clock_camcc CAM_CC_IFE_1_AXI_CLK>;
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -0700723 clock-rates =
724 <0 0 0 0 0 0 384000000 0 0 0 404000000 0 0>,
725 <0 0 0 0 0 0 538000000 0 0 0 600000000 0 0>;
726 clock-cntl-level = "svs", "turbo";
Suresh Vankadara402d0ca2017-10-26 22:54:54 +0530727 src-clock-name = "ife_csid_clk_src";
728 status = "ok";
729 };
730
731 cam_vfe1: qcom,vfe1@acb6000 {
732 cell-index = <1>;
733 compatible = "qcom,vfe170";
734 reg-names = "ife";
735 reg = <0xacb6000 0x4000>;
736 reg-cam-base = <0xb6000>;
737 interrupt-names = "ife";
738 interrupts = <0 467 0>;
739 regulator-names = "camss", "ife1";
740 camss-supply = <&titan_top_gdsc>;
741 ife1-supply = <&ife_1_gdsc>;
742 clock-names = "camera_ahb",
743 "camera_axi",
744 "soc_ahb_clk",
745 "cpas_ahb_clk",
746 "slow_ahb_clk_src",
747 "ife_clk",
748 "ife_clk_src",
749 "camnoc_axi_clk",
750 "ife_axi_clk";
751 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
752 <&clock_gcc GCC_CAMERA_AXI_CLK>,
753 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
754 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
755 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
756 <&clock_camcc CAM_CC_IFE_1_CLK>,
757 <&clock_camcc CAM_CC_IFE_1_CLK_SRC>,
758 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
759 <&clock_camcc CAM_CC_IFE_1_AXI_CLK>;
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -0700760 clock-rates =
761 <0 0 0 0 0 0 404000000 0 0>,
762 <0 0 0 0 0 0 480000000 0 0>,
763 <0 0 0 0 0 0 600000000 0 0>;
764 clock-cntl-level = "svs", "svs_l1", "turbo";
Suresh Vankadara402d0ca2017-10-26 22:54:54 +0530765 src-clock-name = "ife_clk_src";
766 clock-names-option = "ife_dsp_clk";
767 clocks-option = <&clock_camcc CAM_CC_IFE_1_DSP_CLK>;
Senthil Rajagopal3f8372c2017-11-05 12:19:56 +0530768 clock-rates-option = <600000000>;
Suresh Vankadara402d0ca2017-10-26 22:54:54 +0530769 status = "ok";
770 };
771
772 cam_csid_lite: qcom,csid-lite@acc8000 {
773 cell-index = <2>;
774 compatible = "qcom,csid-lite170";
775 reg-names = "csid-lite";
776 reg = <0xacc8000 0x1000>;
777 reg-cam-base = <0xc8000>;
778 interrupt-names = "csid-lite";
779 interrupts = <0 468 0>;
780 regulator-names = "camss";
781 camss-supply = <&titan_top_gdsc>;
782 clock-names = "camera_ahb",
783 "camera_axi",
784 "soc_ahb_clk",
785 "cpas_ahb_clk",
786 "slow_ahb_clk_src",
787 "ife_csid_clk",
788 "ife_csid_clk_src",
789 "ife_cphy_rx_clk",
790 "cphy_rx_clk_src",
791 "ife_clk",
792 "ife_clk_src",
793 "camnoc_axi_clk";
794 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
795 <&clock_gcc GCC_CAMERA_AXI_CLK>,
796 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
797 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
798 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
799 <&clock_camcc CAM_CC_IFE_LITE_CSID_CLK>,
800 <&clock_camcc CAM_CC_IFE_LITE_CSID_CLK_SRC>,
801 <&clock_camcc CAM_CC_IFE_LITE_CPHY_RX_CLK>,
802 <&clock_camcc CAM_CC_CPHY_RX_CLK_SRC>,
803 <&clock_camcc CAM_CC_IFE_LITE_CLK>,
804 <&clock_camcc CAM_CC_IFE_LITE_CLK_SRC>,
805 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>;
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -0700806 clock-rates =
807 <0 0 0 0 0 0 384000000 0 0 0 404000000 0>,
808 <0 0 0 0 0 0 538000000 0 0 0 600000000 0>;
809 clock-cntl-level = "svs", "turbo";
Suresh Vankadara402d0ca2017-10-26 22:54:54 +0530810 src-clock-name = "ife_csid_clk_src";
811 status = "ok";
812 };
813
814 cam_vfe_lite: qcom,vfe-lite@acc4000 {
815 cell-index = <2>;
816 compatible = "qcom,vfe-lite170";
817 reg-names = "ife-lite";
818 reg = <0xacc4000 0x4000>;
819 reg-cam-base = <0xc4000>;
820 interrupt-names = "ife-lite";
821 interrupts = <0 469 0>;
822 regulator-names = "camss";
823 camss-supply = <&titan_top_gdsc>;
824 clock-names = "camera_ahb",
825 "camera_axi",
826 "soc_ahb_clk",
827 "cpas_ahb_clk",
828 "slow_ahb_clk_src",
829 "ife_clk",
830 "ife_clk_src",
831 "camnoc_axi_clk";
832 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
833 <&clock_gcc GCC_CAMERA_AXI_CLK>,
834 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
835 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
836 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
837 <&clock_camcc CAM_CC_IFE_LITE_CLK>,
838 <&clock_camcc CAM_CC_IFE_LITE_CLK_SRC>,
839 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>;
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -0700840 clock-rates =
841 <0 0 0 0 0 0 404000000 0>,
842 <0 0 0 0 0 0 480000000 0>,
843 <0 0 0 0 0 0 600000000 0>;
844 clock-cntl-level = "svs", "svs_l1", "turbo";
Suresh Vankadara402d0ca2017-10-26 22:54:54 +0530845 src-clock-name = "ife_clk_src";
846 status = "ok";
847 };
848
849 qcom,cam-icp {
850 compatible = "qcom,cam-icp";
851 compat-hw-name = "qcom,a5",
852 "qcom,ipe0",
853 "qcom,ipe1",
854 "qcom,bps";
855 num-a5 = <1>;
856 num-ipe = <2>;
857 num-bps = <1>;
858 status = "ok";
859 };
860
861 cam_a5: qcom,a5@ac00000 {
862 cell-index = <0>;
863 compatible = "qcom,cam-a5";
864 reg = <0xac00000 0x6000>,
865 <0xac10000 0x8000>,
866 <0xac18000 0x3000>;
867 reg-names = "a5_qgic", "a5_sierra", "a5_csr";
868 reg-cam-base = <0x00000 0x10000 0x18000>;
869 interrupts = <0 463 0>;
870 interrupt-names = "a5";
871 regulator-names = "camss-vdd";
872 camss-vdd-supply = <&titan_top_gdsc>;
873 clock-names = "gcc_cam_ahb_clk",
874 "gcc_cam_axi_clk",
875 "soc_fast_ahb",
876 "soc_ahb_clk",
877 "cpas_ahb_clk",
878 "camnoc_axi_clk",
Suresh Vankadara402d0ca2017-10-26 22:54:54 +0530879 "icp_clk",
880 "icp_clk_src";
881 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
882 <&clock_gcc GCC_CAMERA_AXI_CLK>,
883 <&clock_camcc CAM_CC_FAST_AHB_CLK_SRC>,
884 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
885 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
886 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
Suresh Vankadara402d0ca2017-10-26 22:54:54 +0530887 <&clock_camcc CAM_CC_ICP_CLK>,
888 <&clock_camcc CAM_CC_ICP_CLK_SRC>;
889
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -0700890 clock-rates =
891 <0 0 200000000 0 0 0 0 400000000>,
892 <0 0 200000000 0 0 0 0 600000000>;
893 clock-cntl-level = "svs", "turbo";
Suresh Vankadara402d0ca2017-10-26 22:54:54 +0530894 fw_name = "CAMERA_ICP.elf";
895 ubwc-cfg = <0x77 0x1DF>;
896 status = "ok";
897 };
898
899 cam_ipe0: qcom,ipe0 {
900 cell-index = <0>;
901 compatible = "qcom,cam-ipe";
902 regulator-names = "ipe0-vdd";
903 ipe0-vdd-supply = <&ipe_0_gdsc>;
904 clock-names = "ipe_0_ahb_clk",
905 "ipe_0_areg_clk",
906 "ipe_0_axi_clk",
907 "ipe_0_clk",
908 "ipe_0_clk_src";
909 src-clock-name = "ipe_0_clk_src";
910 clocks = <&clock_camcc CAM_CC_IPE_0_AHB_CLK>,
911 <&clock_camcc CAM_CC_IPE_0_AREG_CLK>,
912 <&clock_camcc CAM_CC_IPE_0_AXI_CLK>,
913 <&clock_camcc CAM_CC_IPE_0_CLK>,
914 <&clock_camcc CAM_CC_IPE_0_CLK_SRC>;
915
Pavan Kumar Chilamkurthicc4f59c2018-01-25 13:44:22 -0800916 clock-rates =
Suresh Vankadara402d0ca2017-10-26 22:54:54 +0530917 <0 0 0 0 404000000>,
918 <0 0 0 0 480000000>,
919 <0 0 0 0 538000000>,
920 <0 0 0 0 600000000>;
Pavan Kumar Chilamkurthicc4f59c2018-01-25 13:44:22 -0800921 clock-cntl-level = "svs",
Suresh Vankadara402d0ca2017-10-26 22:54:54 +0530922 "svs_l1", "nominal", "turbo";
923 status = "ok";
924 };
925
926 cam_ipe1: qcom,ipe1 {
927 cell-index = <1>;
928 compatible = "qcom,cam-ipe";
929 regulator-names = "ipe1-vdd";
930 ipe1-vdd-supply = <&ipe_1_gdsc>;
931 clock-names = "ipe_1_ahb_clk",
932 "ipe_1_areg_clk",
933 "ipe_1_axi_clk",
934 "ipe_1_clk",
935 "ipe_1_clk_src";
936 src-clock-name = "ipe_1_clk_src";
937 clocks = <&clock_camcc CAM_CC_IPE_1_AHB_CLK>,
938 <&clock_camcc CAM_CC_IPE_1_AREG_CLK>,
939 <&clock_camcc CAM_CC_IPE_1_AXI_CLK>,
940 <&clock_camcc CAM_CC_IPE_1_CLK>,
941 <&clock_camcc CAM_CC_IPE_1_CLK_SRC>;
942
Pavan Kumar Chilamkurthicc4f59c2018-01-25 13:44:22 -0800943 clock-rates =
Suresh Vankadara402d0ca2017-10-26 22:54:54 +0530944 <0 0 0 0 404000000>,
945 <0 0 0 0 480000000>,
946 <0 0 0 0 538000000>,
947 <0 0 0 0 600000000>;
Pavan Kumar Chilamkurthicc4f59c2018-01-25 13:44:22 -0800948 clock-cntl-level = "svs",
Suresh Vankadara402d0ca2017-10-26 22:54:54 +0530949 "svs_l1", "nominal", "turbo";
950 status = "ok";
951 };
952
953 cam_bps: qcom,bps {
954 cell-index = <0>;
955 compatible = "qcom,cam-bps";
956 regulator-names = "bps-vdd";
957 bps-vdd-supply = <&bps_gdsc>;
958 clock-names = "bps_ahb_clk",
959 "bps_areg_clk",
960 "bps_axi_clk",
961 "bps_clk",
962 "bps_clk_src";
963 src-clock-name = "bps_clk_src";
964 clocks = <&clock_camcc CAM_CC_BPS_AHB_CLK>,
965 <&clock_camcc CAM_CC_BPS_AREG_CLK>,
966 <&clock_camcc CAM_CC_BPS_AXI_CLK>,
967 <&clock_camcc CAM_CC_BPS_CLK>,
968 <&clock_camcc CAM_CC_BPS_CLK_SRC>;
969
Pavan Kumar Chilamkurthicc4f59c2018-01-25 13:44:22 -0800970 clock-rates =
Suresh Vankadara402d0ca2017-10-26 22:54:54 +0530971 <0 0 0 0 404000000>,
972 <0 0 0 0 480000000>,
973 <0 0 0 0 600000000>,
974 <0 0 0 0 600000000>;
Pavan Kumar Chilamkurthicc4f59c2018-01-25 13:44:22 -0800975 clock-cntl-level = "svs",
Suresh Vankadara402d0ca2017-10-26 22:54:54 +0530976 "svs_l1", "nominal", "turbo";
977 status = "ok";
978 };
979
980 qcom,cam-jpeg {
981 compatible = "qcom,cam-jpeg";
982 compat-hw-name = "qcom,jpegenc",
983 "qcom,jpegdma";
984 num-jpeg-enc = <1>;
985 num-jpeg-dma = <1>;
986 status = "ok";
987 };
988
989 cam_jpeg_enc: qcom,jpegenc@ac4e000 {
990 cell-index = <0>;
991 compatible = "qcom,cam_jpeg_enc";
992 reg-names = "jpege_hw";
993 reg = <0xac4e000 0x4000>;
994 reg-cam-base = <0x4e000>;
995 interrupt-names = "jpeg";
996 interrupts = <0 474 0>;
997 regulator-names = "camss-vdd";
998 camss-vdd-supply = <&titan_top_gdsc>;
999 clock-names = "camera_ahb",
1000 "camera_axi",
1001 "soc_ahb_clk",
1002 "cpas_ahb_clk",
1003 "camnoc_axi_clk",
1004 "jpegenc_clk_src",
1005 "jpegenc_clk";
1006 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
1007 <&clock_gcc GCC_CAMERA_AXI_CLK>,
1008 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
1009 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
1010 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
1011 <&clock_camcc CAM_CC_JPEG_CLK_SRC>,
1012 <&clock_camcc CAM_CC_JPEG_CLK>;
1013
1014 clock-rates = <0 0 0 0 0 600000000 0>;
1015 src-clock-name = "jpegenc_clk_src";
1016 clock-cntl-level = "nominal";
1017 status = "ok";
1018 };
1019
1020 cam_jpeg_dma: qcom,jpegdma@0xac52000{
1021 cell-index = <0>;
1022 compatible = "qcom,cam_jpeg_dma";
1023 reg-names = "jpegdma_hw";
1024 reg = <0xac52000 0x4000>;
1025 reg-cam-base = <0x52000>;
1026 interrupt-names = "jpegdma";
1027 interrupts = <0 475 0>;
1028 regulator-names = "camss-vdd";
1029 camss-vdd-supply = <&titan_top_gdsc>;
1030 clock-names = "camera_ahb",
1031 "camera_axi",
1032 "soc_ahb_clk",
1033 "cpas_ahb_clk",
1034 "camnoc_axi_clk",
1035 "jpegdma_clk_src",
1036 "jpegdma_clk";
1037 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
1038 <&clock_gcc GCC_CAMERA_AXI_CLK>,
1039 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
1040 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
1041 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
1042 <&clock_camcc CAM_CC_JPEG_CLK_SRC>,
1043 <&clock_camcc CAM_CC_JPEG_CLK>;
1044
1045 clock-rates = <0 0 0 0 0 600000000 0>;
1046 src-clock-name = "jpegdma_clk_src";
1047 clock-cntl-level = "nominal";
1048 status = "ok";
1049 };
1050
1051 qcom,cam-fd {
1052 compatible = "qcom,cam-fd";
1053 compat-hw-name = "qcom,fd";
1054 num-fd = <1>;
1055 status = "ok";
1056 };
1057
1058 cam_fd: qcom,fd@ac5a000 {
1059 cell-index = <0>;
1060 compatible = "qcom,fd41";
1061 reg-names = "fd_core", "fd_wrapper";
1062 reg = <0xac5a000 0x1000>,
1063 <0xac5b000 0x400>;
1064 reg-cam-base = <0x5a000 0x5b000>;
1065 interrupt-names = "fd";
1066 interrupts = <0 462 0>;
1067 regulator-names = "camss-vdd";
1068 camss-vdd-supply = <&titan_top_gdsc>;
1069 clock-names = "gcc_ahb_clk",
1070 "gcc_axi_clk",
1071 "soc_ahb_clk",
1072 "cpas_ahb_clk",
1073 "camnoc_axi_clk",
1074 "fd_core_clk_src",
1075 "fd_core_clk",
1076 "fd_core_uar_clk";
1077 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
1078 <&clock_gcc GCC_CAMERA_AXI_CLK>,
1079 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
1080 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
1081 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
1082 <&clock_camcc CAM_CC_FD_CORE_CLK_SRC>,
1083 <&clock_camcc CAM_CC_FD_CORE_CLK>,
1084 <&clock_camcc CAM_CC_FD_CORE_UAR_CLK>;
1085 src-clock-name = "fd_core_clk_src";
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -07001086 clock-cntl-level = "svs", "svs_l1", "turbo";
1087 clock-rates =
1088 <0 0 0 0 0 400000000 0 0>,
1089 <0 0 0 0 0 538000000 0 0>,
1090 <0 0 0 0 0 600000000 0 0>;
Suresh Vankadara402d0ca2017-10-26 22:54:54 +05301091 status = "ok";
1092 };
Alok Pandey46e0e762017-11-17 19:08:36 +05301093
1094 qcom,cam-lrme {
1095 compatible = "qcom,cam-lrme";
1096 arch-compat = "lrme";
1097 status = "ok";
1098 };
1099
1100 cam_lrme: qcom,lrme@ac6b000 {
1101 cell-index = <0>;
1102 compatible = "qcom,lrme";
1103 reg-names = "lrme";
1104 reg = <0xac6b000 0xa00>;
1105 reg-cam-base = <0x6b000>;
1106 interrupt-names = "lrme";
1107 interrupts = <0 476 0>;
1108 regulator-names = "camss";
1109 camss-supply = <&titan_top_gdsc>;
1110 clock-names = "camera_ahb",
1111 "camera_axi",
1112 "soc_ahb_clk",
1113 "cpas_ahb_clk",
1114 "camnoc_axi_clk",
1115 "lrme_clk_src",
1116 "lrme_clk";
1117 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
1118 <&clock_gcc GCC_CAMERA_AXI_CLK>,
1119 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
1120 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
1121 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
1122 <&clock_camcc CAM_CC_LRME_CLK_SRC>,
1123 <&clock_camcc CAM_CC_LRME_CLK>;
1124 clock-rates = <0 0 0 0 0 200000000 200000000>,
1125 <0 0 0 0 0 269000000 269000000>,
1126 <0 0 0 0 0 320000000 320000000>,
1127 <0 0 0 0 0 400000000 400000000>;
1128 clock-cntl-level = "lowsvs", "svs", "svs_l1", "turbo";
1129 src-clock-name = "lrme_clk_src";
1130 status = "ok";
1131 };
Suresh Vankadara402d0ca2017-10-26 22:54:54 +05301132};