blob: 8bb6d2386530004204416529324ce948ab9df243 [file] [log] [blame]
Lakshmi Narayana Kalavalac0dac062016-12-01 17:20:09 -08001/*
Raja Mallik0dd63b22019-03-12 11:50:38 +05302 * Copyright (c) 2017-2019, 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";
Karthik Anantha Ram7a954c22018-06-28 16:39:52 -070048 src-clock-name = "csi0phytimer_clk_src";
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -070049 clock-cntl-level = "svs", "turbo";
Alok Pandey1837a202017-06-25 20:39:56 +053050 clock-rates =
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -070051 <0 0 0 0 320000000 0 269333333 0>,
52 <0 0 0 0 384000000 0 269333333 0>;
Jigarkumar Zala861231152017-02-28 14:05:11 -080053 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";
Alok Pandey1837a202017-06-25 20:39:56 +053061 reg-cam-base = <0x66000>;
Jigarkumar Zala861231152017-02-28 14:05:11 -080062 interrupts = <0 478 0>;
63 interrupt-names = "csiphy";
64 gdscr-supply = <&titan_top_gdsc>;
Alok Pandey1837a202017-06-25 20:39:56 +053065 regulator-names = "gdscr";
66 csi-vdd-voltage = <1200000>;
Jigarkumar Zala5fd88ce2017-10-03 14:14:19 -070067 mipi-csi-vdd-supply = <&pm8998_l1>;
Jigarkumar Zala861231152017-02-28 14:05:11 -080068 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>,
Soundrapandian Jeyaprakashb1638752017-07-25 15:14:53 -070075 <&clock_camcc CAM_CC_CSI1PHYTIMER_CLK>;
Jigarkumar Zala861231152017-02-28 14:05:11 -080076 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",
Soundrapandian Jeyaprakashb1638752017-07-25 15:14:53 -070083 "csi1phytimer_clk";
Karthik Anantha Ram7a954c22018-06-28 16:39:52 -070084 src-clock-name = "csi1phytimer_clk_src";
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -070085 clock-cntl-level = "svs", "turbo";
Alok Pandey1837a202017-06-25 20:39:56 +053086 clock-rates =
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -070087 <0 0 0 0 320000000 0 269333333 0>,
88 <0 0 0 0 384000000 0 269333333 0>;
Jigarkumar Zala861231152017-02-28 14:05:11 -080089
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";
Alok Pandey1837a202017-06-25 20:39:56 +053098 reg-cam-base = <0x67000>;
Jigarkumar Zala861231152017-02-28 14:05:11 -080099 interrupts = <0 479 0>;
100 interrupt-names = "csiphy";
101 gdscr-supply = <&titan_top_gdsc>;
Alok Pandey1837a202017-06-25 20:39:56 +0530102 regulator-names = "gdscr";
103 csi-vdd-voltage = <1200000>;
Jigarkumar Zala5fd88ce2017-10-03 14:14:19 -0700104 mipi-csi-vdd-supply = <&pm8998_l1>;
Jigarkumar Zala861231152017-02-28 14:05:11 -0800105 clocks = <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
106 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
107 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
108 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
109 <&clock_camcc CAM_CC_CPHY_RX_CLK_SRC>,
110 <&clock_camcc CAM_CC_CSIPHY2_CLK>,
111 <&clock_camcc CAM_CC_CSI2PHYTIMER_CLK_SRC>,
Soundrapandian Jeyaprakashb1638752017-07-25 15:14:53 -0700112 <&clock_camcc CAM_CC_CSI2PHYTIMER_CLK>;
Jigarkumar Zala861231152017-02-28 14:05:11 -0800113 clock-names = "camnoc_axi_clk",
114 "soc_ahb_clk",
115 "slow_ahb_src_clk",
116 "cpas_ahb_clk",
117 "cphy_rx_clk_src",
118 "csiphy2_clk",
119 "csi2phytimer_clk_src",
Soundrapandian Jeyaprakashb1638752017-07-25 15:14:53 -0700120 "csi2phytimer_clk";
Karthik Anantha Ram7a954c22018-06-28 16:39:52 -0700121 src-clock-name = "csi2phytimer_clk_src";
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -0700122 clock-cntl-level = "svs", "turbo";
Alok Pandey1837a202017-06-25 20:39:56 +0530123 clock-rates =
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -0700124 <0 0 0 0 320000000 0 269333333 0>,
125 <0 0 0 0 384000000 0 269333333 0>;
Jigarkumar Zala861231152017-02-28 14:05:11 -0800126 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";
Jigarkumar Zala861231152017-02-28 14:05:11 -0800132 #address-cells = <1>;
133 #size-cells = <0>;
Alok Pandey1837a202017-06-25 20:39:56 +0530134 reg = <0xac4a000 0x4000>;
Jigarkumar Zala861231152017-02-28 14:05:11 -0800135 reg-names = "cci";
Alok Pandey1837a202017-06-25 20:39:56 +0530136 reg-cam-base = <0x4a000>;
Jigarkumar Zala861231152017-02-28 14:05:11 -0800137 interrupt-names = "cci";
Alok Pandey1837a202017-06-25 20:39:56 +0530138 interrupts = <0 460 0>;
Jigarkumar Zala861231152017-02-28 14:05:11 -0800139 status = "ok";
140 gdscr-supply = <&titan_top_gdsc>;
Alok Pandey1837a202017-06-25 20:39:56 +0530141 regulator-names = "gdscr";
Jigarkumar Zala861231152017-02-28 14:05:11 -0800142 clocks = <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
143 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
144 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
145 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
146 <&clock_camcc CAM_CC_CCI_CLK>,
147 <&clock_camcc CAM_CC_CCI_CLK_SRC>;
148 clock-names = "camnoc_axi_clk",
149 "soc_ahb_clk",
150 "slow_ahb_src_clk",
151 "cpas_ahb_clk",
152 "cci_clk",
153 "cci_clk_src";
Alok Pandey1837a202017-06-25 20:39:56 +0530154 src-clock-name = "cci_clk_src";
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -0700155 clock-cntl-level = "lowsvs";
Alok Pandey1837a202017-06-25 20:39:56 +0530156 clock-rates = <0 0 0 0 0 37500000>;
157 pinctrl-names = "cam_default", "cam_suspend";
Jigarkumar Zala861231152017-02-28 14:05:11 -0800158 pinctrl-0 = <&cci0_active &cci1_active>;
159 pinctrl-1 = <&cci0_suspend &cci1_suspend>;
160 gpios = <&tlmm 17 0>,
161 <&tlmm 18 0>,
162 <&tlmm 19 0>,
163 <&tlmm 20 0>;
Alok Pandey1837a202017-06-25 20:39:56 +0530164 gpio-req-tbl-num = <0 1 2 3>;
165 gpio-req-tbl-flags = <1 1 1 1>;
166 gpio-req-tbl-label = "CCI_I2C_DATA0",
Jigarkumar Zala861231152017-02-28 14:05:11 -0800167 "CCI_I2C_CLK0",
168 "CCI_I2C_DATA1",
169 "CCI_I2C_CLK1";
170
171 i2c_freq_100Khz: qcom,i2c_standard_mode {
Jigarkumar Zalaebfabb12017-08-15 16:32:19 -0700172 hw-thigh = <201>;
173 hw-tlow = <174>;
174 hw-tsu-sto = <204>;
175 hw-tsu-sta = <231>;
176 hw-thd-dat = <22>;
177 hw-thd-sta = <162>;
178 hw-tbuf = <227>;
179 hw-scl-stretch-en = <0>;
180 hw-trdhld = <6>;
181 hw-tsp = <3>;
182 cci-clk-src = <37500000>;
Jigarkumar Zala861231152017-02-28 14:05:11 -0800183 status = "ok";
184 };
185
186 i2c_freq_400Khz: qcom,i2c_fast_mode {
Jigarkumar Zalaebfabb12017-08-15 16:32:19 -0700187 hw-thigh = <38>;
188 hw-tlow = <56>;
189 hw-tsu-sto = <40>;
190 hw-tsu-sta = <40>;
191 hw-thd-dat = <22>;
192 hw-thd-sta = <35>;
193 hw-tbuf = <62>;
194 hw-scl-stretch-en = <0>;
195 hw-trdhld = <6>;
196 hw-tsp = <3>;
197 cci-clk-src = <37500000>;
Jigarkumar Zala861231152017-02-28 14:05:11 -0800198 status = "ok";
199 };
200
201 i2c_freq_custom: qcom,i2c_custom_mode {
Jigarkumar Zalaebfabb12017-08-15 16:32:19 -0700202 hw-thigh = <38>;
203 hw-tlow = <56>;
204 hw-tsu-sto = <40>;
205 hw-tsu-sta = <40>;
206 hw-thd-dat = <22>;
207 hw-thd-sta = <35>;
208 hw-tbuf = <62>;
209 hw-scl-stretch-en = <1>;
210 hw-trdhld = <6>;
211 hw-tsp = <3>;
212 cci-clk-src = <37500000>;
Jigarkumar Zala861231152017-02-28 14:05:11 -0800213 status = "ok";
214 };
215
216 i2c_freq_1Mhz: qcom,i2c_fast_plus_mode {
Jigarkumar Zalaebfabb12017-08-15 16:32:19 -0700217 hw-thigh = <16>;
218 hw-tlow = <22>;
219 hw-tsu-sto = <17>;
220 hw-tsu-sta = <18>;
221 hw-thd-dat = <16>;
222 hw-thd-sta = <15>;
223 hw-tbuf = <24>;
224 hw-scl-stretch-en = <0>;
225 hw-trdhld = <3>;
226 hw-tsp = <3>;
227 cci-clk-src = <37500000>;
Jigarkumar Zala861231152017-02-28 14:05:11 -0800228 status = "ok";
229 };
230 };
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700231
232 qcom,cam_smmu {
233 compatible = "qcom,msm-cam-smmu";
234 status = "ok";
235
236 msm_cam_smmu_ife {
237 compatible = "qcom,msm-cam-smmu-cb";
Patrick Daly8cb8d962017-05-08 14:46:09 -0700238 iommus = <&apps_smmu 0x808 0x0>,
239 <&apps_smmu 0x810 0x8>,
240 <&apps_smmu 0xc08 0x0>,
241 <&apps_smmu 0xc10 0x8>;
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700242 label = "ife";
243 ife_iova_mem_map: iova-mem-map {
244 /* IO region is approximately 3.4 GB */
245 iova-mem-region-io {
246 iova-region-name = "io";
247 iova-region-start = <0x7400000>;
248 iova-region-len = <0xd8c00000>;
249 iova-region-id = <0x3>;
250 status = "ok";
251 };
252 };
253 };
254
Rajakumar Govindaram0e33b712017-07-19 15:31:04 -0700255 msm_cam_smmu_jpeg {
256 compatible = "qcom,msm-cam-smmu-cb";
257 iommus = <&apps_smmu 0x1060 0x8>,
258 <&apps_smmu 0x1068 0x8>;
259 label = "jpeg";
260 jpeg_iova_mem_map: iova-mem-map {
261 /* IO region is approximately 3.4 GB */
262 iova-mem-region-io {
263 iova-region-name = "io";
264 iova-region-start = <0x7400000>;
265 iova-region-len = <0xd8c00000>;
266 iova-region-id = <0x3>;
267 status = "ok";
268 };
269 };
270 };
271
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700272 msm_cam_icp_fw {
273 compatible = "qcom,msm-cam-smmu-fw-dev";
274 label="icp";
275 memory-region = <&pil_camera_mem>;
276 };
277
278 msm_cam_smmu_icp {
279 compatible = "qcom,msm-cam-smmu-cb";
Patrick Daly8cb8d962017-05-08 14:46:09 -0700280 iommus = <&apps_smmu 0x1078 0x2>,
281 <&apps_smmu 0x1020 0x8>,
282 <&apps_smmu 0x1040 0x8>,
283 <&apps_smmu 0x1030 0x0>,
284 <&apps_smmu 0x1050 0x0>;
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700285 label = "icp";
286 icp_iova_mem_map: iova-mem-map {
287 iova-mem-region-firmware {
288 /* Firmware region is 5MB */
289 iova-region-name = "firmware";
290 iova-region-start = <0x0>;
291 iova-region-len = <0x500000>;
292 iova-region-id = <0x0>;
293 status = "ok";
294 };
295
296 iova-mem-region-shared {
Raja Mallik6d2bc892019-06-04 06:45:07 -0700297 /* Shared region is 150MB long */
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700298 iova-region-name = "shared";
299 iova-region-start = <0x7400000>;
Raja Mallik6d2bc892019-06-04 06:45:07 -0700300 iova-region-len = <0x9600000>;
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700301 iova-region-id = <0x1>;
302 status = "ok";
303 };
304
Seemanta Dutta93f940c2017-10-13 14:34:18 -0700305 iova-mem-region-secondary-heap {
306 /* Secondary heap region is 1MB long */
307 iova-region-name = "secheap";
Raja Mallik6d2bc892019-06-04 06:45:07 -0700308 iova-region-start = <0x10A00000>;
Seemanta Dutta93f940c2017-10-13 14:34:18 -0700309 iova-region-len = <0x100000>;
310 iova-region-id = <0x4>;
311 status = "ok";
312 };
313
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700314 iova-mem-region-io {
Karthik Anantha Ram8e3b1f12017-11-27 21:55:58 -0800315 /* IO region is approximately 3 GB */
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700316 iova-region-name = "io";
Raja Mallik6d2bc892019-06-04 06:45:07 -0700317 iova-region-start = <0x10C00000>;
318 iova-region-len = <0xCF300000>;
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700319 iova-region-id = <0x3>;
320 status = "ok";
321 };
Karthik Anantha Ram8e3b1f12017-11-27 21:55:58 -0800322
323 iova-mem-qdss-region {
Karthik Anantha Ram641070d2018-06-07 11:36:04 -0700324 /* qdss region is approximately 1MB */
Karthik Anantha Ram8e3b1f12017-11-27 21:55:58 -0800325 iova-region-name = "qdss";
Raja Mallik6d2bc892019-06-04 06:45:07 -0700326 iova-region-start = <0x10B00000>;
Karthik Anantha Ram641070d2018-06-07 11:36:04 -0700327 iova-region-len = <0x100000>;
Karthik Anantha Ram8e3b1f12017-11-27 21:55:58 -0800328 iova-region-id = <0x5>;
329 qdss-phy-addr = <0x16790000>;
330 status = "ok";
331 };
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700332 };
333 };
334
335 msm_cam_smmu_cpas_cdm {
336 compatible = "qcom,msm-cam-smmu-cb";
Patrick Daly8cb8d962017-05-08 14:46:09 -0700337 iommus = <&apps_smmu 0x1000 0x0>;
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700338 label = "cpas-cdm0";
339 cpas_cdm_iova_mem_map: iova-mem-map {
340 iova-mem-region-io {
341 /* IO region is approximately 3.4 GB */
342 iova-region-name = "io";
343 iova-region-start = <0x7400000>;
344 iova-region-len = <0xd8c00000>;
345 iova-region-id = <0x3>;
346 status = "ok";
347 };
348 };
349 };
350
351 msm_cam_smmu_secure {
352 compatible = "qcom,msm-cam-smmu-cb";
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700353 label = "cam-secure";
Lakshmi Narayana Kalavala2c714282017-09-08 12:27:36 -0700354 qcom,secure-cb;
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700355 };
Pavan Kumar Chilamkurthib2cd6dd2017-07-30 02:25:23 -0700356
357 msm_cam_smmu_fd {
358 compatible = "qcom,msm-cam-smmu-cb";
359 iommus = <&apps_smmu 0x1070 0x0>;
360 label = "fd";
361 fd_iova_mem_map: iova-mem-map {
362 iova-mem-region-io {
363 /* IO region is approximately 3.4 GB */
364 iova-region-name = "io";
365 iova-region-start = <0x7400000>;
366 iova-region-len = <0xd8c00000>;
367 iova-region-id = <0x3>;
368 status = "ok";
369 };
370 };
371 };
Seemanta Duttadf1dde72017-04-05 17:33:02 -0700372 };
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700373
374 qcom,cam-cpas@ac40000 {
375 cell-index = <0>;
376 compatible = "qcom,cam-cpas";
377 label = "cpas";
378 arch-compat = "cpas_top";
379 status = "ok";
380 reg-names = "cam_cpas_top", "cam_camnoc";
381 reg = <0xac40000 0x1000>,
382 <0xac42000 0x5000>;
383 reg-cam-base = <0x40000 0x42000>;
384 interrupt-names = "cpas_camnoc";
385 interrupts = <0 459 0>;
Mark Woh8a2dc2d2017-10-10 19:52:39 -0700386 qcom,cpas-hw-ver = <0x170100>; /* Titan v170 v1.0.0 */
Karthik Anantha Ram692f73f2018-05-02 15:11:32 -0700387 camnoc-axi-min-ib-bw = <3000000000>;
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700388 regulator-names = "camss-vdd";
389 camss-vdd-supply = <&titan_top_gdsc>;
390 clock-names = "gcc_ahb_clk",
391 "gcc_axi_clk",
392 "soc_ahb_clk",
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700393 "slow_ahb_clk_src",
Lakshmi Narayana Kalavala238c2b22017-06-08 17:43:57 -0700394 "cpas_ahb_clk",
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700395 "camnoc_axi_clk";
396 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
397 <&clock_gcc GCC_CAMERA_AXI_CLK>,
398 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700399 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
Lakshmi Narayana Kalavala238c2b22017-06-08 17:43:57 -0700400 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700401 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>;
402 src-clock-name = "slow_ahb_clk_src";
Jeyaprakash Soundrapandian33362ba2017-06-23 22:18:50 -0700403 clock-rates = <0 0 0 0 0 0>,
404 <0 0 0 19200000 0 0>,
405 <0 0 0 60000000 0 0>,
406 <0 0 0 66660000 0 0>,
407 <0 0 0 73840000 0 0>,
408 <0 0 0 80000000 0 0>,
409 <0 0 0 80000000 0 0>;
410 clock-cntl-level = "suspend", "minsvs", "lowsvs", "svs",
411 "svs_l1", "nominal", "turbo";
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700412 qcom,msm-bus,name = "cam_ahb";
Jeyaprakash Soundrapandian33362ba2017-06-23 22:18:50 -0700413 qcom,msm-bus,num-cases = <7>;
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700414 qcom,msm-bus,num-paths = <1>;
415 qcom,msm-bus,vectors-KBps =
416 <MSM_BUS_MASTER_AMPSS_M0
417 MSM_BUS_SLAVE_CAMERA_CFG 0 0>,
418 <MSM_BUS_MASTER_AMPSS_M0
Pavan Kumar Chilamkurthie2cd7562017-10-31 12:04:20 -0700419 MSM_BUS_SLAVE_CAMERA_CFG 0 76500>,
Jeyaprakash Soundrapandian33362ba2017-06-23 22:18:50 -0700420 <MSM_BUS_MASTER_AMPSS_M0
Pavan Kumar Chilamkurthie2cd7562017-10-31 12:04:20 -0700421 MSM_BUS_SLAVE_CAMERA_CFG 0 76500>,
422 <MSM_BUS_MASTER_AMPSS_M0
423 MSM_BUS_SLAVE_CAMERA_CFG 0 150000>,
424 <MSM_BUS_MASTER_AMPSS_M0
425 MSM_BUS_SLAVE_CAMERA_CFG 0 150000>,
Jeyaprakash Soundrapandian33362ba2017-06-23 22:18:50 -0700426 <MSM_BUS_MASTER_AMPSS_M0
427 MSM_BUS_SLAVE_CAMERA_CFG 0 300000>,
428 <MSM_BUS_MASTER_AMPSS_M0
Pavan Kumar Chilamkurthie2cd7562017-10-31 12:04:20 -0700429 MSM_BUS_SLAVE_CAMERA_CFG 0 300000>;
Pavan Kumar Chilamkurthi071f3d22017-05-31 22:33:48 -0700430 vdd-corners = <RPMH_REGULATOR_LEVEL_OFF
431 RPMH_REGULATOR_LEVEL_RETENTION
432 RPMH_REGULATOR_LEVEL_MIN_SVS
433 RPMH_REGULATOR_LEVEL_LOW_SVS
434 RPMH_REGULATOR_LEVEL_SVS
435 RPMH_REGULATOR_LEVEL_SVS_L1
436 RPMH_REGULATOR_LEVEL_NOM
437 RPMH_REGULATOR_LEVEL_NOM_L1
438 RPMH_REGULATOR_LEVEL_NOM_L2
439 RPMH_REGULATOR_LEVEL_TURBO
440 RPMH_REGULATOR_LEVEL_TURBO_L1>;
441 vdd-corner-ahb-mapping = "suspend", "suspend",
Jeyaprakash Soundrapandian33362ba2017-06-23 22:18:50 -0700442 "minsvs", "lowsvs", "svs", "svs_l1",
Pavan Kumar Chilamkurthi071f3d22017-05-31 22:33:48 -0700443 "nominal", "nominal", "nominal",
444 "turbo", "turbo";
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700445 client-id-based;
446 client-names =
447 "csiphy0", "csiphy1", "csiphy2", "cci0",
Pavan Kumar Chilamkurthi4e070ba2017-05-12 14:47:04 -0700448 "csid0", "csid1", "csid2",
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700449 "ife0", "ife1", "ife2", "ipe0",
450 "ipe1", "cam-cdm-intf0", "cpas-cdm0", "bps0",
Shubhraprakash Das73507292017-09-08 13:55:54 -0700451 "icp0", "jpeg-dma0", "jpeg-enc0", "fd0", "lrmecpas";
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700452 client-axi-port-names =
453 "cam_hf_1", "cam_hf_2", "cam_hf_2", "cam_sf_1",
Pavan Kumar Chilamkurthi4e070ba2017-05-12 14:47:04 -0700454 "cam_hf_1", "cam_hf_2", "cam_hf_2",
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700455 "cam_hf_1", "cam_hf_2", "cam_hf_2", "cam_sf_1",
456 "cam_sf_1", "cam_sf_1", "cam_sf_1", "cam_sf_1",
Shubhraprakash Das73507292017-09-08 13:55:54 -0700457 "cam_sf_1", "cam_sf_1", "cam_sf_1", "cam_sf_1",
458 "cam_sf_1";
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700459 client-bus-camnoc-based;
460 qcom,axi-port-list {
461 qcom,axi-port1 {
462 qcom,axi-port-name = "cam_hf_1";
463 qcom,axi-port-mnoc {
464 qcom,msm-bus,name = "cam_hf_1_mnoc";
465 qcom,msm-bus-vector-dyn-vote;
466 qcom,msm-bus,num-cases = <2>;
467 qcom,msm-bus,num-paths = <1>;
468 qcom,msm-bus,vectors-KBps =
Pavan Kumar Chilamkurthid34fd882017-06-01 01:53:09 -0700469 <MSM_BUS_MASTER_CAMNOC_HF0
470 MSM_BUS_SLAVE_EBI_CH0 0 0>,
471 <MSM_BUS_MASTER_CAMNOC_HF0
472 MSM_BUS_SLAVE_EBI_CH0 0 0>;
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700473 };
474 qcom,axi-port-camnoc {
475 qcom,msm-bus,name = "cam_hf_1_camnoc";
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_HF0_UNCOMP
481 MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>,
482 <MSM_BUS_MASTER_CAMNOC_HF0_UNCOMP
483 MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>;
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700484 };
485 };
486 qcom,axi-port2 {
487 qcom,axi-port-name = "cam_hf_2";
488 qcom,axi-port-mnoc {
489 qcom,msm-bus,name = "cam_hf_2_mnoc";
490 qcom,msm-bus-vector-dyn-vote;
491 qcom,msm-bus,num-cases = <2>;
492 qcom,msm-bus,num-paths = <1>;
493 qcom,msm-bus,vectors-KBps =
Pavan Kumar Chilamkurthid34fd882017-06-01 01:53:09 -0700494 <MSM_BUS_MASTER_CAMNOC_HF1
495 MSM_BUS_SLAVE_EBI_CH0 0 0>,
496 <MSM_BUS_MASTER_CAMNOC_HF1
497 MSM_BUS_SLAVE_EBI_CH0 0 0>;
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700498 };
499 qcom,axi-port-camnoc {
Pavan Kumar Chilamkurthid34fd882017-06-01 01:53:09 -0700500 qcom,msm-bus,name = "cam_hf_2_camnoc";
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700501 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_HF1_UNCOMP
506 MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>,
507 <MSM_BUS_MASTER_CAMNOC_HF1_UNCOMP
508 MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>;
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700509 };
510 };
511 qcom,axi-port3 {
512 qcom,axi-port-name = "cam_sf_1";
513 qcom,axi-port-mnoc {
514 qcom,msm-bus,name = "cam_sf_1_mnoc";
515 qcom,msm-bus-vector-dyn-vote;
516 qcom,msm-bus,num-cases = <2>;
517 qcom,msm-bus,num-paths = <1>;
518 qcom,msm-bus,vectors-KBps =
Pavan Kumar Chilamkurthid34fd882017-06-01 01:53:09 -0700519 <MSM_BUS_MASTER_CAMNOC_SF
520 MSM_BUS_SLAVE_EBI_CH0 0 0>,
521 <MSM_BUS_MASTER_CAMNOC_SF
522 MSM_BUS_SLAVE_EBI_CH0 0 0>;
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700523 };
524 qcom,axi-port-camnoc {
525 qcom,msm-bus,name = "cam_sf_1_camnoc";
526 qcom,msm-bus-vector-dyn-vote;
527 qcom,msm-bus,num-cases = <2>;
528 qcom,msm-bus,num-paths = <1>;
529 qcom,msm-bus,vectors-KBps =
Pavan Kumar Chilamkurthid34fd882017-06-01 01:53:09 -0700530 <MSM_BUS_MASTER_CAMNOC_SF_UNCOMP
531 MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>,
532 <MSM_BUS_MASTER_CAMNOC_SF_UNCOMP
533 MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>;
Pavan Kumar Chilamkurthib6aa86d2017-05-01 23:47:11 -0700534 };
535 };
536 };
537 };
Hariram Purushothamane87b44e02017-03-29 13:53:01 -0700538
539 qcom,cam-cdm-intf {
540 compatible = "qcom,cam-cdm-intf";
541 cell-index = <0>;
542 label = "cam-cdm-intf";
543 num-hw-cdm = <1>;
Hariram Purushothaman91c8cb52017-04-24 21:53:36 -0700544 cdm-client-names = "vfe",
Rajakumar Govindaram0e33b712017-07-19 15:31:04 -0700545 "jpegdma",
546 "jpegenc",
Shubhraprakash Das73507292017-09-08 13:55:54 -0700547 "fd",
548 "lrmecdm";
Hariram Purushothamane87b44e02017-03-29 13:53:01 -0700549 status = "ok";
550 };
551
552 qcom,cpas-cdm0@ac48000 {
553 cell-index = <0>;
554 compatible = "qcom,cam170-cpas-cdm0";
555 label = "cpas-cdm";
556 reg = <0xac48000 0x1000>;
557 reg-names = "cpas-cdm";
558 reg-cam-base = <0x48000>;
559 interrupts = <0 461 0>;
560 interrupt-names = "cpas-cdm";
561 regulator-names = "camss";
562 camss-supply = <&titan_top_gdsc>;
563 clock-names = "gcc_camera_ahb",
564 "gcc_camera_axi",
565 "cam_cc_soc_ahb_clk",
566 "cam_cc_cpas_ahb_clk",
567 "cam_cc_camnoc_axi_clk";
568 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
569 <&clock_gcc GCC_CAMERA_AXI_CLK>,
570 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
571 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
572 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>;
573 clock-rates = <0 0 0 0 0>;
Jeyaprakash Soundrapandian33362ba2017-06-23 22:18:50 -0700574 clock-cntl-level = "svs";
Hariram Purushothaman91c8cb52017-04-24 21:53:36 -0700575 cdm-client-names = "ife";
Hariram Purushothamane87b44e02017-03-29 13:53:01 -0700576 status = "ok";
577 };
Jing Zhoud4020692017-02-09 15:16:49 -0800578
579 qcom,cam-isp {
580 compatible = "qcom,cam-isp";
581 arch-compat = "ife";
582 status = "ok";
583 };
584
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700585 cam_csid0: qcom,csid0@acb3000 {
Jing Zhoud4020692017-02-09 15:16:49 -0800586 cell-index = <0>;
587 compatible = "qcom,csid170";
588 reg-names = "csid";
589 reg = <0xacb3000 0x1000>;
590 reg-cam-base = <0xb3000>;
591 interrupt-names = "csid";
592 interrupts = <0 464 0>;
593 regulator-names = "camss", "ife0";
594 camss-supply = <&titan_top_gdsc>;
595 ife0-supply = <&ife_0_gdsc>;
596 clock-names = "camera_ahb",
597 "camera_axi",
598 "soc_ahb_clk",
599 "cpas_ahb_clk",
600 "slow_ahb_clk_src",
601 "ife_csid_clk",
602 "ife_csid_clk_src",
603 "ife_cphy_rx_clk",
604 "cphy_rx_clk_src",
605 "ife_clk",
606 "ife_clk_src",
607 "camnoc_axi_clk",
608 "ife_axi_clk";
609 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
610 <&clock_gcc GCC_CAMERA_AXI_CLK>,
611 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
612 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
613 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
614 <&clock_camcc CAM_CC_IFE_0_CSID_CLK>,
615 <&clock_camcc CAM_CC_IFE_0_CSID_CLK_SRC>,
616 <&clock_camcc CAM_CC_IFE_0_CPHY_RX_CLK>,
617 <&clock_camcc CAM_CC_CPHY_RX_CLK_SRC>,
618 <&clock_camcc CAM_CC_IFE_0_CLK>,
619 <&clock_camcc CAM_CC_IFE_0_CLK_SRC>,
620 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
621 <&clock_camcc CAM_CC_IFE_0_AXI_CLK>;
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -0700622 clock-rates =
623 <0 0 0 0 0 0 384000000 0 0 0 404000000 0 0>,
624 <0 0 0 0 0 0 538000000 0 0 0 600000000 0 0>;
625 clock-cntl-level = "svs", "turbo";
Jing Zhoud4020692017-02-09 15:16:49 -0800626 src-clock-name = "ife_csid_clk_src";
Karthik Anantha Ram25f427c2018-07-03 15:49:58 -0700627 clock-control-debugfs = "true";
Jing Zhoud4020692017-02-09 15:16:49 -0800628 status = "ok";
629 };
630
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700631 cam_vfe0: qcom,vfe0@acaf000 {
Jing Zhoud4020692017-02-09 15:16:49 -0800632 cell-index = <0>;
633 compatible = "qcom,vfe170";
634 reg-names = "ife";
635 reg = <0xacaf000 0x4000>;
636 reg-cam-base = <0xaf000>;
637 interrupt-names = "ife";
638 interrupts = <0 465 0>;
639 regulator-names = "camss", "ife0";
640 camss-supply = <&titan_top_gdsc>;
641 ife0-supply = <&ife_0_gdsc>;
642 clock-names = "camera_ahb",
643 "camera_axi",
644 "soc_ahb_clk",
645 "cpas_ahb_clk",
646 "slow_ahb_clk_src",
647 "ife_clk",
648 "ife_clk_src",
649 "camnoc_axi_clk",
650 "ife_axi_clk";
651 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
652 <&clock_gcc GCC_CAMERA_AXI_CLK>,
653 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
654 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
655 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
656 <&clock_camcc CAM_CC_IFE_0_CLK>,
657 <&clock_camcc CAM_CC_IFE_0_CLK_SRC>,
658 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
659 <&clock_camcc CAM_CC_IFE_0_AXI_CLK>;
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -0700660 clock-rates =
661 <0 0 0 0 0 0 404000000 0 0>,
662 <0 0 0 0 0 0 480000000 0 0>,
663 <0 0 0 0 0 0 600000000 0 0>;
664 clock-cntl-level = "svs", "svs_l1", "turbo";
Jing Zhoud4020692017-02-09 15:16:49 -0800665 src-clock-name = "ife_clk_src";
Karthik Anantha Ram25f427c2018-07-03 15:49:58 -0700666 clock-control-debugfs = "true";
Jing Zhoud4020692017-02-09 15:16:49 -0800667 clock-names-option = "ife_dsp_clk";
668 clocks-option = <&clock_camcc CAM_CC_IFE_0_DSP_CLK>;
Senthil Rajagopal3f8372c2017-11-05 12:19:56 +0530669 clock-rates-option = <600000000>;
Jing Zhoud4020692017-02-09 15:16:49 -0800670 status = "ok";
671 };
672
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700673 cam_csid1: qcom,csid1@acba000 {
Jing Zhoud4020692017-02-09 15:16:49 -0800674 cell-index = <1>;
675 compatible = "qcom,csid170";
676 reg-names = "csid";
677 reg = <0xacba000 0x1000>;
678 reg-cam-base = <0xba000>;
679 interrupt-names = "csid";
680 interrupts = <0 466 0>;
681 regulator-names = "camss", "ife1";
682 camss-supply = <&titan_top_gdsc>;
683 ife1-supply = <&ife_1_gdsc>;
684 clock-names = "camera_ahb",
685 "camera_axi",
686 "soc_ahb_clk",
687 "cpas_ahb_clk",
688 "slow_ahb_clk_src",
689 "ife_csid_clk",
690 "ife_csid_clk_src",
691 "ife_cphy_rx_clk",
692 "cphy_rx_clk_src",
693 "ife_clk",
694 "ife_clk_src",
695 "camnoc_axi_clk",
696 "ife_axi_clk";
697 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
698 <&clock_gcc GCC_CAMERA_AXI_CLK>,
699 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
700 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
701 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
702 <&clock_camcc CAM_CC_IFE_1_CSID_CLK>,
703 <&clock_camcc CAM_CC_IFE_1_CSID_CLK_SRC>,
704 <&clock_camcc CAM_CC_IFE_1_CPHY_RX_CLK>,
705 <&clock_camcc CAM_CC_CPHY_RX_CLK_SRC>,
706 <&clock_camcc CAM_CC_IFE_1_CLK>,
707 <&clock_camcc CAM_CC_IFE_1_CLK_SRC>,
708 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
709 <&clock_camcc CAM_CC_IFE_1_AXI_CLK>;
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -0700710 clock-rates =
711 <0 0 0 0 0 0 384000000 0 0 0 404000000 0 0>,
712 <0 0 0 0 0 0 538000000 0 0 0 600000000 0 0>;
713 clock-cntl-level = "svs", "turbo";
Jing Zhoud4020692017-02-09 15:16:49 -0800714 src-clock-name = "ife_csid_clk_src";
Karthik Anantha Ram25f427c2018-07-03 15:49:58 -0700715 clock-control-debugfs = "true";
Jing Zhoud4020692017-02-09 15:16:49 -0800716 status = "ok";
717 };
718
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700719 cam_vfe1: qcom,vfe1@acb6000 {
Jing Zhoud4020692017-02-09 15:16:49 -0800720 cell-index = <1>;
721 compatible = "qcom,vfe170";
722 reg-names = "ife";
723 reg = <0xacb6000 0x4000>;
724 reg-cam-base = <0xb6000>;
725 interrupt-names = "ife";
726 interrupts = <0 467 0>;
727 regulator-names = "camss", "ife1";
728 camss-supply = <&titan_top_gdsc>;
729 ife1-supply = <&ife_1_gdsc>;
730 clock-names = "camera_ahb",
731 "camera_axi",
732 "soc_ahb_clk",
733 "cpas_ahb_clk",
734 "slow_ahb_clk_src",
735 "ife_clk",
736 "ife_clk_src",
737 "camnoc_axi_clk",
738 "ife_axi_clk";
739 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
740 <&clock_gcc GCC_CAMERA_AXI_CLK>,
741 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
742 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
743 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
744 <&clock_camcc CAM_CC_IFE_1_CLK>,
745 <&clock_camcc CAM_CC_IFE_1_CLK_SRC>,
746 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
747 <&clock_camcc CAM_CC_IFE_1_AXI_CLK>;
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -0700748 clock-rates =
749 <0 0 0 0 0 0 404000000 0 0>,
750 <0 0 0 0 0 0 480000000 0 0>,
751 <0 0 0 0 0 0 600000000 0 0>;
752 clock-cntl-level = "svs", "svs_l1", "turbo";
Jing Zhoud4020692017-02-09 15:16:49 -0800753 src-clock-name = "ife_clk_src";
Karthik Anantha Ram25f427c2018-07-03 15:49:58 -0700754 clock-control-debugfs = "true";
Jing Zhoud4020692017-02-09 15:16:49 -0800755 clock-names-option = "ife_dsp_clk";
756 clocks-option = <&clock_camcc CAM_CC_IFE_1_DSP_CLK>;
Senthil Rajagopal3f8372c2017-11-05 12:19:56 +0530757 clock-rates-option = <600000000>;
Jing Zhoud4020692017-02-09 15:16:49 -0800758 status = "ok";
759 };
760
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700761 cam_csid_lite: qcom,csid-lite@acc8000 {
Jing Zhoud4020692017-02-09 15:16:49 -0800762 cell-index = <2>;
763 compatible = "qcom,csid-lite170";
764 reg-names = "csid-lite";
765 reg = <0xacc8000 0x1000>;
766 reg-cam-base = <0xc8000>;
767 interrupt-names = "csid-lite";
768 interrupts = <0 468 0>;
769 regulator-names = "camss";
770 camss-supply = <&titan_top_gdsc>;
771 clock-names = "camera_ahb",
772 "camera_axi",
773 "soc_ahb_clk",
774 "cpas_ahb_clk",
775 "slow_ahb_clk_src",
776 "ife_csid_clk",
777 "ife_csid_clk_src",
778 "ife_cphy_rx_clk",
779 "cphy_rx_clk_src",
780 "ife_clk",
781 "ife_clk_src",
782 "camnoc_axi_clk";
783 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
784 <&clock_gcc GCC_CAMERA_AXI_CLK>,
785 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
786 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
787 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
788 <&clock_camcc CAM_CC_IFE_LITE_CSID_CLK>,
789 <&clock_camcc CAM_CC_IFE_LITE_CSID_CLK_SRC>,
790 <&clock_camcc CAM_CC_IFE_LITE_CPHY_RX_CLK>,
791 <&clock_camcc CAM_CC_CPHY_RX_CLK_SRC>,
792 <&clock_camcc CAM_CC_IFE_LITE_CLK>,
793 <&clock_camcc CAM_CC_IFE_LITE_CLK_SRC>,
794 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>;
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -0700795 clock-rates =
796 <0 0 0 0 0 0 384000000 0 0 0 404000000 0>,
797 <0 0 0 0 0 0 538000000 0 0 0 600000000 0>;
Pavan Kumar Chilamkurthi5e7abaf2017-11-15 13:07:44 -0800798 clock-cntl-level = "svs", "turbo";
Jing Zhoud4020692017-02-09 15:16:49 -0800799 src-clock-name = "ife_csid_clk_src";
Karthik Anantha Ram25f427c2018-07-03 15:49:58 -0700800 clock-control-debugfs = "true";
Jing Zhoud4020692017-02-09 15:16:49 -0800801 status = "ok";
802 };
803
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700804 cam_vfe_lite: qcom,vfe-lite@acc4000 {
Jing Zhoud4020692017-02-09 15:16:49 -0800805 cell-index = <2>;
806 compatible = "qcom,vfe-lite170";
807 reg-names = "ife-lite";
808 reg = <0xacc4000 0x4000>;
809 reg-cam-base = <0xc4000>;
810 interrupt-names = "ife-lite";
811 interrupts = <0 469 0>;
812 regulator-names = "camss";
813 camss-supply = <&titan_top_gdsc>;
814 clock-names = "camera_ahb",
815 "camera_axi",
816 "soc_ahb_clk",
817 "cpas_ahb_clk",
818 "slow_ahb_clk_src",
819 "ife_clk",
820 "ife_clk_src",
821 "camnoc_axi_clk";
822 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
823 <&clock_gcc GCC_CAMERA_AXI_CLK>,
824 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
825 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
826 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
827 <&clock_camcc CAM_CC_IFE_LITE_CLK>,
828 <&clock_camcc CAM_CC_IFE_LITE_CLK_SRC>,
829 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>;
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -0700830 clock-rates =
831 <0 0 0 0 0 0 404000000 0>,
832 <0 0 0 0 0 0 480000000 0>,
833 <0 0 0 0 0 0 600000000 0>;
834 clock-cntl-level = "svs", "svs_l1", "turbo";
Jing Zhoud4020692017-02-09 15:16:49 -0800835 src-clock-name = "ife_clk_src";
Karthik Anantha Ram25f427c2018-07-03 15:49:58 -0700836 clock-control-debugfs = "true";
Jing Zhoud4020692017-02-09 15:16:49 -0800837 status = "ok";
838 };
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700839
840 qcom,cam-icp {
841 compatible = "qcom,cam-icp";
842 compat-hw-name = "qcom,a5",
843 "qcom,ipe0",
844 "qcom,ipe1",
845 "qcom,bps";
846 num-a5 = <1>;
847 num-ipe = <2>;
848 num-bps = <1>;
849 status = "ok";
850 };
851
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700852 cam_a5: qcom,a5@ac00000 {
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700853 cell-index = <0>;
Suresh Vankadara22697d32017-07-03 12:14:09 -0700854 compatible = "qcom,cam-a5";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700855 reg = <0xac00000 0x6000>,
856 <0xac10000 0x8000>,
857 <0xac18000 0x3000>;
858 reg-names = "a5_qgic", "a5_sierra", "a5_csr";
859 reg-cam-base = <0x00000 0x10000 0x18000>;
860 interrupts = <0 463 0>;
861 interrupt-names = "a5";
862 regulator-names = "camss-vdd";
863 camss-vdd-supply = <&titan_top_gdsc>;
864 clock-names = "gcc_cam_ahb_clk",
865 "gcc_cam_axi_clk",
Lakshmi Narayana Kalavala238c2b22017-06-08 17:43:57 -0700866 "soc_fast_ahb",
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700867 "soc_ahb_clk",
868 "cpas_ahb_clk",
869 "camnoc_axi_clk",
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700870 "icp_clk",
Lakshmi Narayana Kalavalae5f367a2017-05-25 11:36:18 -0700871 "icp_clk_src";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700872 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
873 <&clock_gcc GCC_CAMERA_AXI_CLK>,
Lakshmi Narayana Kalavala238c2b22017-06-08 17:43:57 -0700874 <&clock_camcc CAM_CC_FAST_AHB_CLK_SRC>,
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700875 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
876 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
877 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700878 <&clock_camcc CAM_CC_ICP_CLK>,
Lakshmi Narayana Kalavalae5f367a2017-05-25 11:36:18 -0700879 <&clock_camcc CAM_CC_ICP_CLK_SRC>;
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700880
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -0700881 clock-rates =
882 <0 0 200000000 0 0 0 0 400000000>,
883 <0 0 200000000 0 0 0 0 600000000>;
884 clock-cntl-level = "svs", "turbo";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700885 fw_name = "CAMERA_ICP.elf";
Abhishek Kondaveeti7e237192018-02-01 16:58:48 +0530886 ubwc-cfg = <0x7B 0x1EF>;
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700887 status = "ok";
888 };
889
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700890 cam_ipe0: qcom,ipe0 {
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700891 cell-index = <0>;
Suresh Vankadara22697d32017-07-03 12:14:09 -0700892 compatible = "qcom,cam-ipe";
Karthik Anantha Ramc555f972018-06-24 19:16:11 -0700893 reg = <0xac87000 0x3000>;
894 reg-names = "ipe0_top";
895 reg-cam-base = <0x87000>;
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700896 regulator-names = "ipe0-vdd";
897 ipe0-vdd-supply = <&ipe_0_gdsc>;
898 clock-names = "ipe_0_ahb_clk",
899 "ipe_0_areg_clk",
900 "ipe_0_axi_clk",
901 "ipe_0_clk",
902 "ipe_0_clk_src";
Suresh Vankadara34494fc2017-08-12 18:18:09 +0530903 src-clock-name = "ipe_0_clk_src";
Karthik Anantha Ram25f427c2018-07-03 15:49:58 -0700904 clock-control-debugfs = "true";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700905 clocks = <&clock_camcc CAM_CC_IPE_0_AHB_CLK>,
906 <&clock_camcc CAM_CC_IPE_0_AREG_CLK>,
907 <&clock_camcc CAM_CC_IPE_0_AXI_CLK>,
908 <&clock_camcc CAM_CC_IPE_0_CLK>,
909 <&clock_camcc CAM_CC_IPE_0_CLK_SRC>;
910
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -0700911 clock-rates =
Suresh Vankadara34494fc2017-08-12 18:18:09 +0530912 <0 0 0 0 404000000>,
913 <0 0 0 0 480000000>,
914 <0 0 0 0 538000000>,
915 <0 0 0 0 600000000>;
Pavan Kumar Chilamkurthicc4f59c2018-01-25 13:44:22 -0800916 clock-cntl-level = "svs",
Suresh Vankadara34494fc2017-08-12 18:18:09 +0530917 "svs_l1", "nominal", "turbo";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700918 status = "ok";
919 };
920
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700921 cam_ipe1: qcom,ipe1 {
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700922 cell-index = <1>;
Suresh Vankadara22697d32017-07-03 12:14:09 -0700923 compatible = "qcom,cam-ipe";
Karthik Anantha Ramc555f972018-06-24 19:16:11 -0700924 reg = <0xac91000 0x3000>;
925 reg-names = "ipe1_top";
926 reg-cam-base = <0x91000>;
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700927 regulator-names = "ipe1-vdd";
928 ipe1-vdd-supply = <&ipe_1_gdsc>;
929 clock-names = "ipe_1_ahb_clk",
930 "ipe_1_areg_clk",
931 "ipe_1_axi_clk",
932 "ipe_1_clk",
933 "ipe_1_clk_src";
Suresh Vankadara34494fc2017-08-12 18:18:09 +0530934 src-clock-name = "ipe_1_clk_src";
Karthik Anantha Ram25f427c2018-07-03 15:49:58 -0700935 clock-control-debugfs = "true";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700936 clocks = <&clock_camcc CAM_CC_IPE_1_AHB_CLK>,
937 <&clock_camcc CAM_CC_IPE_1_AREG_CLK>,
938 <&clock_camcc CAM_CC_IPE_1_AXI_CLK>,
939 <&clock_camcc CAM_CC_IPE_1_CLK>,
940 <&clock_camcc CAM_CC_IPE_1_CLK_SRC>;
941
Pavan Kumar Chilamkurthicc4f59c2018-01-25 13:44:22 -0800942 clock-rates =
Suresh Vankadara34494fc2017-08-12 18:18:09 +0530943 <0 0 0 0 404000000>,
944 <0 0 0 0 480000000>,
945 <0 0 0 0 538000000>,
946 <0 0 0 0 600000000>;
Pavan Kumar Chilamkurthicc4f59c2018-01-25 13:44:22 -0800947 clock-cntl-level = "svs",
Suresh Vankadara34494fc2017-08-12 18:18:09 +0530948 "svs_l1", "nominal", "turbo";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700949 status = "ok";
950 };
951
Pavan Kumar Chilamkurthi6bc57c12017-05-31 22:16:55 -0700952 cam_bps: qcom,bps {
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700953 cell-index = <0>;
Suresh Vankadara22697d32017-07-03 12:14:09 -0700954 compatible = "qcom,cam-bps";
Karthik Anantha Ramc555f972018-06-24 19:16:11 -0700955 reg = <0xac6f000 0x3000>;
956 reg-names = "bps_top";
957 reg-cam-base = <0x6f000>;
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700958 regulator-names = "bps-vdd";
959 bps-vdd-supply = <&bps_gdsc>;
960 clock-names = "bps_ahb_clk",
961 "bps_areg_clk",
962 "bps_axi_clk",
963 "bps_clk",
964 "bps_clk_src";
Suresh Vankadara34494fc2017-08-12 18:18:09 +0530965 src-clock-name = "bps_clk_src";
Karthik Anantha Ram25f427c2018-07-03 15:49:58 -0700966 clock-control-debugfs = "true";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700967 clocks = <&clock_camcc CAM_CC_BPS_AHB_CLK>,
968 <&clock_camcc CAM_CC_BPS_AREG_CLK>,
969 <&clock_camcc CAM_CC_BPS_AXI_CLK>,
970 <&clock_camcc CAM_CC_BPS_CLK>,
971 <&clock_camcc CAM_CC_BPS_CLK_SRC>;
972
Pavan Kumar Chilamkurthicc4f59c2018-01-25 13:44:22 -0800973 clock-rates =
Suresh Vankadara34494fc2017-08-12 18:18:09 +0530974 <0 0 0 0 404000000>,
975 <0 0 0 0 480000000>,
976 <0 0 0 0 600000000>,
977 <0 0 0 0 600000000>;
Pavan Kumar Chilamkurthicc4f59c2018-01-25 13:44:22 -0800978 clock-cntl-level = "svs",
Suresh Vankadara34494fc2017-08-12 18:18:09 +0530979 "svs_l1", "nominal", "turbo";
Hariram Purushothaman71b8d632017-05-15 14:49:59 -0700980 status = "ok";
981 };
Rajakumar Govindaram0e33b712017-07-19 15:31:04 -0700982
983 qcom,cam-jpeg {
984 compatible = "qcom,cam-jpeg";
985 compat-hw-name = "qcom,jpegenc",
986 "qcom,jpegdma";
987 num-jpeg-enc = <1>;
988 num-jpeg-dma = <1>;
989 status = "ok";
990 };
991
992 cam_jpeg_enc: qcom,jpegenc@ac4e000 {
993 cell-index = <0>;
994 compatible = "qcom,cam_jpeg_enc";
995 reg-names = "jpege_hw";
996 reg = <0xac4e000 0x4000>;
997 reg-cam-base = <0x4e000>;
998 interrupt-names = "jpeg";
999 interrupts = <0 474 0>;
1000 regulator-names = "camss-vdd";
1001 camss-vdd-supply = <&titan_top_gdsc>;
1002 clock-names = "camera_ahb",
1003 "camera_axi",
1004 "soc_ahb_clk",
1005 "cpas_ahb_clk",
1006 "camnoc_axi_clk",
1007 "jpegenc_clk_src",
1008 "jpegenc_clk";
1009 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
1010 <&clock_gcc GCC_CAMERA_AXI_CLK>,
1011 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
1012 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
1013 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
1014 <&clock_camcc CAM_CC_JPEG_CLK_SRC>,
1015 <&clock_camcc CAM_CC_JPEG_CLK>;
1016
1017 clock-rates = <0 0 0 0 0 600000000 0>;
1018 src-clock-name = "jpegenc_clk_src";
1019 clock-cntl-level = "nominal";
1020 status = "ok";
1021 };
1022
1023 cam_jpeg_dma: qcom,jpegdma@0xac52000{
1024 cell-index = <0>;
1025 compatible = "qcom,cam_jpeg_dma";
1026 reg-names = "jpegdma_hw";
1027 reg = <0xac52000 0x4000>;
1028 reg-cam-base = <0x52000>;
1029 interrupt-names = "jpegdma";
1030 interrupts = <0 475 0>;
1031 regulator-names = "camss-vdd";
1032 camss-vdd-supply = <&titan_top_gdsc>;
1033 clock-names = "camera_ahb",
1034 "camera_axi",
1035 "soc_ahb_clk",
1036 "cpas_ahb_clk",
1037 "camnoc_axi_clk",
1038 "jpegdma_clk_src",
1039 "jpegdma_clk";
1040 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
1041 <&clock_gcc GCC_CAMERA_AXI_CLK>,
1042 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
1043 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
1044 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
1045 <&clock_camcc CAM_CC_JPEG_CLK_SRC>,
1046 <&clock_camcc CAM_CC_JPEG_CLK>;
1047
1048 clock-rates = <0 0 0 0 0 600000000 0>;
1049 src-clock-name = "jpegdma_clk_src";
1050 clock-cntl-level = "nominal";
1051 status = "ok";
1052 };
1053
Pavan Kumar Chilamkurthib2cd6dd2017-07-30 02:25:23 -07001054 qcom,cam-fd {
1055 compatible = "qcom,cam-fd";
1056 compat-hw-name = "qcom,fd";
1057 num-fd = <1>;
1058 status = "ok";
1059 };
1060
1061 cam_fd: qcom,fd@ac5a000 {
1062 cell-index = <0>;
1063 compatible = "qcom,fd41";
1064 reg-names = "fd_core", "fd_wrapper";
1065 reg = <0xac5a000 0x1000>,
1066 <0xac5b000 0x400>;
1067 reg-cam-base = <0x5a000 0x5b000>;
1068 interrupt-names = "fd";
1069 interrupts = <0 462 0>;
1070 regulator-names = "camss-vdd";
1071 camss-vdd-supply = <&titan_top_gdsc>;
1072 clock-names = "gcc_ahb_clk",
1073 "gcc_axi_clk",
1074 "soc_ahb_clk",
1075 "cpas_ahb_clk",
1076 "camnoc_axi_clk",
1077 "fd_core_clk_src",
1078 "fd_core_clk",
1079 "fd_core_uar_clk";
1080 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
1081 <&clock_gcc GCC_CAMERA_AXI_CLK>,
1082 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
1083 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
1084 <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
1085 <&clock_camcc CAM_CC_FD_CORE_CLK_SRC>,
1086 <&clock_camcc CAM_CC_FD_CORE_CLK>,
1087 <&clock_camcc CAM_CC_FD_CORE_UAR_CLK>;
1088 src-clock-name = "fd_core_clk_src";
Karthik Anantha Ram25f427c2018-07-03 15:49:58 -07001089 clock-control-debugfs = "true";
Pavan Kumar Chilamkurthi86650702017-11-03 17:34:59 -07001090 clock-cntl-level = "svs", "svs_l1", "turbo";
1091 clock-rates =
1092 <0 0 0 0 0 400000000 0 0>,
1093 <0 0 0 0 0 538000000 0 0>,
1094 <0 0 0 0 0 600000000 0 0>;
Pavan Kumar Chilamkurthib2cd6dd2017-07-30 02:25:23 -07001095 status = "ok";
1096 };
Lakshmi Narayana Kalavalac0dac062016-12-01 17:20:09 -08001097};