blob: aeff01c9d606118cce04efd7321e78ceed0e9cc2 [file] [log] [blame]
daopingl57f37b02019-07-02 22:27:55 +08001/*
2 * Copyright (c) 2019, 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 {
Zhaohong Chena4e89d32019-07-03 13:12:35 +080015 camera_rear_avdd_ldo: gpio-regulator@0 {
daopingl57f37b02019-07-02 22:27:55 +080016 compatible = "regulator-fixed";
Zhaohong Chena4e89d32019-07-03 13:12:35 +080017 reg = <0x01 0x00>;
18 regulator-name = "camera_rear_avdd_ldo";
daopingl57f37b02019-07-02 22:27:55 +080019 regulator-min-microvolt = <2800000>;
20 regulator-max-microvolt = <2800000>;
Zhaohong Chena4e89d32019-07-03 13:12:35 +080021 regulator-enable-ramp-delay = <233>;
daopingl57f37b02019-07-02 22:27:55 +080022 enable-active-high;
Zhaohong Chena4e89d32019-07-03 13:12:35 +080023 gpio = <&pm8998_gpios 10 0>;
24 pinctrl-names = "default";
25 pinctrl-0 = <&camera_rear_avdd_en_default>;
daopingl57f37b02019-07-02 22:27:55 +080026 };
27
Zhaohong Chena4e89d32019-07-03 13:12:35 +080028 camera_rear_dvdd_ldo: gpio-regulator@1 {
daopingl57f37b02019-07-02 22:27:55 +080029 compatible = "regulator-fixed";
30 reg = <0x02 0x00>;
Zhaohong Chena4e89d32019-07-03 13:12:35 +080031 regulator-name = "camera_rear_dvdd_ldo";
32 regulator-min-microvolt = <1200000>;
33 regulator-max-microvolt = <1200000>;
34 regulator-enable-ramp-delay = <135>;
daopingl57f37b02019-07-02 22:27:55 +080035 enable-active-high;
Zhaohong Chena4e89d32019-07-03 13:12:35 +080036 gpio = <&pm8998_gpios 12 0>;
daopingl57f37b02019-07-02 22:27:55 +080037 pinctrl-names = "default";
Zhaohong Chena4e89d32019-07-03 13:12:35 +080038 pinctrl-0 = <&camera_rear_dvdd_en_default>;
daopingl57f37b02019-07-02 22:27:55 +080039 };
40};
41
42&cam_cci {
43 qcom,cam-res-mgr {
44 compatible = "qcom,cam-res-mgr";
45 status = "ok";
46 };
47
Zhaohong Chena4e89d32019-07-03 13:12:35 +080048 otp_rear: qcom,eeprom@0 {
daopingl57f37b02019-07-02 22:27:55 +080049 cell-index = <0>;
50 reg = <0>;
51 compatible = "qcom,eeprom";
52 cam_vio-supply = <&pm8998_lvs1>;
Zhaohong Chena4e89d32019-07-03 13:12:35 +080053 cam_vana-supply = <&camera_rear_avdd_ldo>;
54 cam_vdig-supply = <&camera_rear_dvdd_ldo>;
daopingl57f37b02019-07-02 22:27:55 +080055 cam_clk-supply = <&titan_top_gdsc>;
daopingl57f37b02019-07-02 22:27:55 +080056 regulator-names = "cam_vio", "cam_vana", "cam_vdig",
Zhaohong Chena4e89d32019-07-03 13:12:35 +080057 "cam_clk";
daopingl57f37b02019-07-02 22:27:55 +080058 rgltr-cntrl-support;
Zhaohong Chena4e89d32019-07-03 13:12:35 +080059 rgltr-min-voltage = <1800000 2800000 1200000 0>;
60 rgltr-max-voltage = <1800000 2800000 1200000 0>;
61 rgltr-load-current = <0 80000 105000 0>;
daopingl57f37b02019-07-02 22:27:55 +080062 gpio-no-mux = <0>;
63 pinctrl-names = "cam_default", "cam_suspend";
64 pinctrl-0 = <&cam_sensor_mclk0_active
65 &cam_sensor_rear_active>;
66 pinctrl-1 = <&cam_sensor_mclk0_suspend
67 &cam_sensor_rear_suspend>;
68 gpios = <&tlmm 13 0>,
Zhaohong Chena4e89d32019-07-03 13:12:35 +080069 <&tlmm 9 0>;
daopingl57f37b02019-07-02 22:27:55 +080070 gpio-reset = <1>;
Zhaohong Chena4e89d32019-07-03 13:12:35 +080071 gpio-req-tbl-num = <0 1>;
72 gpio-req-tbl-flags = <1 0>;
daopingl57f37b02019-07-02 22:27:55 +080073 gpio-req-tbl-label = "CAMIF_MCLK0",
Zhaohong Chena4e89d32019-07-03 13:12:35 +080074 "CAM_RESET0";
daopingl57f37b02019-07-02 22:27:55 +080075 sensor-position = <0>;
76 sensor-mode = <0>;
77 cci-master = <0>;
78 status = "ok";
79 clocks = <&clock_camcc CAM_CC_MCLK0_CLK>;
80 clock-names = "cam_clk";
81 clock-cntl-level = "turbo";
82 clock-rates = <24000000>;
83 };
84
85 eeprom_tof: qcom,eeprom@1 {
86 cell-index = <1>;
87 reg = <0x1>;
88 compatible = "qcom,eeprom";
89 slave-addr = <0xac>;
90 num-blocks = <1>;
91 i2c-freq-mode = <1>;
92
93 page0 = <0 0x0 2 0x0 1 0>;
94 poll0 = <0 0x0 2 0x0 1 0>;
95 mem0 = <0x870 0x0 2 0x0 1 0>;
96
97 cam_vio-supply = <&pm8998_lvs1>;
98 cam_clk-supply = <&titan_top_gdsc>;
99 regulator-names = "cam_vio", "cam_clk";
100 rgltr-cntrl-support;
101 rgltr-min-voltage = <0 0>;
102 rgltr-max-voltage = <0 0>;
103 rgltr-load-current = <0 0>;
104 gpio-no-mux = <0>;
105 pinctrl-names = "cam_default", "cam_suspend";
106 pinctrl-0 = <&cam_sensor_mclk1_active
107 &cam_sensor_tof_active>;
108 pinctrl-1 = <&cam_sensor_mclk1_suspend
109 &cam_sensor_tof_suspend>;
110 gpios = <&tlmm 14 0>,
111 <&tlmm 8 0>;
112 gpio-reset = <1>;
113 gpio-req-tbl-num = <0 1>;
114 gpio-req-tbl-flags = <1 0>;
115 gpio-req-tbl-label = "CAMIF_MCLK1","CAM_RESET1";
116 cci-master = <0>;
117
118 qcom,cam-power-seq-type ="cam_reset","cam_vio",
119 "cam_clk","cam_reset";
120 qcom,cam-power-seq-val = "cam_reset","cam_vio",
121 "cam_mclk","cam_reset";
122 qcom,cam-power-seq-cfg-val = <0 1 24000000 1>;
123 qcom,cam-power-seq-delay = <1 0 1 18>;
124
125 status = "ok";
126 clocks = <&clock_camcc CAM_CC_MCLK1_CLK>;
127 clock-names = "cam_clk";
128 clock-cntl-level = "turbo";
129 clock-rates = <24000000>;
130 };
131
Ziyu Jian55a57222019-06-18 16:26:40 +0800132 eeprom_back: qcom,eeprom@3 {
133 cell-index = <3>;
134 reg = <0x3>;
135 compatible = "qcom,eeprom";
136 cam_vana-supply = <>;
137 cam_vdig-supply = <>;
138 cam_vio-supply = <&pm8998_lvs1>;
139 cam_clk-supply = <&titan_top_gdsc>;
140 regulator-names = "cam_vio", "cam_clk";
141 rgltr-cntrl-support;
Ziyu Jian6eb74692019-07-16 14:45:54 +0800142 rgltr-min-voltage = <0 0>;
143 rgltr-max-voltage = <0 0>;
144 rgltr-load-current = <0 0>;
Ziyu Jian55a57222019-06-18 16:26:40 +0800145 gpio-no-mux = <0>;
146 pinctrl-names = "cam_default", "cam_suspend";
Ziyu Jian6eb74692019-07-16 14:45:54 +0800147 pinctrl-0 = <&cam_sensor_mclk2_active
Ziyu Jian55a57222019-06-18 16:26:40 +0800148 &cam_sensor_rear4_active>;
Ziyu Jian6eb74692019-07-16 14:45:54 +0800149 pinctrl-1 = <&cam_sensor_mclk2_suspend
Ziyu Jian55a57222019-06-18 16:26:40 +0800150 &cam_sensor_rear4_suspend>;
Ziyu Jian6eb74692019-07-16 14:45:54 +0800151 gpios = <&tlmm 15 0>,
Ziyu Jian55a57222019-06-18 16:26:40 +0800152 <&tlmm 12 0>,
153 <&tlmm 69 0>;
154 gpio-reset = <1>;
155 gpio-custom1 = <2>;
156 gpio-req-tbl-num = <0 1 2>;
157 gpio-req-tbl-flags = <1 0 0>;
Ziyu Jian6eb74692019-07-16 14:45:54 +0800158 gpio-req-tbl-label = "CAMIF_MCLK4",
Ziyu Jian55a57222019-06-18 16:26:40 +0800159 "CAM_RESET4",
160 "CAM_CUSTOM4";
161 sensor-position = <0>;
162 sensor-mode = <0>;
163 cci-master = <1>;
164 status = "ok";
Ziyu Jian6eb74692019-07-16 14:45:54 +0800165 clocks = <&clock_camcc CAM_CC_MCLK2_CLK>;
Ziyu Jian55a57222019-06-18 16:26:40 +0800166 clock-names = "cam_clk";
167 clock-cntl-level = "turbo";
168 clock-rates = <24000000>;
169 };
170
daopingl57f37b02019-07-02 22:27:55 +0800171 qcom,cam-sensor@0 {
172 cell-index = <0>;
173 compatible = "qcom,cam-sensor";
174 reg = <0x0>;
175 csiphy-sd-index = <0>;
176 sensor-position-roll = <270>;
177 sensor-position-pitch = <0>;
178 sensor-position-yaw = <180>;
Zhaohong Chena4e89d32019-07-03 13:12:35 +0800179 eeprom-src = <&otp_rear>;
daopingl57f37b02019-07-02 22:27:55 +0800180 cam_vio-supply = <&pm8998_lvs1>;
Zhaohong Chena4e89d32019-07-03 13:12:35 +0800181 cam_vana-supply = <&camera_rear_avdd_ldo>;
182 cam_vdig-supply = <&camera_rear_dvdd_ldo>;
daopingl57f37b02019-07-02 22:27:55 +0800183 cam_clk-supply = <&titan_top_gdsc>;
184 regulator-names = "cam_vio", "cam_vana", "cam_vdig",
185 "cam_clk";
186 rgltr-cntrl-support;
Zhaohong Chena4e89d32019-07-03 13:12:35 +0800187 rgltr-min-voltage = <1800000 2800000 1200000 0>;
188 rgltr-max-voltage = <1800000 2800000 1200000 0>;
daopingl57f37b02019-07-02 22:27:55 +0800189 rgltr-load-current = <0 80000 105000 0>;
190 gpio-no-mux = <0>;
191 pinctrl-names = "cam_default", "cam_suspend";
192 pinctrl-0 = <&cam_sensor_mclk0_active
193 &cam_sensor_rear_active>;
194 pinctrl-1 = <&cam_sensor_mclk0_suspend
195 &cam_sensor_rear_suspend>;
196 gpios = <&tlmm 13 0>,
Zhaohong Chena4e89d32019-07-03 13:12:35 +0800197 <&tlmm 9 0>;
daopingl57f37b02019-07-02 22:27:55 +0800198 gpio-reset = <1>;
Zhaohong Chena4e89d32019-07-03 13:12:35 +0800199 gpio-req-tbl-num = <0 1>;
200 gpio-req-tbl-flags = <1 0>;
daopingl57f37b02019-07-02 22:27:55 +0800201 gpio-req-tbl-label = "CAMIF_MCLK0",
Zhaohong Chena4e89d32019-07-03 13:12:35 +0800202 "CAM_RESET0";
daopingl57f37b02019-07-02 22:27:55 +0800203 sensor-mode = <0>;
204 cci-master = <0>;
205 status = "ok";
206 clocks = <&clock_camcc CAM_CC_MCLK0_CLK>;
207 clock-names = "cam_clk";
208 clock-cntl-level = "turbo";
209 clock-rates = <24000000>;
210 };
211
212 qcom,cam-sensor@1 {
213 cell-index = <1>;
214 compatible = "qcom,cam-sensor";
215 reg = <0x1>;
216 csiphy-sd-index = <1>;
217 sensor-position-roll = <270>;
218 sensor-position-pitch = <0>;
219 sensor-position-yaw = <180>;
220 eeprom-src = <&eeprom_tof>;
221 cam_vio-supply = <&pm8998_lvs1>;
222 cam_clk-supply = <&titan_top_gdsc>;
223 regulator-names = "cam_vio", "cam_clk";
224 rgltr-cntrl-support;
225 rgltr-min-voltage = <0 0>;
226 rgltr-max-voltage = <0 0>;
227 rgltr-load-current = <0 0>;
228 gpio-no-mux = <0>;
229 pinctrl-names = "cam_default", "cam_suspend";
230 pinctrl-0 = <&cam_sensor_mclk1_active
231 &cam_sensor_tof_active>;
232 pinctrl-1 = <&cam_sensor_mclk1_suspend
233 &cam_sensor_tof_suspend>;
234 gpios = <&tlmm 14 0>,
235 <&tlmm 8 0>;
236 gpio-reset = <1>;
237 gpio-req-tbl-num = <0 1>;
238 gpio-req-tbl-flags = <1 0>;
239 gpio-req-tbl-label = "CAMIF_MCLK1","CAM_RESET1";
240 sensor-mode = <0>;
241 cci-master = <0>;
242 status = "ok";
243 clocks = <&clock_camcc CAM_CC_MCLK1_CLK>;
244 clock-names = "cam_clk";
245 clock-cntl-level = "turbo";
246 clock-rates = <24000000>;
247 };
248
daopingl57f37b02019-07-02 22:27:55 +0800249 qcom,cam-sensor@3 {
250 cell-index = <3>;
251 compatible = "qcom,cam-sensor";
252 reg = <0x03>;
253 csiphy-sd-index = <3>;
254 sensor-position-roll = <270>;
255 sensor-position-pitch = <0>;
256 sensor-position-yaw = <0>;
Ziyu Jian55a57222019-06-18 16:26:40 +0800257 led-flash-src = <>;
258 cam_vdig-supply = <>;
259 cam_vana-supply = <>;
260 cam_vio-supply = <&pm8998_lvs1>;
261 cam_clk-supply = <&titan_top_gdsc>;
262 regulator-names = "cam_vio", "cam_clk";
263 rgltr-cntrl-support;
Ziyu Jian6eb74692019-07-16 14:45:54 +0800264 rgltr-min-voltage = <0 0>;
265 rgltr-max-voltage = <0 0>;
266 rgltr-load-current = <0 0>;
Ziyu Jian55a57222019-06-18 16:26:40 +0800267 gpio-no-mux = <0>;
268 pinctrl-names = "cam_default", "cam_suspend";
269 pinctrl-0 = <&cam_sensor_mclk3_active
270 &cam_sensor_tracking_active>;
271 pinctrl-1 = <&cam_sensor_mclk3_suspend
272 &cam_sensor_tracking_suspend>;
273 gpios = <&tlmm 16 0>,
274 <&tlmm 21 0>;
275 gpio-reset = <1>;
276 gpio-req-tbl-num = <0 1>;
277 gpio-req-tbl-flags = <1 0>;
278 gpio-req-tbl-label = "CAMIF_MCLK3",
279 "CAM_RESET3";
280 sensor-mode = <0>;
281 cci-master = <1>;
282 status = "ok";
283 clocks = <&clock_camcc CAM_CC_MCLK3_CLK>;
284 clock-names = "cam_clk";
285 clock-cntl-level = "turbo";
286 clock-rates = <24000000>;
287 };
288
Ziyu Jian6eb74692019-07-16 14:45:54 +0800289 qcom,cam-sensor@6 {
290 cell-index = <6>;
Ziyu Jian55a57222019-06-18 16:26:40 +0800291 compatible = "qcom,cam-sensor";
Ziyu Jian6eb74692019-07-16 14:45:54 +0800292 reg = <0x6>;
Ziyu Jian55a57222019-06-18 16:26:40 +0800293 csiphy-sd-index = <2>;
294 sensor-position-roll = <270>;
295 sensor-position-pitch = <0>;
296 sensor-position-yaw = <180>;
297 actuator-src = <>;
298 led-flash-src = <>;
299 eeprom-src = <&eeprom_back>;
300 cam_vdig-supply = <>;
301 cam_vana-supply = <>;
302 cam_vio-supply = <&pm8998_lvs1>;
303 cam_clk-supply = <&titan_top_gdsc>;
304 regulator-names = "cam_vio", "cam_clk";
305 rgltr-cntrl-support;
Ziyu Jian6eb74692019-07-16 14:45:54 +0800306 rgltr-min-voltage = <0 0>;
307 rgltr-max-voltage = <0 0>;
308 rgltr-load-current = <0 0>;
Ziyu Jian55a57222019-06-18 16:26:40 +0800309 gpio-no-mux = <0>;
310 pinctrl-names = "cam_default", "cam_suspend";
Ziyu Jian6eb74692019-07-16 14:45:54 +0800311 pinctrl-0 = <&cam_sensor_mclk2_active
Ziyu Jian55a57222019-06-18 16:26:40 +0800312 &cam_sensor_rear4_active>;
Ziyu Jian6eb74692019-07-16 14:45:54 +0800313 pinctrl-1 = <&cam_sensor_mclk2_suspend
Ziyu Jian55a57222019-06-18 16:26:40 +0800314 &cam_sensor_rear4_suspend>;
Ziyu Jian6eb74692019-07-16 14:45:54 +0800315 gpios = <&tlmm 15 0>,
Ziyu Jian55a57222019-06-18 16:26:40 +0800316 <&tlmm 12 0>,
317 <&tlmm 69 0>;
318 gpio-reset = <1>;
319 gpio-custom1 = <2>;
320 gpio-req-tbl-num = <0 1 2>;
321 gpio-req-tbl-flags = <1 0 0>;
Ziyu Jian6eb74692019-07-16 14:45:54 +0800322 gpio-req-tbl-label = "CAMIF_MCLK4",
Ziyu Jian55a57222019-06-18 16:26:40 +0800323 "CAM_RESET4",
324 "CAM_CUSTOM4";
325 sensor-mode = <0>;
326 cci-master = <1>;
327 status = "ok";
Ziyu Jian6eb74692019-07-16 14:45:54 +0800328 clocks = <&clock_camcc CAM_CC_MCLK2_CLK>;
Ziyu Jian55a57222019-06-18 16:26:40 +0800329 clock-names = "cam_clk";
330 clock-cntl-level = "turbo";
331 clock-rates = <24000000>;
332 };
daopingl57f37b02019-07-02 22:27:55 +0800333};
Ziyu Jian005e9b22019-03-13 13:55:16 +0800334
335&qupv3_se5_spi {
336 status = "ok";
337 mini_isp@0 {
338 compatible = "altek,isp";
339 reg = <0>;
340 spi-max-frequency = <50000000>;
341 spi-cpol;
342 spi-cpha;
343 /*spi-cs-high;*/
344 irq-gpios = <&tlmm 24 0x00>;
345 status = "ok";
346 };
347};