blob: ec1e9c7a9d8c8669031b01acb078c7eaeff4343c [file] [log] [blame]
Lakshmi Narayana Kalavalac0dac062016-12-01 17:20:09 -08001/*
Pavan Kumar Chilamkurthicc4f59c2018-01-25 13:44:22 -08002 * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
Lakshmi Narayana Kalavalac0dac062016-12-01 17:20:09 -08003 *
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";
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -070048 clock-cntl-level = "svs", "turbo";
Alok Pandey1837a202017-06-25 20:39:56 +053049 clock-rates =
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -070050 <0 0 0 0 320000000 0 269333333 0>,
51 <0 0 0 0 384000000 0 269333333 0>;
Jigarkumar Zala861231152017-02-28 14:05:11 -080052 status = "ok";
53 };
54
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -070055 cam_csiphy1: qcom,csiphy@ac66000{
Jigarkumar Zala861231152017-02-28 14:05:11 -080056 cell-index = <1>;
57 compatible = "qcom,csiphy-v1.0", "qcom,csiphy";
58 reg = <0xac66000 0x1000>;
59 reg-names = "csiphy";
Alok Pandey1837a202017-06-25 20:39:56 +053060 reg-cam-base = <0x66000>;
Jigarkumar Zala861231152017-02-28 14:05:11 -080061 interrupts = <0 478 0>;
62 interrupt-names = "csiphy";
63 gdscr-supply = <&titan_top_gdsc>;
Alok Pandey1837a202017-06-25 20:39:56 +053064 regulator-names = "gdscr";
65 csi-vdd-voltage = <1200000>;
Jigarkumar Zala5fd88ce2017-10-03 14:14:19 -070066 mipi-csi-vdd-supply = <&pm8998_l1>;
Jigarkumar Zala861231152017-02-28 14:05:11 -080067 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>,
Soundrapandian Jeyaprakashb1638752017-07-25 15:14:53 -070074 <&clock_camcc CAM_CC_CSI1PHYTIMER_CLK>;
Jigarkumar Zala861231152017-02-28 14:05:11 -080075 clock-names = "camnoc_axi_clk",
76 "soc_ahb_clk",
77 "slow_ahb_src_clk",
78 "cpas_ahb_clk",
79 "cphy_rx_clk_src",
80 "csiphy1_clk",
81 "csi1phytimer_clk_src",
Soundrapandian Jeyaprakashb1638752017-07-25 15:14:53 -070082 "csi1phytimer_clk";
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -070083 clock-cntl-level = "svs", "turbo";
Alok Pandey1837a202017-06-25 20:39:56 +053084 clock-rates =
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -070085 <0 0 0 0 320000000 0 269333333 0>,
86 <0 0 0 0 384000000 0 269333333 0>;
Jigarkumar Zala861231152017-02-28 14:05:11 -080087
88 status = "ok";
89 };
90
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -070091 cam_csiphy2: qcom,csiphy@ac67000 {
Jigarkumar Zala861231152017-02-28 14:05:11 -080092 cell-index = <2>;
93 compatible = "qcom,csiphy-v1.0", "qcom,csiphy";
94 reg = <0xac67000 0x1000>;
95 reg-names = "csiphy";
Alok Pandey1837a202017-06-25 20:39:56 +053096 reg-cam-base = <0x67000>;
Jigarkumar Zala861231152017-02-28 14:05:11 -080097 interrupts = <0 479 0>;
98 interrupt-names = "csiphy";
99 gdscr-supply = <&titan_top_gdsc>;
Alok Pandey1837a202017-06-25 20:39:56 +0530100 regulator-names = "gdscr";
101 csi-vdd-voltage = <1200000>;
Jigarkumar Zala5fd88ce2017-10-03 14:14:19 -0700102 mipi-csi-vdd-supply = <&pm8998_l1>;
Jigarkumar Zala861231152017-02-28 14:05:11 -0800103 clocks = <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
104 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
105 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
106 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
107 <&clock_camcc CAM_CC_CPHY_RX_CLK_SRC>,
108 <&clock_camcc CAM_CC_CSIPHY2_CLK>,
109 <&clock_camcc CAM_CC_CSI2PHYTIMER_CLK_SRC>,
Soundrapandian Jeyaprakashb1638752017-07-25 15:14:53 -0700110 <&clock_camcc CAM_CC_CSI2PHYTIMER_CLK>;
Jigarkumar Zala861231152017-02-28 14:05:11 -0800111 clock-names = "camnoc_axi_clk",
112 "soc_ahb_clk",
113 "slow_ahb_src_clk",
114 "cpas_ahb_clk",
115 "cphy_rx_clk_src",
116 "csiphy2_clk",
117 "csi2phytimer_clk_src",
Soundrapandian Jeyaprakashb1638752017-07-25 15:14:53 -0700118 "csi2phytimer_clk";
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -0700119 clock-cntl-level = "svs", "turbo";
Alok Pandey1837a202017-06-25 20:39:56 +0530120 clock-rates =
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -0700121 <0 0 0 0 320000000 0 269333333 0>,
122 <0 0 0 0 384000000 0 269333333 0>;
Jigarkumar Zala861231152017-02-28 14:05:11 -0800123 status = "ok";
124 };
125
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700126 cam_cci: qcom,cci@ac4a000 {
Jigarkumar Zala861231152017-02-28 14:05:11 -0800127 cell-index = <0>;
128 compatible = "qcom,cci";
Jigarkumar Zala861231152017-02-28 14:05:11 -0800129 #address-cells = <1>;
130 #size-cells = <0>;
Alok Pandey1837a202017-06-25 20:39:56 +0530131 reg = <0xac4a000 0x4000>;
Jigarkumar Zala861231152017-02-28 14:05:11 -0800132 reg-names = "cci";
Alok Pandey1837a202017-06-25 20:39:56 +0530133 reg-cam-base = <0x4a000>;
Jigarkumar Zala861231152017-02-28 14:05:11 -0800134 interrupt-names = "cci";
Alok Pandey1837a202017-06-25 20:39:56 +0530135 interrupts = <0 460 0>;
Jigarkumar Zala861231152017-02-28 14:05:11 -0800136 status = "ok";
137 gdscr-supply = <&titan_top_gdsc>;
Alok Pandey1837a202017-06-25 20:39:56 +0530138 regulator-names = "gdscr";
Jigarkumar Zala861231152017-02-28 14:05:11 -0800139 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";
Alok Pandey1837a202017-06-25 20:39:56 +0530151 src-clock-name = "cci_clk_src";
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -0700152 clock-cntl-level = "lowsvs";
Alok Pandey1837a202017-06-25 20:39:56 +0530153 clock-rates = <0 0 0 0 0 37500000>;
154 pinctrl-names = "cam_default", "cam_suspend";
Jigarkumar Zala861231152017-02-28 14:05:11 -0800155 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>;
Alok Pandey1837a202017-06-25 20:39:56 +0530161 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",
Jigarkumar Zala861231152017-02-28 14:05:11 -0800164 "CCI_I2C_CLK0",
165 "CCI_I2C_DATA1",
166 "CCI_I2C_CLK1";
167
168 i2c_freq_100Khz: qcom,i2c_standard_mode {
Jigarkumar Zalaebfabb12017-08-15 16:32:19 -0700169 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>;
Jigarkumar Zala861231152017-02-28 14:05:11 -0800180 status = "ok";
181 };
182
183 i2c_freq_400Khz: qcom,i2c_fast_mode {
Jigarkumar Zalaebfabb12017-08-15 16:32:19 -0700184 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>;
Jigarkumar Zala861231152017-02-28 14:05:11 -0800195 status = "ok";
196 };
197
198 i2c_freq_custom: qcom,i2c_custom_mode {
Jigarkumar Zalaebfabb12017-08-15 16:32:19 -0700199 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>;
Jigarkumar Zala861231152017-02-28 14:05:11 -0800210 status = "ok";
211 };
212
213 i2c_freq_1Mhz: qcom,i2c_fast_plus_mode {
Jigarkumar Zalaebfabb12017-08-15 16:32:19 -0700214 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>;
Jigarkumar Zala861231152017-02-28 14:05:11 -0800225 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
Rajakumar Govindaram0e33b712017-07-19 15:31:04 -0700252 msm_cam_smmu_jpeg {
253 compatible = "qcom,msm-cam-smmu-cb";
254 iommus = <&apps_smmu 0x1060 0x8>,
255 <&apps_smmu 0x1068 0x8>;
256 label = "jpeg";
257 jpeg_iova_mem_map: iova-mem-map {
258 /* IO region is approximately 3.4 GB */
259 iova-mem-region-io {
260 iova-region-name = "io";
261 iova-region-start = <0x7400000>;
262 iova-region-len = <0xd8c00000>;
263 iova-region-id = <0x3>;
264 status = "ok";
265 };
266 };
267 };
268
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700269 msm_cam_icp_fw {
270 compatible = "qcom,msm-cam-smmu-fw-dev";
271 label="icp";
272 memory-region = <&pil_camera_mem>;
273 };
274
275 msm_cam_smmu_icp {
276 compatible = "qcom,msm-cam-smmu-cb";
Patrick Daly8cb8d962017-05-08 14:46:09 -0700277 iommus = <&apps_smmu 0x1078 0x2>,
278 <&apps_smmu 0x1020 0x8>,
279 <&apps_smmu 0x1040 0x8>,
280 <&apps_smmu 0x1030 0x0>,
281 <&apps_smmu 0x1050 0x0>;
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700282 label = "icp";
283 icp_iova_mem_map: iova-mem-map {
284 iova-mem-region-firmware {
285 /* Firmware region is 5MB */
286 iova-region-name = "firmware";
287 iova-region-start = <0x0>;
288 iova-region-len = <0x500000>;
289 iova-region-id = <0x0>;
290 status = "ok";
291 };
292
293 iova-mem-region-shared {
294 /* Shared region is 100MB long */
295 iova-region-name = "shared";
296 iova-region-start = <0x7400000>;
297 iova-region-len = <0x6400000>;
298 iova-region-id = <0x1>;
299 status = "ok";
300 };
301
Seemanta Dutta93f940c2017-10-13 14:34:18 -0700302 iova-mem-region-secondary-heap {
303 /* Secondary heap region is 1MB long */
304 iova-region-name = "secheap";
305 iova-region-start = <0xd800000>;
306 iova-region-len = <0x100000>;
307 iova-region-id = <0x4>;
308 status = "ok";
309 };
310
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700311 iova-mem-region-io {
312 /* IO region is approximately 3.3 GB */
313 iova-region-name = "io";
Seemanta Dutta93f940c2017-10-13 14:34:18 -0700314 iova-region-start = <0xd900000>;
315 iova-region-len = <0xd2700000>;
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700316 iova-region-id = <0x3>;
317 status = "ok";
318 };
319 };
320 };
321
322 msm_cam_smmu_cpas_cdm {
323 compatible = "qcom,msm-cam-smmu-cb";
Patrick Daly8cb8d962017-05-08 14:46:09 -0700324 iommus = <&apps_smmu 0x1000 0x0>;
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700325 label = "cpas-cdm0";
326 cpas_cdm_iova_mem_map: iova-mem-map {
327 iova-mem-region-io {
328 /* IO region is approximately 3.4 GB */
329 iova-region-name = "io";
330 iova-region-start = <0x7400000>;
331 iova-region-len = <0xd8c00000>;
332 iova-region-id = <0x3>;
333 status = "ok";
334 };
335 };
336 };
337
338 msm_cam_smmu_secure {
339 compatible = "qcom,msm-cam-smmu-cb";
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700340 label = "cam-secure";
Lakshmi Narayana Kalavala2c714282017-09-08 12:27:36 -0700341 qcom,secure-cb;
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700342 };
Pavan Kumar Chilamkurthib2cd6dd2017-07-30 02:25:23 -0700343
344 msm_cam_smmu_fd {
345 compatible = "qcom,msm-cam-smmu-cb";
346 iommus = <&apps_smmu 0x1070 0x0>;
347 label = "fd";
348 fd_iova_mem_map: iova-mem-map {
349 iova-mem-region-io {
350 /* IO region is approximately 3.4 GB */
351 iova-region-name = "io";
352 iova-region-start = <0x7400000>;
353 iova-region-len = <0xd8c00000>;
354 iova-region-id = <0x3>;
355 status = "ok";
356 };
357 };
358 };
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700359 };
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700360
361 qcom,cam-cpas@ac40000 {
362 cell-index = <0>;
363 compatible = "qcom,cam-cpas";
364 label = "cpas";
365 arch-compat = "cpas_top";
366 status = "ok";
367 reg-names = "cam_cpas_top", "cam_camnoc";
368 reg = <0xac40000 0x1000>,
369 <0xac42000 0x5000>;
370 reg-cam-base = <0x40000 0x42000>;
371 interrupt-names = "cpas_camnoc";
372 interrupts = <0 459 0>;
Mark Woh8a2dc2d2017-10-10 19:52:39 -0700373 qcom,cpas-hw-ver = <0x170100>; /* Titan v170 v1.0.0 */
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700374 regulator-names = "camss-vdd";
375 camss-vdd-supply = <&titan_top_gdsc>;
376 clock-names = "gcc_ahb_clk",
377 "gcc_axi_clk",
378 "soc_ahb_clk",
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700379 "slow_ahb_clk_src",
Lakshmi Narayana Kalavala238c2b22017-06-08 17:43:57 -0700380 "cpas_ahb_clk",
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700381 "camnoc_axi_clk";
382 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
383 <&clock_gcc GCC_CAMERA_AXI_CLK>,
384 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700385 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
Lakshmi Narayana Kalavala238c2b22017-06-08 17:43:57 -0700386 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700387 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>;
388 src-clock-name = "slow_ahb_clk_src";
Jeyaprakash Soundrapandian33362ba2017-06-23 22:18:50 -0700389 clock-rates = <0 0 0 0 0 0>,
390 <0 0 0 19200000 0 0>,
391 <0 0 0 60000000 0 0>,
392 <0 0 0 66660000 0 0>,
393 <0 0 0 73840000 0 0>,
394 <0 0 0 80000000 0 0>,
395 <0 0 0 80000000 0 0>;
396 clock-cntl-level = "suspend", "minsvs", "lowsvs", "svs",
397 "svs_l1", "nominal", "turbo";
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700398 qcom,msm-bus,name = "cam_ahb";
Jeyaprakash Soundrapandian33362ba2017-06-23 22:18:50 -0700399 qcom,msm-bus,num-cases = <7>;
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700400 qcom,msm-bus,num-paths = <1>;
401 qcom,msm-bus,vectors-KBps =
402 <MSM_BUS_MASTER_AMPSS_M0
403 MSM_BUS_SLAVE_CAMERA_CFG 0 0>,
404 <MSM_BUS_MASTER_AMPSS_M0
Pavan Kumar Chilamkurthie2cd7562017-10-31 12:04:20 -0700405 MSM_BUS_SLAVE_CAMERA_CFG 0 76500>,
Jeyaprakash Soundrapandian33362ba2017-06-23 22:18:50 -0700406 <MSM_BUS_MASTER_AMPSS_M0
Pavan Kumar Chilamkurthie2cd7562017-10-31 12:04:20 -0700407 MSM_BUS_SLAVE_CAMERA_CFG 0 76500>,
408 <MSM_BUS_MASTER_AMPSS_M0
409 MSM_BUS_SLAVE_CAMERA_CFG 0 150000>,
410 <MSM_BUS_MASTER_AMPSS_M0
411 MSM_BUS_SLAVE_CAMERA_CFG 0 150000>,
Jeyaprakash Soundrapandian33362ba2017-06-23 22:18:50 -0700412 <MSM_BUS_MASTER_AMPSS_M0
413 MSM_BUS_SLAVE_CAMERA_CFG 0 300000>,
414 <MSM_BUS_MASTER_AMPSS_M0
Pavan Kumar Chilamkurthie2cd7562017-10-31 12:04:20 -0700415 MSM_BUS_SLAVE_CAMERA_CFG 0 300000>;
Pavan Kumar Chilamkurthi071f3d22017-05-31 22:33:48 -0700416 vdd-corners = <RPMH_REGULATOR_LEVEL_OFF
417 RPMH_REGULATOR_LEVEL_RETENTION
418 RPMH_REGULATOR_LEVEL_MIN_SVS
419 RPMH_REGULATOR_LEVEL_LOW_SVS
420 RPMH_REGULATOR_LEVEL_SVS
421 RPMH_REGULATOR_LEVEL_SVS_L1
422 RPMH_REGULATOR_LEVEL_NOM
423 RPMH_REGULATOR_LEVEL_NOM_L1
424 RPMH_REGULATOR_LEVEL_NOM_L2
425 RPMH_REGULATOR_LEVEL_TURBO
426 RPMH_REGULATOR_LEVEL_TURBO_L1>;
427 vdd-corner-ahb-mapping = "suspend", "suspend",
Jeyaprakash Soundrapandian33362ba2017-06-23 22:18:50 -0700428 "minsvs", "lowsvs", "svs", "svs_l1",
Pavan Kumar Chilamkurthi071f3d22017-05-31 22:33:48 -0700429 "nominal", "nominal", "nominal",
430 "turbo", "turbo";
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700431 client-id-based;
432 client-names =
433 "csiphy0", "csiphy1", "csiphy2", "cci0",
Pavan Kumar Chilamkurthi4e070ba2017-05-12 14:47:04 -0700434 "csid0", "csid1", "csid2",
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700435 "ife0", "ife1", "ife2", "ipe0",
436 "ipe1", "cam-cdm-intf0", "cpas-cdm0", "bps0",
Shubhraprakash Das73507292017-09-08 13:55:54 -0700437 "icp0", "jpeg-dma0", "jpeg-enc0", "fd0", "lrmecpas";
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700438 client-axi-port-names =
439 "cam_hf_1", "cam_hf_2", "cam_hf_2", "cam_sf_1",
Pavan Kumar Chilamkurthi4e070ba2017-05-12 14:47:04 -0700440 "cam_hf_1", "cam_hf_2", "cam_hf_2",
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700441 "cam_hf_1", "cam_hf_2", "cam_hf_2", "cam_sf_1",
442 "cam_sf_1", "cam_sf_1", "cam_sf_1", "cam_sf_1",
Shubhraprakash Das73507292017-09-08 13:55:54 -0700443 "cam_sf_1", "cam_sf_1", "cam_sf_1", "cam_sf_1",
444 "cam_sf_1";
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700445 client-bus-camnoc-based;
446 qcom,axi-port-list {
447 qcom,axi-port1 {
448 qcom,axi-port-name = "cam_hf_1";
449 qcom,axi-port-mnoc {
450 qcom,msm-bus,name = "cam_hf_1_mnoc";
451 qcom,msm-bus-vector-dyn-vote;
452 qcom,msm-bus,num-cases = <2>;
453 qcom,msm-bus,num-paths = <1>;
454 qcom,msm-bus,vectors-KBps =
Pavan Kumar Chilamkurthid34fd882017-06-01 01:53:09 -0700455 <MSM_BUS_MASTER_CAMNOC_HF0
456 MSM_BUS_SLAVE_EBI_CH0 0 0>,
457 <MSM_BUS_MASTER_CAMNOC_HF0
458 MSM_BUS_SLAVE_EBI_CH0 0 0>;
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700459 };
460 qcom,axi-port-camnoc {
461 qcom,msm-bus,name = "cam_hf_1_camnoc";
462 qcom,msm-bus-vector-dyn-vote;
463 qcom,msm-bus,num-cases = <2>;
464 qcom,msm-bus,num-paths = <1>;
465 qcom,msm-bus,vectors-KBps =
Pavan Kumar Chilamkurthid34fd882017-06-01 01:53:09 -0700466 <MSM_BUS_MASTER_CAMNOC_HF0_UNCOMP
467 MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>,
468 <MSM_BUS_MASTER_CAMNOC_HF0_UNCOMP
469 MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>;
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700470 };
471 };
472 qcom,axi-port2 {
473 qcom,axi-port-name = "cam_hf_2";
474 qcom,axi-port-mnoc {
475 qcom,msm-bus,name = "cam_hf_2_mnoc";
476 qcom,msm-bus-vector-dyn-vote;
477 qcom,msm-bus,num-cases = <2>;
478 qcom,msm-bus,num-paths = <1>;
479 qcom,msm-bus,vectors-KBps =
Pavan Kumar Chilamkurthid34fd882017-06-01 01:53:09 -0700480 <MSM_BUS_MASTER_CAMNOC_HF1
481 MSM_BUS_SLAVE_EBI_CH0 0 0>,
482 <MSM_BUS_MASTER_CAMNOC_HF1
483 MSM_BUS_SLAVE_EBI_CH0 0 0>;
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700484 };
485 qcom,axi-port-camnoc {
Pavan Kumar Chilamkurthid34fd882017-06-01 01:53:09 -0700486 qcom,msm-bus,name = "cam_hf_2_camnoc";
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700487 qcom,msm-bus-vector-dyn-vote;
488 qcom,msm-bus,num-cases = <2>;
489 qcom,msm-bus,num-paths = <1>;
490 qcom,msm-bus,vectors-KBps =
Pavan Kumar Chilamkurthid34fd882017-06-01 01:53:09 -0700491 <MSM_BUS_MASTER_CAMNOC_HF1_UNCOMP
492 MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>,
493 <MSM_BUS_MASTER_CAMNOC_HF1_UNCOMP
494 MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>;
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700495 };
496 };
497 qcom,axi-port3 {
498 qcom,axi-port-name = "cam_sf_1";
499 qcom,axi-port-mnoc {
500 qcom,msm-bus,name = "cam_sf_1_mnoc";
501 qcom,msm-bus-vector-dyn-vote;
502 qcom,msm-bus,num-cases = <2>;
503 qcom,msm-bus,num-paths = <1>;
504 qcom,msm-bus,vectors-KBps =
Pavan Kumar Chilamkurthid34fd882017-06-01 01:53:09 -0700505 <MSM_BUS_MASTER_CAMNOC_SF
506 MSM_BUS_SLAVE_EBI_CH0 0 0>,
507 <MSM_BUS_MASTER_CAMNOC_SF
508 MSM_BUS_SLAVE_EBI_CH0 0 0>;
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700509 };
510 qcom,axi-port-camnoc {
511 qcom,msm-bus,name = "cam_sf_1_camnoc";
512 qcom,msm-bus-vector-dyn-vote;
513 qcom,msm-bus,num-cases = <2>;
514 qcom,msm-bus,num-paths = <1>;
515 qcom,msm-bus,vectors-KBps =
Pavan Kumar Chilamkurthid34fd882017-06-01 01:53:09 -0700516 <MSM_BUS_MASTER_CAMNOC_SF_UNCOMP
517 MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>,
518 <MSM_BUS_MASTER_CAMNOC_SF_UNCOMP
519 MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>;
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700520 };
521 };
522 };
523 };
Hariram Purushothamane87b44e02017-03-29 13:53:01 -0700524
525 qcom,cam-cdm-intf {
526 compatible = "qcom,cam-cdm-intf";
527 cell-index = <0>;
528 label = "cam-cdm-intf";
529 num-hw-cdm = <1>;
Hariram Purushothaman91c8cb52017-04-24 21:53:36 -0700530 cdm-client-names = "vfe",
Rajakumar Govindaram0e33b712017-07-19 15:31:04 -0700531 "jpegdma",
532 "jpegenc",
Shubhraprakash Das73507292017-09-08 13:55:54 -0700533 "fd",
534 "lrmecdm";
Hariram Purushothamane87b44e02017-03-29 13:53:01 -0700535 status = "ok";
536 };
537
538 qcom,cpas-cdm0@ac48000 {
539 cell-index = <0>;
540 compatible = "qcom,cam170-cpas-cdm0";
541 label = "cpas-cdm";
542 reg = <0xac48000 0x1000>;
543 reg-names = "cpas-cdm";
544 reg-cam-base = <0x48000>;
545 interrupts = <0 461 0>;
546 interrupt-names = "cpas-cdm";
547 regulator-names = "camss";
548 camss-supply = <&titan_top_gdsc>;
549 clock-names = "gcc_camera_ahb",
550 "gcc_camera_axi",
551 "cam_cc_soc_ahb_clk",
552 "cam_cc_cpas_ahb_clk",
553 "cam_cc_camnoc_axi_clk";
554 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
555 <&clock_gcc GCC_CAMERA_AXI_CLK>,
556 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
557 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
558 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>;
559 clock-rates = <0 0 0 0 0>;
Jeyaprakash Soundrapandian33362ba2017-06-23 22:18:50 -0700560 clock-cntl-level = "svs";
Hariram Purushothaman91c8cb52017-04-24 21:53:36 -0700561 cdm-client-names = "ife";
Hariram Purushothamane87b44e02017-03-29 13:53:01 -0700562 status = "ok";
563 };
Jing Zhoud4020692017-02-09 15:16:49 -0800564
565 qcom,cam-isp {
566 compatible = "qcom,cam-isp";
567 arch-compat = "ife";
568 status = "ok";
569 };
570
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700571 cam_csid0: qcom,csid0@acb3000 {
Jing Zhoud4020692017-02-09 15:16:49 -0800572 cell-index = <0>;
573 compatible = "qcom,csid170";
574 reg-names = "csid";
575 reg = <0xacb3000 0x1000>;
576 reg-cam-base = <0xb3000>;
577 interrupt-names = "csid";
578 interrupts = <0 464 0>;
579 regulator-names = "camss", "ife0";
580 camss-supply = <&titan_top_gdsc>;
581 ife0-supply = <&ife_0_gdsc>;
582 clock-names = "camera_ahb",
583 "camera_axi",
584 "soc_ahb_clk",
585 "cpas_ahb_clk",
586 "slow_ahb_clk_src",
587 "ife_csid_clk",
588 "ife_csid_clk_src",
589 "ife_cphy_rx_clk",
590 "cphy_rx_clk_src",
591 "ife_clk",
592 "ife_clk_src",
593 "camnoc_axi_clk",
594 "ife_axi_clk";
595 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
596 <&clock_gcc GCC_CAMERA_AXI_CLK>,
597 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
598 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
599 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
600 <&clock_camcc CAM_CC_IFE_0_CSID_CLK>,
601 <&clock_camcc CAM_CC_IFE_0_CSID_CLK_SRC>,
602 <&clock_camcc CAM_CC_IFE_0_CPHY_RX_CLK>,
603 <&clock_camcc CAM_CC_CPHY_RX_CLK_SRC>,
604 <&clock_camcc CAM_CC_IFE_0_CLK>,
605 <&clock_camcc CAM_CC_IFE_0_CLK_SRC>,
606 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
607 <&clock_camcc CAM_CC_IFE_0_AXI_CLK>;
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -0700608 clock-rates =
609 <0 0 0 0 0 0 384000000 0 0 0 404000000 0 0>,
610 <0 0 0 0 0 0 538000000 0 0 0 600000000 0 0>;
611 clock-cntl-level = "svs", "turbo";
Jing Zhoud4020692017-02-09 15:16:49 -0800612 src-clock-name = "ife_csid_clk_src";
613 status = "ok";
614 };
615
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700616 cam_vfe0: qcom,vfe0@acaf000 {
Jing Zhoud4020692017-02-09 15:16:49 -0800617 cell-index = <0>;
618 compatible = "qcom,vfe170";
619 reg-names = "ife";
620 reg = <0xacaf000 0x4000>;
621 reg-cam-base = <0xaf000>;
622 interrupt-names = "ife";
623 interrupts = <0 465 0>;
624 regulator-names = "camss", "ife0";
625 camss-supply = <&titan_top_gdsc>;
626 ife0-supply = <&ife_0_gdsc>;
627 clock-names = "camera_ahb",
628 "camera_axi",
629 "soc_ahb_clk",
630 "cpas_ahb_clk",
631 "slow_ahb_clk_src",
632 "ife_clk",
633 "ife_clk_src",
634 "camnoc_axi_clk",
635 "ife_axi_clk";
636 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
637 <&clock_gcc GCC_CAMERA_AXI_CLK>,
638 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
639 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
640 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
641 <&clock_camcc CAM_CC_IFE_0_CLK>,
642 <&clock_camcc CAM_CC_IFE_0_CLK_SRC>,
643 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
644 <&clock_camcc CAM_CC_IFE_0_AXI_CLK>;
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -0700645 clock-rates =
646 <0 0 0 0 0 0 404000000 0 0>,
647 <0 0 0 0 0 0 480000000 0 0>,
648 <0 0 0 0 0 0 600000000 0 0>;
649 clock-cntl-level = "svs", "svs_l1", "turbo";
Jing Zhoud4020692017-02-09 15:16:49 -0800650 src-clock-name = "ife_clk_src";
651 clock-names-option = "ife_dsp_clk";
652 clocks-option = <&clock_camcc CAM_CC_IFE_0_DSP_CLK>;
Senthil Rajagopal3f8372c2017-11-05 12:19:56 +0530653 clock-rates-option = <600000000>;
Jing Zhoud4020692017-02-09 15:16:49 -0800654 status = "ok";
655 };
656
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700657 cam_csid1: qcom,csid1@acba000 {
Jing Zhoud4020692017-02-09 15:16:49 -0800658 cell-index = <1>;
659 compatible = "qcom,csid170";
660 reg-names = "csid";
661 reg = <0xacba000 0x1000>;
662 reg-cam-base = <0xba000>;
663 interrupt-names = "csid";
664 interrupts = <0 466 0>;
665 regulator-names = "camss", "ife1";
666 camss-supply = <&titan_top_gdsc>;
667 ife1-supply = <&ife_1_gdsc>;
668 clock-names = "camera_ahb",
669 "camera_axi",
670 "soc_ahb_clk",
671 "cpas_ahb_clk",
672 "slow_ahb_clk_src",
673 "ife_csid_clk",
674 "ife_csid_clk_src",
675 "ife_cphy_rx_clk",
676 "cphy_rx_clk_src",
677 "ife_clk",
678 "ife_clk_src",
679 "camnoc_axi_clk",
680 "ife_axi_clk";
681 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
682 <&clock_gcc GCC_CAMERA_AXI_CLK>,
683 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
684 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
685 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
686 <&clock_camcc CAM_CC_IFE_1_CSID_CLK>,
687 <&clock_camcc CAM_CC_IFE_1_CSID_CLK_SRC>,
688 <&clock_camcc CAM_CC_IFE_1_CPHY_RX_CLK>,
689 <&clock_camcc CAM_CC_CPHY_RX_CLK_SRC>,
690 <&clock_camcc CAM_CC_IFE_1_CLK>,
691 <&clock_camcc CAM_CC_IFE_1_CLK_SRC>,
692 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
693 <&clock_camcc CAM_CC_IFE_1_AXI_CLK>;
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -0700694 clock-rates =
695 <0 0 0 0 0 0 384000000 0 0 0 404000000 0 0>,
696 <0 0 0 0 0 0 538000000 0 0 0 600000000 0 0>;
697 clock-cntl-level = "svs", "turbo";
Jing Zhoud4020692017-02-09 15:16:49 -0800698 src-clock-name = "ife_csid_clk_src";
699 status = "ok";
700 };
701
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700702 cam_vfe1: qcom,vfe1@acb6000 {
Jing Zhoud4020692017-02-09 15:16:49 -0800703 cell-index = <1>;
704 compatible = "qcom,vfe170";
705 reg-names = "ife";
706 reg = <0xacb6000 0x4000>;
707 reg-cam-base = <0xb6000>;
708 interrupt-names = "ife";
709 interrupts = <0 467 0>;
710 regulator-names = "camss", "ife1";
711 camss-supply = <&titan_top_gdsc>;
712 ife1-supply = <&ife_1_gdsc>;
713 clock-names = "camera_ahb",
714 "camera_axi",
715 "soc_ahb_clk",
716 "cpas_ahb_clk",
717 "slow_ahb_clk_src",
718 "ife_clk",
719 "ife_clk_src",
720 "camnoc_axi_clk",
721 "ife_axi_clk";
722 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
723 <&clock_gcc GCC_CAMERA_AXI_CLK>,
724 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
725 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
726 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
727 <&clock_camcc CAM_CC_IFE_1_CLK>,
728 <&clock_camcc CAM_CC_IFE_1_CLK_SRC>,
729 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
730 <&clock_camcc CAM_CC_IFE_1_AXI_CLK>;
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -0700731 clock-rates =
732 <0 0 0 0 0 0 404000000 0 0>,
733 <0 0 0 0 0 0 480000000 0 0>,
734 <0 0 0 0 0 0 600000000 0 0>;
735 clock-cntl-level = "svs", "svs_l1", "turbo";
Jing Zhoud4020692017-02-09 15:16:49 -0800736 src-clock-name = "ife_clk_src";
737 clock-names-option = "ife_dsp_clk";
738 clocks-option = <&clock_camcc CAM_CC_IFE_1_DSP_CLK>;
Senthil Rajagopal3f8372c2017-11-05 12:19:56 +0530739 clock-rates-option = <600000000>;
Jing Zhoud4020692017-02-09 15:16:49 -0800740 status = "ok";
741 };
742
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700743 cam_csid_lite: qcom,csid-lite@acc8000 {
Jing Zhoud4020692017-02-09 15:16:49 -0800744 cell-index = <2>;
745 compatible = "qcom,csid-lite170";
746 reg-names = "csid-lite";
747 reg = <0xacc8000 0x1000>;
748 reg-cam-base = <0xc8000>;
749 interrupt-names = "csid-lite";
750 interrupts = <0 468 0>;
751 regulator-names = "camss";
752 camss-supply = <&titan_top_gdsc>;
753 clock-names = "camera_ahb",
754 "camera_axi",
755 "soc_ahb_clk",
756 "cpas_ahb_clk",
757 "slow_ahb_clk_src",
758 "ife_csid_clk",
759 "ife_csid_clk_src",
760 "ife_cphy_rx_clk",
761 "cphy_rx_clk_src",
762 "ife_clk",
763 "ife_clk_src",
764 "camnoc_axi_clk";
765 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
766 <&clock_gcc GCC_CAMERA_AXI_CLK>,
767 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
768 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
769 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
770 <&clock_camcc CAM_CC_IFE_LITE_CSID_CLK>,
771 <&clock_camcc CAM_CC_IFE_LITE_CSID_CLK_SRC>,
772 <&clock_camcc CAM_CC_IFE_LITE_CPHY_RX_CLK>,
773 <&clock_camcc CAM_CC_CPHY_RX_CLK_SRC>,
774 <&clock_camcc CAM_CC_IFE_LITE_CLK>,
775 <&clock_camcc CAM_CC_IFE_LITE_CLK_SRC>,
776 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>;
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -0700777 clock-rates =
778 <0 0 0 0 0 0 384000000 0 0 0 404000000 0>,
779 <0 0 0 0 0 0 538000000 0 0 0 600000000 0>;
Pavan Kumar Chilamkurthi5e7abaf2017-11-15 13:07:44 -0800780 clock-cntl-level = "svs", "turbo";
Jing Zhoud4020692017-02-09 15:16:49 -0800781 src-clock-name = "ife_csid_clk_src";
782 status = "ok";
783 };
784
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700785 cam_vfe_lite: qcom,vfe-lite@acc4000 {
Jing Zhoud4020692017-02-09 15:16:49 -0800786 cell-index = <2>;
787 compatible = "qcom,vfe-lite170";
788 reg-names = "ife-lite";
789 reg = <0xacc4000 0x4000>;
790 reg-cam-base = <0xc4000>;
791 interrupt-names = "ife-lite";
792 interrupts = <0 469 0>;
793 regulator-names = "camss";
794 camss-supply = <&titan_top_gdsc>;
795 clock-names = "camera_ahb",
796 "camera_axi",
797 "soc_ahb_clk",
798 "cpas_ahb_clk",
799 "slow_ahb_clk_src",
800 "ife_clk",
801 "ife_clk_src",
802 "camnoc_axi_clk";
803 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
804 <&clock_gcc GCC_CAMERA_AXI_CLK>,
805 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
806 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
807 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
808 <&clock_camcc CAM_CC_IFE_LITE_CLK>,
809 <&clock_camcc CAM_CC_IFE_LITE_CLK_SRC>,
810 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>;
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -0700811 clock-rates =
812 <0 0 0 0 0 0 404000000 0>,
813 <0 0 0 0 0 0 480000000 0>,
814 <0 0 0 0 0 0 600000000 0>;
815 clock-cntl-level = "svs", "svs_l1", "turbo";
Jing Zhoud4020692017-02-09 15:16:49 -0800816 src-clock-name = "ife_clk_src";
817 status = "ok";
818 };
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700819
820 qcom,cam-icp {
821 compatible = "qcom,cam-icp";
822 compat-hw-name = "qcom,a5",
823 "qcom,ipe0",
824 "qcom,ipe1",
825 "qcom,bps";
826 num-a5 = <1>;
827 num-ipe = <2>;
828 num-bps = <1>;
829 status = "ok";
830 };
831
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700832 cam_a5: qcom,a5@ac00000 {
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700833 cell-index = <0>;
Suresh Vankadara22697d32017-07-03 12:14:09 -0700834 compatible = "qcom,cam-a5";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700835 reg = <0xac00000 0x6000>,
836 <0xac10000 0x8000>,
837 <0xac18000 0x3000>;
838 reg-names = "a5_qgic", "a5_sierra", "a5_csr";
839 reg-cam-base = <0x00000 0x10000 0x18000>;
840 interrupts = <0 463 0>;
841 interrupt-names = "a5";
842 regulator-names = "camss-vdd";
843 camss-vdd-supply = <&titan_top_gdsc>;
844 clock-names = "gcc_cam_ahb_clk",
845 "gcc_cam_axi_clk",
Lakshmi Narayana Kalavala238c2b22017-06-08 17:43:57 -0700846 "soc_fast_ahb",
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700847 "soc_ahb_clk",
848 "cpas_ahb_clk",
849 "camnoc_axi_clk",
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700850 "icp_clk",
Lakshmi Narayana Kalavalae5f367a2017-05-25 11:36:18 -0700851 "icp_clk_src";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700852 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
853 <&clock_gcc GCC_CAMERA_AXI_CLK>,
Lakshmi Narayana Kalavala238c2b22017-06-08 17:43:57 -0700854 <&clock_camcc CAM_CC_FAST_AHB_CLK_SRC>,
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700855 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
856 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
857 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700858 <&clock_camcc CAM_CC_ICP_CLK>,
Lakshmi Narayana Kalavalae5f367a2017-05-25 11:36:18 -0700859 <&clock_camcc CAM_CC_ICP_CLK_SRC>;
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700860
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -0700861 clock-rates =
862 <0 0 200000000 0 0 0 0 400000000>,
863 <0 0 200000000 0 0 0 0 600000000>;
864 clock-cntl-level = "svs", "turbo";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700865 fw_name = "CAMERA_ICP.elf";
Abhishek Kondaveeti7e237192018-02-01 16:58:48 +0530866 ubwc-cfg = <0x7B 0x1EF>;
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700867 status = "ok";
868 };
869
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700870 cam_ipe0: qcom,ipe0 {
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700871 cell-index = <0>;
Suresh Vankadara22697d32017-07-03 12:14:09 -0700872 compatible = "qcom,cam-ipe";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700873 regulator-names = "ipe0-vdd";
874 ipe0-vdd-supply = <&ipe_0_gdsc>;
875 clock-names = "ipe_0_ahb_clk",
876 "ipe_0_areg_clk",
877 "ipe_0_axi_clk",
878 "ipe_0_clk",
879 "ipe_0_clk_src";
Suresh Vankadara34494fc2017-08-12 18:18:09 +0530880 src-clock-name = "ipe_0_clk_src";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700881 clocks = <&clock_camcc CAM_CC_IPE_0_AHB_CLK>,
882 <&clock_camcc CAM_CC_IPE_0_AREG_CLK>,
883 <&clock_camcc CAM_CC_IPE_0_AXI_CLK>,
884 <&clock_camcc CAM_CC_IPE_0_CLK>,
885 <&clock_camcc CAM_CC_IPE_0_CLK_SRC>;
886
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -0700887 clock-rates =
Suresh Vankadara34494fc2017-08-12 18:18:09 +0530888 <0 0 0 0 404000000>,
889 <0 0 0 0 480000000>,
890 <0 0 0 0 538000000>,
891 <0 0 0 0 600000000>;
Pavan Kumar Chilamkurthicc4f59c2018-01-25 13:44:22 -0800892 clock-cntl-level = "svs",
Suresh Vankadara34494fc2017-08-12 18:18:09 +0530893 "svs_l1", "nominal", "turbo";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700894 status = "ok";
895 };
896
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700897 cam_ipe1: qcom,ipe1 {
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700898 cell-index = <1>;
Suresh Vankadara22697d32017-07-03 12:14:09 -0700899 compatible = "qcom,cam-ipe";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700900 regulator-names = "ipe1-vdd";
901 ipe1-vdd-supply = <&ipe_1_gdsc>;
902 clock-names = "ipe_1_ahb_clk",
903 "ipe_1_areg_clk",
904 "ipe_1_axi_clk",
905 "ipe_1_clk",
906 "ipe_1_clk_src";
Suresh Vankadara34494fc2017-08-12 18:18:09 +0530907 src-clock-name = "ipe_1_clk_src";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700908 clocks = <&clock_camcc CAM_CC_IPE_1_AHB_CLK>,
909 <&clock_camcc CAM_CC_IPE_1_AREG_CLK>,
910 <&clock_camcc CAM_CC_IPE_1_AXI_CLK>,
911 <&clock_camcc CAM_CC_IPE_1_CLK>,
912 <&clock_camcc CAM_CC_IPE_1_CLK_SRC>;
913
Pavan Kumar Chilamkurthicc4f59c2018-01-25 13:44:22 -0800914 clock-rates =
Suresh Vankadara34494fc2017-08-12 18:18:09 +0530915 <0 0 0 0 404000000>,
916 <0 0 0 0 480000000>,
917 <0 0 0 0 538000000>,
918 <0 0 0 0 600000000>;
Pavan Kumar Chilamkurthicc4f59c2018-01-25 13:44:22 -0800919 clock-cntl-level = "svs",
Suresh Vankadara34494fc2017-08-12 18:18:09 +0530920 "svs_l1", "nominal", "turbo";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700921 status = "ok";
922 };
923
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700924 cam_bps: qcom,bps {
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700925 cell-index = <0>;
Suresh Vankadara22697d32017-07-03 12:14:09 -0700926 compatible = "qcom,cam-bps";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700927 regulator-names = "bps-vdd";
928 bps-vdd-supply = <&bps_gdsc>;
929 clock-names = "bps_ahb_clk",
930 "bps_areg_clk",
931 "bps_axi_clk",
932 "bps_clk",
933 "bps_clk_src";
Suresh Vankadara34494fc2017-08-12 18:18:09 +0530934 src-clock-name = "bps_clk_src";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700935 clocks = <&clock_camcc CAM_CC_BPS_AHB_CLK>,
936 <&clock_camcc CAM_CC_BPS_AREG_CLK>,
937 <&clock_camcc CAM_CC_BPS_AXI_CLK>,
938 <&clock_camcc CAM_CC_BPS_CLK>,
939 <&clock_camcc CAM_CC_BPS_CLK_SRC>;
940
Pavan Kumar Chilamkurthicc4f59c2018-01-25 13:44:22 -0800941 clock-rates =
Suresh Vankadara34494fc2017-08-12 18:18:09 +0530942 <0 0 0 0 404000000>,
943 <0 0 0 0 480000000>,
944 <0 0 0 0 600000000>,
945 <0 0 0 0 600000000>;
Pavan Kumar Chilamkurthicc4f59c2018-01-25 13:44:22 -0800946 clock-cntl-level = "svs",
Suresh Vankadara34494fc2017-08-12 18:18:09 +0530947 "svs_l1", "nominal", "turbo";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700948 status = "ok";
949 };
Rajakumar Govindaram0e33b712017-07-19 15:31:04 -0700950
951 qcom,cam-jpeg {
952 compatible = "qcom,cam-jpeg";
953 compat-hw-name = "qcom,jpegenc",
954 "qcom,jpegdma";
955 num-jpeg-enc = <1>;
956 num-jpeg-dma = <1>;
957 status = "ok";
958 };
959
960 cam_jpeg_enc: qcom,jpegenc@ac4e000 {
961 cell-index = <0>;
962 compatible = "qcom,cam_jpeg_enc";
963 reg-names = "jpege_hw";
964 reg = <0xac4e000 0x4000>;
965 reg-cam-base = <0x4e000>;
966 interrupt-names = "jpeg";
967 interrupts = <0 474 0>;
968 regulator-names = "camss-vdd";
969 camss-vdd-supply = <&titan_top_gdsc>;
970 clock-names = "camera_ahb",
971 "camera_axi",
972 "soc_ahb_clk",
973 "cpas_ahb_clk",
974 "camnoc_axi_clk",
975 "jpegenc_clk_src",
976 "jpegenc_clk";
977 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
978 <&clock_gcc GCC_CAMERA_AXI_CLK>,
979 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
980 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
981 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
982 <&clock_camcc CAM_CC_JPEG_CLK_SRC>,
983 <&clock_camcc CAM_CC_JPEG_CLK>;
984
985 clock-rates = <0 0 0 0 0 600000000 0>;
986 src-clock-name = "jpegenc_clk_src";
987 clock-cntl-level = "nominal";
988 status = "ok";
989 };
990
991 cam_jpeg_dma: qcom,jpegdma@0xac52000{
992 cell-index = <0>;
993 compatible = "qcom,cam_jpeg_dma";
994 reg-names = "jpegdma_hw";
995 reg = <0xac52000 0x4000>;
996 reg-cam-base = <0x52000>;
997 interrupt-names = "jpegdma";
998 interrupts = <0 475 0>;
999 regulator-names = "camss-vdd";
1000 camss-vdd-supply = <&titan_top_gdsc>;
1001 clock-names = "camera_ahb",
1002 "camera_axi",
1003 "soc_ahb_clk",
1004 "cpas_ahb_clk",
1005 "camnoc_axi_clk",
1006 "jpegdma_clk_src",
1007 "jpegdma_clk";
1008 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
1009 <&clock_gcc GCC_CAMERA_AXI_CLK>,
1010 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
1011 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
1012 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
1013 <&clock_camcc CAM_CC_JPEG_CLK_SRC>,
1014 <&clock_camcc CAM_CC_JPEG_CLK>;
1015
1016 clock-rates = <0 0 0 0 0 600000000 0>;
1017 src-clock-name = "jpegdma_clk_src";
1018 clock-cntl-level = "nominal";
1019 status = "ok";
1020 };
1021
Pavan Kumar Chilamkurthib2cd6dd2017-07-30 02:25:23 -07001022 qcom,cam-fd {
1023 compatible = "qcom,cam-fd";
1024 compat-hw-name = "qcom,fd";
1025 num-fd = <1>;
1026 status = "ok";
1027 };
1028
1029 cam_fd: qcom,fd@ac5a000 {
1030 cell-index = <0>;
1031 compatible = "qcom,fd41";
1032 reg-names = "fd_core", "fd_wrapper";
1033 reg = <0xac5a000 0x1000>,
1034 <0xac5b000 0x400>;
1035 reg-cam-base = <0x5a000 0x5b000>;
1036 interrupt-names = "fd";
1037 interrupts = <0 462 0>;
1038 regulator-names = "camss-vdd";
1039 camss-vdd-supply = <&titan_top_gdsc>;
1040 clock-names = "gcc_ahb_clk",
1041 "gcc_axi_clk",
1042 "soc_ahb_clk",
1043 "cpas_ahb_clk",
1044 "camnoc_axi_clk",
1045 "fd_core_clk_src",
1046 "fd_core_clk",
1047 "fd_core_uar_clk";
1048 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
1049 <&clock_gcc GCC_CAMERA_AXI_CLK>,
1050 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
1051 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
1052 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
1053 <&clock_camcc CAM_CC_FD_CORE_CLK_SRC>,
1054 <&clock_camcc CAM_CC_FD_CORE_CLK>,
1055 <&clock_camcc CAM_CC_FD_CORE_UAR_CLK>;
1056 src-clock-name = "fd_core_clk_src";
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -07001057 clock-cntl-level = "svs", "svs_l1", "turbo";
1058 clock-rates =
1059 <0 0 0 0 0 400000000 0 0>,
1060 <0 0 0 0 0 538000000 0 0>,
1061 <0 0 0 0 0 600000000 0 0>;
Pavan Kumar Chilamkurthib2cd6dd2017-07-30 02:25:23 -07001062 status = "ok";
1063 };
Lakshmi Narayana Kalavalac0dac062016-12-01 17:20:09 -08001064};