blob: cd720fd1011c0ad3d23c20486cc4f1fcf27477b1 [file] [log] [blame]
xiaolin955178b2018-10-09 17:20:12 +08001/*
2 * Copyright (c) 2017-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&i2c_3 {
15 status = "ok";
16};
17
18&i2c_3 {
19 otp_eeprom: qcom,msm_eeprom@6e{
20 status = "ok";
21 cell-index = <0>;
22 reg = <0x6e>;
23 compatible = "msm_eeprom";
24 qcom,eeprom-name = "sunny_imx241_otp";
25 qcom,slave-addr = <0x6e>;
26 qcom,i2c-freq-mode = <1>;
27
28 cam_vdig-supply = <&pm8916_l2>;
29 cam_vio-supply = <&pm8916_l6>;
30 cam_vana-supply = <&pm8916_l17>;
31 qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana";
32 qcom,cam-vreg-min-voltage = <1200000 1800000 2850000>;
33 qcom,cam-vreg-max-voltage = <1200000 1800000 2850000>;
34 qcom,cam-vreg-op-mode = <200000 0 80000>;
35 qcom,cam-vreg-type = <0 0 0>;
36 pinctrl-names = "cam_default", "cam_suspend";
37 pinctrl-0 = <&cam_sensor_mclk0_default
38 &cam_sensor_rear_default>;
39 pinctrl-1 = <&cam_sensor_mclk0_sleep
40 &cam_sensor_rear_sleep>;
41 gpios = <&msm_gpio 26 0>,
42 <&msm_gpio 35 0>;
43 qcom,gpio-reset = <1>;
44 qcom,gpio-req-tbl-num = <0 1>;
45 qcom,gpio-req-tbl-flags = <1 0>;
46 qcom,gpio-req-tbl-label = "CAMIF_MCLK", "CAM_RESET";
47
48 qcom,cam-power-seq-type = "sensor_vreg",
49 "sensor_vreg",
50 "sensor_vreg",
51 "sensor_gpio",
52 "sensor_clk",
53 "sensor_i2c_mux";
54 qcom,cam-power-seq-val = "cam_vana",
55 "cam_vdig",
56 "cam_vio",
57 "sensor_gpio_reset",
58 "sensor_cam_mclk",
59 "none";
60 qcom,cam-power-seq-cfg-val = <2850000 1200000
61 1800000 1 24000000 0>;
62 qcom,cam-power-seq-delay = <1 1 1 1 1 0>;
63
64 clocks = <&clock_gcc clk_mclk0_clk_src>,
65 <&clock_gcc clk_gcc_camss_mclk0_clk>;
66 clock-names = "cam_src_clk", "cam_clk";
67 qcom,clock-rates = <24000000 0>;
68
69 qcom,num-blocks = <12>;
70 qcom,page0 = <1 0x34C5 2 0x02 1 1>;
71 qcom,poll0 = <0 0x0 2 0 1 1>;
72 qcom,mem0 = <0 0x0 2 0 1 0>;
73 qcom,page1 = <1 0x34C9 2 0x02 1 10>;
74 qcom,poll1 = <0 0x0 2 0 1 1>;
75 qcom,mem1 = <8 0x3510 2 0 1 0>;
76 qcom,page2 = <1 0x34C5 2 0x03 1 1>;
77 qcom,poll2 = <0 0x0 2 0 1 1>;
78 qcom,mem2 = <0 0x0 2 0 1 0>;
79 qcom,page3 = <1 0x34C9 2 0x03 1 10>;
80 qcom,poll3 = <0 0x0 2 0 1 1>;
81 qcom,mem3 = <8 0x3518 2 0 1 0>;
82 qcom,page4 = <1 0x34C5 2 0x06 1 1>;
83 qcom,poll4 = <0 0x0 2 0 1 1>;
84 qcom,mem4 = <0 0x0 2 0 1 0>;
85 qcom,page5 = <1 0x34C9 2 0x06 1 10>;
86 qcom,poll5 = <0 0x0 2 0 1 1>;
87 qcom,mem5 = <8 0x3530 2 0 1 0>;
88 qcom,page6 = <1 0x34C5 2 0x07 1 1>;
89 qcom,poll6 = <0 0x0 2 0 1 1>;
90 qcom,mem6 = <0 0x0 2 0 1 0>;
91 qcom,page7 = <1 0x34C9 2 0x07 1 10>;
92 qcom,poll7 = <0 0x0 2 0 1 1>;
93 qcom,mem7 = <8 0x3538 2 0 1 0>;
94 qcom,page8 = <1 0x34C5 2 0x0A 1 1>;
95 qcom,poll8 = <0 0x0 2 0 1 1>;
96 qcom,mem8 = <0 0x0 2 0 1 0>;
97 qcom,page9 = <1 0x34C9 2 0x0A 1 10>;
98 qcom,poll9 = <0 0x0 2 0 1 1>;
99 qcom,mem9 = <8 0x3550 2 0 1 0>;
100 qcom,page10 = <1 0x34C5 2 0x0B 1 1>;
101 qcom,poll10 = <0 0x0 2 0 1 1>;
102 qcom,mem10 = <0 0x0 2 0 1 0>;
103 qcom,page11 = <1 0x34C9 2 0x0B 1 10>;
104 qcom,poll11 = <0 0x0 2 0 1 1>;
105 qcom,mem11 = <8 0x3558 2 0 1 0>;
106 };
107
108 qcom,camera@0 {
109 cell-index = <0>;
110 compatible = "qcom,camera";
111 reg = <0x2>;
112 qcom,csiphy-sd-index = <0>;
113 qcom,csid-sd-index = <0>;
114 qcom,mount-angle = <90>;
115 cam_vdig-supply = <&pm8916_l2>;
116 cam_vana-supply = <&pm8916_l17>;
117 cam_vio-supply = <&pm8916_l6>;
118 qcom,cam-vreg-type = <0 0 0>;
119 qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana";
120 qcom,cam-vreg-min-voltage = <1200000 1800000 2850000>;
121 qcom,cam-vreg-max-voltage = <1200000 1800000 2850000>;
122 qcom,cam-vreg-op-mode = <200000 0 80000>;
123 pinctrl-names = "cam_default", "cam_suspend";
124 pinctrl-0 = <&cam_sensor_mclk0_default
125 &cam_sensor_rear_default>;
126 pinctrl-1 = <&cam_sensor_mclk0_sleep &cam_sensor_rear_sleep>;
127 gpios = <&msm_gpio 26 0>,
128 <&msm_gpio 35 0>,
129 <&msm_gpio 34 0>;
130 qcom,gpio-reset = <1>;
131 qcom,gpio-standby = <2>;
132 qcom,gpio-req-tbl-num = <0 1 2>;
133 qcom,gpio-req-tbl-flags = <1 0 0>;
134 qcom,gpio-req-tbl-label = "CAMIF_MCLK",
135 "CAM_RESET",
136 "CAM_STANDBY";
137 qcom,sensor-position = <0>;
138 qcom,sensor-mode = <0>;
139 qcom,eeprom-src = <&otp_eeprom>;
140 status = "ok";
141 clocks = <&clock_gcc clk_mclk0_clk_src>,
142 <&clock_gcc clk_gcc_camss_mclk0_clk>;
143 clock-names = "cam_src_clk", "cam_clk";
144 qcom,clock-rates = <24000000 0>;
145 };
146};