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