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