blob: c4ca6c5c3e469457b4b8674e263cdbeff6a3ecb2 [file] [log] [blame]
Suresh Vankadara402d0ca2017-10-26 22:54:54 +05301/*
2 * Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 and
6 * only version 2 as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 */
13
14&soc {
15 led_flash_rear: qcom,camera-flash@0 {
16 cell-index = <0>;
17 reg = <0x00 0x00>;
18 compatible = "qcom,camera-flash";
19 flash-source = <&pm660l_flash0 &pm660l_flash1>;
20 torch-source = <&pm660l_torch0 &pm660l_torch1>;
21 switch-source = <&pm660l_switch0>;
22 status = "ok";
23 };
24
25 led_flash_front: qcom,camera-flash@1 {
26 cell-index = <1>;
27 reg = <0x01 0x00>;
28 compatible = "qcom,camera-flash";
29 flash-source = <&pm660l_flash2>;
30 torch-source = <&pm660l_torch2>;
31 switch-source = <&pm660l_switch1>;
32 status = "ok";
33 };
34
35 actuator_regulator: gpio-regulator@0 {
36 compatible = "regulator-fixed";
37 reg = <0x00 0x00>;
38 regulator-name = "actuator_regulator";
39 regulator-min-microvolt = <2800000>;
40 regulator-max-microvolt = <2800000>;
41 regulator-enable-ramp-delay = <100>;
42 enable-active-high;
43 gpio = <&tlmm 27 0>;
44 };
45
46 camera_ldo: gpio-regulator@2 {
47 compatible = "regulator-fixed";
48 reg = <0x02 0x00>;
49 regulator-name = "camera_ldo";
50 regulator-min-microvolt = <1352000>;
51 regulator-max-microvolt = <1352000>;
52 regulator-enable-ramp-delay = <233>;
53 enable-active-high;
54 gpio = <&pm660l_gpios 3 0>;
55 pinctrl-names = "default";
56 pinctrl-0 = <&camera_dvdd_en_default>;
57 vin-supply = <&pm660_s6>;
58 };
59
60 camera_rear_ldo: gpio-regulator@1 {
61 compatible = "regulator-fixed";
62 reg = <0x01 0x00>;
63 regulator-name = "camera_rear_ldo";
64 regulator-min-microvolt = <1352000>;
65 regulator-max-microvolt = <1352000>;
66 regulator-enable-ramp-delay = <135>;
67 enable-active-high;
68 gpio = <&pm660l_gpios 4 0>;
69 pinctrl-names = "default";
70 pinctrl-0 = <&camera_rear_dvdd_en_default>;
71 vin-supply = <&pm660_s6>;
72 };
73
74 camera_vio_ldo: gpio-regulator@3 {
75 compatible = "regulator-fixed";
76 reg = <0x03 0x00>;
77 regulator-name = "camera_vio_ldo";
78 regulator-min-microvolt = <1800000>;
79 regulator-max-microvolt = <1800000>;
80 regulator-enable-ramp-delay = <233>;
81 enable-active-high;
82 gpio = <&tlmm 29 0>;
83 pinctrl-names = "default";
84 pinctrl-0 = <&cam_sensor_rear_vio>;
85 vin-supply = <&pm660_s4>;
86 };
87
88 camera_vana_ldo: gpio-regulator@4 {
89 compatible = "regulator-fixed";
90 reg = <0x04 0x00>;
91 regulator-name = "camera_vana_ldo";
92 regulator-min-microvolt = <2850000>;
93 regulator-max-microvolt = <2850000>;
94 regulator-enable-ramp-delay = <233>;
95 enable-active-high;
96 gpio = <&tlmm 8 0>;
97 pinctrl-names = "default";
98 pinctrl-0 = <&cam_sensor_rear_vana>;
99 vin-supply = <&pm660l_bob>;
100 };
101};
102
103&cam_cci {
Depeng Shao4d29a0c2017-11-02 16:12:03 +0800104 qcom,cam-res-mgr {
105 compatible = "qcom,cam-res-mgr";
106 status = "ok";
107 };
108
Suresh Vankadara402d0ca2017-10-26 22:54:54 +0530109 actuator_rear: qcom,actuator@0 {
110 cell-index = <0>;
111 reg = <0x0>;
112 compatible = "qcom,actuator";
113 cci-master = <0>;
114 cam_vaf-supply = <&actuator_regulator>;
115 regulator-names = "cam_vaf";
116 rgltr-cntrl-support;
117 rgltr-min-voltage = <2800000>;
118 rgltr-max-voltage = <2800000>;
119 rgltr-load-current = <0>;
120 };
121
122 actuator_front: qcom,actuator@1 {
123 cell-index = <1>;
124 reg = <0x1>;
125 compatible = "qcom,actuator";
126 cci-master = <1>;
127 cam_vaf-supply = <&actuator_regulator>;
128 regulator-names = "cam_vaf";
129 rgltr-cntrl-support;
130 rgltr-min-voltage = <2800000>;
131 rgltr-max-voltage = <2800000>;
132 rgltr-load-current = <0>;
133 };
134
135 ois_rear: qcom,ois@0 {
136 cell-index = <0>;
137 reg = <0x0>;
138 compatible = "qcom,ois";
139 cci-master = <0>;
140 cam_vaf-supply = <&actuator_regulator>;
141 regulator-names = "cam_vaf";
142 rgltr-cntrl-support;
143 rgltr-min-voltage = <2800000>;
144 rgltr-max-voltage = <2800000>;
145 rgltr-load-current = <0>;
146 status = "disabled";
147 };
148
149 eeprom_rear: qcom,eeprom@0 {
150 cell-index = <0>;
151 reg = <0>;
152 compatible = "qcom,eeprom";
153 cam_vio-supply = <&camera_vio_ldo>;
154 cam_vana-supply = <&camera_vana_ldo>;
155 cam_vdig-supply = <&camera_rear_ldo>;
156 cam_clk-supply = <&titan_top_gdsc>;
157 cam_vaf-supply = <&actuator_regulator>;
158 regulator-names = "cam_vio", "cam_vana", "cam_vdig",
159 "cam_clk", "cam_vaf";
160 rgltr-cntrl-support;
161 rgltr-min-voltage = <1800000 2850000 1352000 0 2800000>;
162 rgltr-max-voltage = <1800000 2850000 1352000 0 2800000>;
163 rgltr-load-current = <0 80000 105000 0 0>;
164 gpio-no-mux = <0>;
165 pinctrl-names = "cam_default", "cam_suspend";
166 pinctrl-0 = <&cam_sensor_mclk0_active
167 &cam_sensor_rear_active>;
168 pinctrl-1 = <&cam_sensor_mclk0_suspend
169 &cam_sensor_rear_suspend>;
170 gpios = <&tlmm 13 0>,
171 <&tlmm 30 0>;
172 gpio-reset = <1>;
173 gpio-req-tbl-num = <0 1>;
174 gpio-req-tbl-flags = <1 0>;
175 gpio-req-tbl-label = "CAMIF_MCLK0",
176 "CAM_RESET0";
177 sensor-mode = <0>;
178 cci-master = <0>;
179 status = "ok";
180 clocks = <&clock_camcc CAM_CC_MCLK0_CLK>;
181 clock-names = "cam_clk";
182 clock-cntl-level = "turbo";
183 clock-rates = <24000000>;
184 };
185
186 eeprom_rear_aux: qcom,eeprom@1 {
187 cell-index = <1>;
188 reg = <0x1>;
189 compatible = "qcom,eeprom";
190 cam_vio-supply = <&camera_vio_ldo>;
191 cam_vana-supply = <&camera_vana_ldo>;
192 cam_vdig-supply = <&camera_ldo>;
193 cam_clk-supply = <&titan_top_gdsc>;
194 cam_vaf-supply = <&actuator_regulator>;
195 regulator-names = "cam_vdig", "cam_vio", "cam_vana",
196 "cam_clk", "cam_vaf";
197 rgltr-cntrl-support;
198 rgltr-min-voltage = <1352000 1800000 2850000 0 2800000>;
199 rgltr-max-voltage = <1352000 1800000 2850000 0 2800000>;
200 rgltr-load-current = <105000 0 80000 0>;
201 gpio-no-mux = <0>;
202 pinctrl-names = "cam_default", "cam_suspend";
203 pinctrl-0 = <&cam_sensor_mclk1_active
204 &cam_sensor_rear2_active>;
205 pinctrl-1 = <&cam_sensor_mclk1_suspend
206 &cam_sensor_rear2_suspend>;
207 gpios = <&tlmm 14 0>,
208 <&tlmm 28 0>;
209 gpio-reset = <1>;
210 gpio-req-tbl-num = <0 1>;
211 gpio-req-tbl-flags = <1 0>;
212 gpio-req-tbl-label = "CAMIF_MCLK1",
213 "CAM_RESET1";
214 sensor-position = <0>;
215 sensor-mode = <0>;
216 cci-master = <1>;
217 status = "ok";
218 clock-names = "cam_clk";
219 clock-cntl-level = "turbo";
220 clock-rates = <24000000>;
221 };
222
223 eeprom_front: qcom,eeprom@2 {
224 cell-index = <2>;
225 reg = <0x2>;
226 compatible = "qcom,eeprom";
227 cam_vio-supply = <&camera_vio_ldo>;
228 cam_vana-supply = <&camera_vana_ldo>;
229 cam_vdig-supply = <&camera_ldo>;
230 cam_clk-supply = <&titan_top_gdsc>;
231 cam_vaf-supply = <&actuator_regulator>;
232 regulator-names = "cam_vio", "cam_vana", "cam_vdig",
233 "cam_clk", "cam_vaf";
234 rgltr-cntrl-support;
235 rgltr-min-voltage = <1800000 2850000 1352000 0 2800000>;
236 rgltr-max-voltage = <1800000 2850000 1352000 0 2800000>;
237 rgltr-load-current = <0 80000 105000 0>;
238 gpio-no-mux = <0>;
239 pinctrl-names = "cam_default", "cam_suspend";
240 pinctrl-0 = <&cam_sensor_mclk2_active
241 &cam_sensor_front_active>;
242 pinctrl-1 = <&cam_sensor_mclk2_suspend
243 &cam_sensor_front_suspend>;
244 gpios = <&tlmm 15 0>,
245 <&tlmm 9 0>;
246 gpio-reset = <1>;
247 gpio-req-tbl-num = <0 1>;
248 gpio-req-tbl-flags = <1 0>;
249 gpio-req-tbl-label = "CAMIF_MCLK2",
250 "CAM_RESET2";
251 sensor-mode = <0>;
252 cci-master = <1>;
253 status = "ok";
254 clocks = <&clock_camcc CAM_CC_MCLK2_CLK>;
255 clock-names = "cam_clk";
256 clock-cntl-level = "turbo";
257 clock-rates = <24000000>;
258 };
259
260 qcom,cam-sensor@0 {
261 cell-index = <0>;
262 compatible = "qcom,cam-sensor";
263 reg = <0x0>;
264 csiphy-sd-index = <0>;
265 sensor-position-roll = <270>;
266 sensor-position-pitch = <0>;
267 sensor-position-yaw = <180>;
268 led-flash-src = <&led_flash_rear>;
269 actuator-src = <&actuator_rear>;
270 ois-src = <&ois_rear>;
271 eeprom-src = <&eeprom_rear>;
272 cam_vio-supply = <&camera_vio_ldo>;
273 cam_vana-supply = <&camera_vana_ldo>;
274 cam_vdig-supply = <&camera_rear_ldo>;
275 cam_clk-supply = <&titan_top_gdsc>;
276 regulator-names = "cam_vio", "cam_vana", "cam_vdig",
277 "cam_clk";
278 rgltr-cntrl-support;
279 rgltr-min-voltage = <1800000 2850000 1352000 0>;
280 rgltr-max-voltage = <1800000 2850000 1352000 0>;
281 rgltr-load-current = <0 80000 105000 0>;
282 gpio-no-mux = <0>;
283 pinctrl-names = "cam_default", "cam_suspend";
284 pinctrl-0 = <&cam_sensor_mclk0_active
285 &cam_sensor_rear_active>;
286 pinctrl-1 = <&cam_sensor_mclk0_suspend
287 &cam_sensor_rear_suspend>;
288 gpios = <&tlmm 13 0>,
289 <&tlmm 30 0>;
290 gpio-reset = <1>;
291 gpio-req-tbl-num = <0 1>;
292 gpio-req-tbl-flags = <1 0>;
293 gpio-req-tbl-label = "CAMIF_MCLK0",
294 "CAM_RESET0";
295 sensor-mode = <0>;
296 cci-master = <0>;
297 status = "ok";
298 clocks = <&clock_camcc CAM_CC_MCLK0_CLK>;
299 clock-names = "cam_clk";
300 clock-cntl-level = "turbo";
301 clock-rates = <24000000>;
302 };
303
304 qcom,cam-sensor@1 {
305 cell-index = <1>;
306 compatible = "qcom,cam-sensor";
307 reg = <0x1>;
308 csiphy-sd-index = <1>;
309 sensor-position-roll = <90>;
310 sensor-position-pitch = <0>;
311 sensor-position-yaw = <180>;
312 eeprom-src = <&eeprom_rear_aux>;
313 cam_vio-supply = <&camera_vio_ldo>;
314 cam_vana-supply = <&camera_vana_ldo>;
315 cam_vdig-supply = <&camera_ldo>;
316 cam_clk-supply = <&titan_top_gdsc>;
317 regulator-names = "cam_vdig", "cam_vio", "cam_vana",
318 "cam_clk";
319 rgltr-cntrl-support;
320 rgltr-min-voltage = <1352000 1800000 2850000 0>;
321 rgltr-max-voltage = <1352000 1800000 2850000 0>;
322 rgltr-load-current = <105000 0 80000 0>;
323 gpio-no-mux = <0>;
324 pinctrl-names = "cam_default", "cam_suspend";
325 pinctrl-0 = <&cam_sensor_mclk1_active
326 &cam_sensor_rear2_active>;
327 pinctrl-1 = <&cam_sensor_mclk1_suspend
328 &cam_sensor_rear2_suspend>;
329 gpios = <&tlmm 14 0>,
330 <&tlmm 28 0>;
331 gpio-reset = <1>;
332 gpio-req-tbl-num = <0 1>;
333 gpio-req-tbl-flags = <1 0>;
334 gpio-req-tbl-label = "CAMIF_MCLK1",
335 "CAM_RESET1";
336 sensor-mode = <0>;
337 cci-master = <1>;
338 status = "ok";
339 clocks = <&clock_camcc CAM_CC_MCLK1_CLK>;
340 clock-names = "cam_clk";
341 clock-cntl-level = "turbo";
342 clock-rates = <24000000>;
343 };
344
345 qcom,cam-sensor@2 {
346 cell-index = <2>;
347 compatible = "qcom,cam-sensor";
348 reg = <0x02>;
349 csiphy-sd-index = <2>;
350 sensor-position-roll = <270>;
351 sensor-position-pitch = <0>;
352 sensor-position-yaw = <0>;
353 eeprom-src = <&eeprom_front>;
354 actuator-src = <&actuator_front>;
355 led-flash-src = <&led_flash_front>;
356 cam_vio-supply = <&camera_vio_ldo>;
357 cam_vana-supply = <&camera_vana_ldo>;
358 cam_vdig-supply = <&camera_ldo>;
359 cam_clk-supply = <&titan_top_gdsc>;
360 regulator-names = "cam_vio", "cam_vana", "cam_vdig",
361 "cam_clk";
362 rgltr-cntrl-support;
363 rgltr-min-voltage = <1800000 2850000 1352000 0>;
364 rgltr-max-voltage = <1800000 2850000 1352000 0>;
365 rgltr-load-current = <0 80000 105000 0>;
366 gpio-no-mux = <0>;
367 pinctrl-names = "cam_default", "cam_suspend";
368 pinctrl-0 = <&cam_sensor_mclk2_active
369 &cam_sensor_front_active>;
370 pinctrl-1 = <&cam_sensor_mclk2_suspend
371 &cam_sensor_front_suspend>;
372 gpios = <&tlmm 15 0>,
373 <&tlmm 9 0>;
374 gpio-reset = <1>;
375 gpio-req-tbl-num = <0 1>;
376 gpio-req-tbl-flags = <1 0>;
377 gpio-req-tbl-label = "CAMIF_MCLK2",
378 "CAM_RESET2";
379 sensor-mode = <0>;
380 cci-master = <1>;
381 status = "ok";
382 clocks = <&clock_camcc CAM_CC_MCLK2_CLK>;
383 clock-names = "cam_clk";
384 clock-cntl-level = "turbo";
385 clock-rates = <24000000>;
386 };
387};