msm: camera: Add eeprom multi module design
Add eeprom slave related information in userspace driver and propagate it to kernel for device probe. Probe happens from camera daemon. This helps in reducing the boot time. Change-Id: I92ab450cedece2b145f6c180009dcb7bcce85964 Signed-off-by: Viswanadha Raju Thotakura <viswanad@codeaurora.org>
This commit is contained in:
parent
4062623aad
commit
79bc4df814
|
@ -49,257 +49,14 @@
|
|||
|
||||
eeprom0: qcom,eeprom@0 {
|
||||
cell-index = <0>;
|
||||
compatible = "qcom,eeprom";
|
||||
qcom,cci-master = <0>;
|
||||
reg = <0x0>;
|
||||
qcom,eeprom-name = "le2464c_master";
|
||||
compatible = "qcom,eeprom";
|
||||
qcom,slave-addr = <0xa0>;
|
||||
qcom,cci-master = <0>;
|
||||
qcom,num-blocks = <2>;
|
||||
|
||||
qcom,page0 = <0 0 0 0 0 0>;
|
||||
qcom,poll0 = <0 0 0 0 0 0>;
|
||||
qcom,saddr0 = <0xa0>;
|
||||
qcom,mem0 = <2048 0x0000 2 0 1 0>;
|
||||
|
||||
qcom,page1 = <0 0 0 0 0 0>;
|
||||
qcom,poll1 = <0 0 0 0 0 0>;
|
||||
qcom,saddr1 = <0xa0>;
|
||||
qcom,mem1 = <470 0x1a52 2 0 1 0>;
|
||||
|
||||
cam_vio-supply = <&pm8950_l6>;
|
||||
qcom,cam-vreg-name = "cam_vio";
|
||||
qcom,cam-vreg-min-voltage = <0>;
|
||||
qcom,cam-vreg-max-voltage = <0>;
|
||||
qcom,cam-vreg-op-mode = <0>;
|
||||
qcom,cam-power-seq-type = "sensor_vreg";
|
||||
qcom,cam-power-seq-val = "cam_vio";
|
||||
qcom,cam-power-seq-cfg-val = <1>;
|
||||
qcom,cam-power-seq-delay = <1>;
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
eeprom1: qcom,eeprom@1 {
|
||||
cell-index = <1>;
|
||||
reg = <0x1>;
|
||||
qcom,eeprom-name = "sunny_8865";
|
||||
compatible = "qcom,eeprom";
|
||||
qcom,slave-addr = <0x6c>;
|
||||
qcom,cci-master = <0>;
|
||||
qcom,num-blocks = <8>;
|
||||
|
||||
qcom,page0 = <1 0x0100 2 0x01 1 1>;
|
||||
qcom,poll0 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem0 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page1 = <1 0x5002 2 0x00 1 0>;
|
||||
qcom,poll1 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem1 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page2 = <1 0x3d84 2 0xC0 1 0>;
|
||||
qcom,poll2 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem2 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page3 = <1 0x3d88 2 0x70 1 0>;
|
||||
qcom,poll3 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem3 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page4 = <1 0x3d89 2 0x10 1 0>;
|
||||
qcom,poll4 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem4 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page5 = <1 0x3d8A 2 0x70 1 0>;
|
||||
qcom,poll5 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem5 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page6 = <1 0x3d8B 2 0xf4 1 0>;
|
||||
qcom,poll6 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem6 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page7 = <1 0x3d81 2 0x01 1 10>;
|
||||
qcom,poll7 = <0 0x0 2 0x0 1 1>;
|
||||
qcom,mem7 = <1536 0x7010 2 0 1 0>;
|
||||
|
||||
cam_vdig-supply = <&pm8950_l23>;
|
||||
cam_vana-supply = <&pm8950_l22>;
|
||||
cam_vio-supply = <&pm8950_l6>;
|
||||
cam_vaf-supply = <&pm8950_l17>;
|
||||
qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana", "cam_vaf";
|
||||
qcom,cam-vreg-min-voltage = <1200000 0 2800000 2850000>;
|
||||
qcom,cam-vreg-max-voltage = <1200000 0 2800000 2850000>;
|
||||
qcom,cam-vreg-op-mode = <105000 0 80000 100000>;
|
||||
qcom,gpio-no-mux = <0>;
|
||||
pinctrl-names = "cam_default", "cam_suspend";
|
||||
pinctrl-0 = <&cam_sensor_mclk2_default &cam_sensor_front1_default>;
|
||||
pinctrl-1 = <&cam_sensor_mclk2_sleep &cam_sensor_front1_sleep>;
|
||||
gpios = <&msm_gpio 28 0>,
|
||||
<&msm_gpio 40 0>,
|
||||
<&msm_gpio 39 0>;
|
||||
qcom,gpio-reset = <1>;
|
||||
qcom,gpio-standby = <2>;
|
||||
qcom,gpio-req-tbl-num = <0 1 2>;
|
||||
qcom,gpio-req-tbl-flags = <1 0 0>;
|
||||
qcom,gpio-req-tbl-label = "CAMIF_MCLK2",
|
||||
"CAM_RESET2",
|
||||
"CAM_STANDBY2";
|
||||
qcom,cam-power-seq-type = "sensor_vreg", "sensor_vreg", "sensor_vreg",
|
||||
"sensor_gpio", "sensor_gpio" , "sensor_clk";
|
||||
qcom,cam-power-seq-val = "cam_vdig", "cam_vana", "cam_vio",
|
||||
"sensor_gpio_reset", "sensor_gpio_standby","sensor_cam_mclk";
|
||||
qcom,cam-power-seq-cfg-val = <1 1 1 1 1 24000000>;
|
||||
qcom,cam-power-seq-delay = <1 1 1 30 30 5>;
|
||||
status = "ok";
|
||||
clocks = <&clock_gcc clk_mclk2_clk_src>,
|
||||
<&clock_gcc clk_gcc_camss_mclk2_clk>;
|
||||
clock-names = "cam_src_clk", "cam_clk";
|
||||
};
|
||||
|
||||
eeprom2: qcom,eeprom@2 {
|
||||
cell-index = <2>;
|
||||
reg = <0x2>;
|
||||
qcom,eeprom-name = "dw9761b";
|
||||
compatible = "qcom,eeprom";
|
||||
qcom,slave-addr = <0xB0>;
|
||||
qcom,cci-master = <0>;
|
||||
qcom,num-blocks = <29>;
|
||||
qcom,page0 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,poll0 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem0 = <2332 0x0400 2 0 1 0>;
|
||||
|
||||
qcom,page1 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,poll1 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem1 = <3 0x0F10 2 0 1 0>;
|
||||
|
||||
/* bpc: insensor bpc */
|
||||
qcom,saddr2 = <0x5A>;
|
||||
qcom,page2 = <1 0x6028 2 0x4000 2 0>;
|
||||
qcom,poll2 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem2 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page3 = <1 0x0136 2 0x1800 2 0>;
|
||||
qcom,poll3 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem3 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page4 = <1 0x0304 2 0x0006 2 0>;
|
||||
qcom,poll4 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem4 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page5 = <1 0x0306 2 0x0073 2 0>;
|
||||
qcom,poll5 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem5 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page6 = <1 0x030C 2 0x0004 2 0>;
|
||||
qcom,poll6 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem6 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page7 = <1 0x030E 2 0x0064 2 0>;
|
||||
qcom,poll7 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem7 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page8 = <1 0x0302 2 0x0001 2 0>;
|
||||
qcom,poll8 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem8 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page9 = <1 0x0300 2 0x0004 2 0>;
|
||||
qcom,poll9 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem9 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page10 = <1 0x030A 2 0x0001 2 0>;
|
||||
qcom,poll10 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem10 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page11 = <1 0x0308 2 0x0008 2 0>;
|
||||
qcom,poll11 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem11 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page12 = <1 0x0100 2 0x0100 2 10>;
|
||||
qcom,poll12 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem12 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page13 = <1 0x0A02 2 0x0D 1 0>;
|
||||
qcom,pageen13 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll13 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem13 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page14 = <1 0x0A02 2 0x0E 1 0>;
|
||||
qcom,pageen14 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll14 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem14 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page15 = <1 0x0A02 2 0x0F 1 0>;
|
||||
qcom,pageen15 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll15 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem15 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page16 = <1 0x0A02 2 0x10 1 0>;
|
||||
qcom,pageen16 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll16 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem16 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page17 = <1 0x0A02 2 0x11 1 0>;
|
||||
qcom,pageen17 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll17 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem17 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page18 = <1 0x0A02 2 0x12 1 0>;
|
||||
qcom,pageen18 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll18 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem18 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page19 = <1 0x0A02 2 0x13 1 0>;
|
||||
qcom,pageen19 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll19 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem19 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page20 = <1 0x0A02 2 0x14 1 0>;
|
||||
qcom,pageen20 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll20 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem20 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page21 = <1 0x0A02 2 0x15 1 0>;
|
||||
qcom,pageen21 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll21 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem21 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page22 = <1 0x0A02 2 0x16 1 0>;
|
||||
qcom,pageen22 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll22 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem22 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page23 = <1 0x0A02 2 0x17 1 0>;
|
||||
qcom,pageen23 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll23 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem23 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page24 = <1 0x0A02 2 0x18 1 0>;
|
||||
qcom,pageen24 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll24 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem24 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page25 = <1 0x0A02 2 0x19 1 0>;
|
||||
qcom,pageen25 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll25 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem25 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page26 = <1 0x0A02 2 0x1A 1 0>;
|
||||
qcom,pageen26 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll26 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem26 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page27 = <1 0x0A02 2 0x1B 1 0>;
|
||||
qcom,pageen27 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll27 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem27 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page28 = <1 0x0A02 2 0x1C 1 0>;
|
||||
qcom,pageen28 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll28 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem28 = <60 0xA04 2 0x0 1 0>;
|
||||
|
||||
cam_vdig-supply = <&pm8950_l23>;
|
||||
cam_vana-supply = <&pm8950_l22>;
|
||||
cam_vio-supply = <&pm8950_l6>;
|
||||
cam_vaf-supply = <&pm8950_l17>;
|
||||
qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana",
|
||||
qcom,cam-vreg-name = "cam_vdig", "cam_vana", "cam_vio",
|
||||
"cam_vaf";
|
||||
qcom,cam-vreg-min-voltage = <1200000 0 2800000 2850000>;
|
||||
qcom,cam-vreg-max-voltage = <1200000 0 2800000 2850000>;
|
||||
|
@ -318,23 +75,50 @@
|
|||
qcom,gpio-req-tbl-label = "CAMIF_MCLK0",
|
||||
"CAM_RESET0",
|
||||
"CAM_STANDBY0";
|
||||
qcom,gpio-set-tbl-num = <1 1>;
|
||||
qcom,gpio-set-tbl-flags = <0 2>;
|
||||
qcom,gpio-set-tbl-delay = <1000 4000>;
|
||||
|
||||
qcom,cam-power-seq-type = "sensor_vreg", "sensor_vreg",
|
||||
"sensor_vreg", "sensor_vreg", "sensor_gpio",
|
||||
"sensor_clk";
|
||||
qcom,cam-power-seq-val = "cam_vdig", "cam_vana", "cam_vio",
|
||||
"cam_vaf", "sensor_gpio_reset", "sensor_cam_mclk";
|
||||
qcom,cam-power-seq-cfg-val = <1 1 1 1 1 24000000>;
|
||||
qcom,cam-power-seq-delay = <1 1 1 1 30 5>;
|
||||
status = "ok";
|
||||
clocks = <&clock_gcc clk_mclk0_clk_src>,
|
||||
<&clock_gcc clk_gcc_camss_mclk0_clk>;
|
||||
clock-names = "cam_src_clk", "cam_clk";
|
||||
};
|
||||
|
||||
eeprom1: qcom,eeprom@1 {
|
||||
cell-index = <1>;
|
||||
compatible = "qcom,eeprom";
|
||||
reg = <0x01>;
|
||||
cam_vdig-supply = <&pm8950_l23>;
|
||||
cam_vio-supply = <&pm8950_l22>;
|
||||
cam_vana-supply = <&pm8950_l6>;
|
||||
cam_vaf-supply = <&pm8950_l17>;
|
||||
qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana",
|
||||
"cam_vaf";
|
||||
qcom,cam-vreg-min-voltage = <1200000 0 1800000 2850000>;
|
||||
qcom,cam-vreg-max-voltage = <1200000 0 1800000 2850000>;
|
||||
qcom,cam-vreg-op-mode = <200000 0 80000 100000>;
|
||||
qcom,gpio-no-mux = <0>;
|
||||
pinctrl-names = "cam_default", "cam_suspend";
|
||||
pinctrl-0 = <&cam_sensor_mclk1_default
|
||||
&cam_sensor_rear_default>;
|
||||
pinctrl-1 = <&cam_sensor_mclk1_sleep &cam_sensor_rear_sleep>;
|
||||
gpios = <&msm_gpio 27 0>,
|
||||
<&msm_gpio 38 0>,
|
||||
<&msm_gpio 37 0>;
|
||||
qcom,gpio-reset = <1>;
|
||||
qcom,gpio-standby = <2>;
|
||||
qcom,gpio-req-tbl-num = <0 1 2>;
|
||||
qcom,gpio-req-tbl-flags = <1 0 0>;
|
||||
qcom,gpio-req-tbl-label = "CAMIF_MCLK1",
|
||||
"CAM_RESET1",
|
||||
"CAM_STANDBY1";
|
||||
qcom,gpio-set-tbl-num = <1 1>;
|
||||
qcom,gpio-set-tbl-flags = <0 2>;
|
||||
qcom,gpio-set-tbl-delay = <1000 30000>;
|
||||
qcom,cci-master = <1>;
|
||||
status = "ok";
|
||||
clocks = <&clock_gcc clk_mclk1_clk_src>,
|
||||
<&clock_gcc clk_gcc_camss_mclk1_clk>;
|
||||
clock-names = "cam_src_clk", "cam_clk";
|
||||
};
|
||||
|
||||
qcom,camera@0 {
|
||||
cell-index = <0>;
|
||||
compatible = "qcom,camera";
|
||||
|
@ -342,7 +126,7 @@
|
|||
qcom,csiphy-sd-index = <0>;
|
||||
qcom,csid-sd-index = <0>;
|
||||
qcom,mount-angle = <90>;
|
||||
qcom,eeprom-src = <&eeprom0 &eeprom2>;
|
||||
qcom,eeprom-src = <&eeprom0>;
|
||||
qcom,actuator-src = <&actuator0>;
|
||||
qcom,led-flash-src = <&led_flash0>;
|
||||
cam_vdig-supply = <&pm8950_l23>;
|
||||
|
@ -414,6 +198,7 @@
|
|||
<&clock_gcc clk_gcc_camss_mclk1_clk>;
|
||||
clock-names = "cam_src_clk", "cam_clk";
|
||||
};
|
||||
|
||||
qcom,camera@2 {
|
||||
cell-index = <2>;
|
||||
compatible = "qcom,camera";
|
||||
|
|
|
@ -50,76 +50,42 @@
|
|||
|
||||
eeprom0: qcom,eeprom@0 {
|
||||
cell-index = <0>;
|
||||
reg = <0x0>;
|
||||
qcom,eeprom-name = "le2464c_master";
|
||||
compatible = "qcom,eeprom";
|
||||
qcom,slave-addr = <0xa0>;
|
||||
qcom,cci-master = <0>;
|
||||
qcom,num-blocks = <2>;
|
||||
|
||||
qcom,page0 = <0 0 0 0 0 0>;
|
||||
qcom,poll0 = <0 0 0 0 0 0>;
|
||||
qcom,saddr0 = <0xa0>;
|
||||
qcom,mem0 = <2048 0x0000 2 0 1 0>;
|
||||
|
||||
qcom,page1 = <0 0 0 0 0 0>;
|
||||
qcom,poll1 = <0 0 0 0 0 0>;
|
||||
qcom,saddr1 = <0xa0>;
|
||||
qcom,mem1 = <470 0x1a52 2 0 1 0>;
|
||||
|
||||
reg = <0x0>;
|
||||
cam_vdig-supply = <&pm8950_l23>;
|
||||
cam_vana-supply = <&pm8950_l22>;
|
||||
cam_vio-supply = <&pm8950_l6>;
|
||||
qcom,cam-vreg-name = "cam_vio";
|
||||
qcom,cam-vreg-min-voltage = <0>;
|
||||
qcom,cam-vreg-max-voltage = <0>;
|
||||
qcom,cam-vreg-op-mode = <0>;
|
||||
qcom,cam-power-seq-type = "sensor_vreg";
|
||||
qcom,cam-power-seq-val = "cam_vio";
|
||||
qcom,cam-power-seq-cfg-val = <1>;
|
||||
qcom,cam-power-seq-delay = <1>;
|
||||
cam_vaf-supply = <&pm8950_l17>;
|
||||
qcom,cam-vreg-name = "cam_vdig", "cam_vana", "cam_vio",
|
||||
"cam_vaf";
|
||||
qcom,cam-vreg-min-voltage = <1200000 0 2800000 2850000>;
|
||||
qcom,cam-vreg-max-voltage = <1200000 0 2800000 2850000>;
|
||||
qcom,cam-vreg-op-mode = <200000 0 80000 100000>;
|
||||
pinctrl-names = "cam_default", "cam_suspend";
|
||||
pinctrl-0 = <&cam_sensor_mclk0_default
|
||||
&cam_sensor_rear_default>;
|
||||
pinctrl-1 = <&cam_sensor_mclk0_sleep &cam_sensor_rear_sleep>;
|
||||
gpios = <&msm_gpio 26 0>,
|
||||
<&msm_gpio 36 0>,
|
||||
<&msm_gpio 35 0>;
|
||||
qcom,gpio-reset = <1>;
|
||||
qcom,gpio-standby = <2>;
|
||||
qcom,gpio-req-tbl-num = <0 1 2>;
|
||||
qcom,gpio-req-tbl-flags = <1 0 0>;
|
||||
qcom,gpio-req-tbl-label = "CAMIF_MCLK0",
|
||||
"CAM_RESET0",
|
||||
"CAM_STANDBY0";
|
||||
status = "ok";
|
||||
clocks = <&clock_gcc clk_mclk0_clk_src>,
|
||||
<&clock_gcc clk_gcc_camss_mclk0_clk>;
|
||||
clock-names = "cam_src_clk", "cam_clk";
|
||||
};
|
||||
|
||||
eeprom1: qcom,eeprom@1 {
|
||||
cell-index = <1>;
|
||||
reg = <0x1>;
|
||||
qcom,eeprom-name = "sunny_8865";
|
||||
compatible = "qcom,eeprom";
|
||||
qcom,slave-addr = <0x6c>;
|
||||
qcom,cci-master = <0>;
|
||||
qcom,num-blocks = <8>;
|
||||
|
||||
qcom,page0 = <1 0x0100 2 0x01 1 1>;
|
||||
qcom,poll0 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem0 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page1 = <1 0x5002 2 0x00 1 0>;
|
||||
qcom,poll1 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem1 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page2 = <1 0x3d84 2 0xC0 1 0>;
|
||||
qcom,poll2 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem2 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page3 = <1 0x3d88 2 0x70 1 0>;
|
||||
qcom,poll3 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem3 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page4 = <1 0x3d89 2 0x10 1 0>;
|
||||
qcom,poll4 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem4 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page5 = <1 0x3d8A 2 0x70 1 0>;
|
||||
qcom,poll5 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem5 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page6 = <1 0x3d8B 2 0xf4 1 0>;
|
||||
qcom,poll6 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem6 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page7 = <1 0x3d81 2 0x01 1 10>;
|
||||
qcom,poll7 = <0 0x0 2 0x0 1 1>;
|
||||
qcom,mem7 = <1536 0x7010 2 0 1 0>;
|
||||
|
||||
reg = <0x01>;
|
||||
cam_vdig-supply = <&pm8950_l23>;
|
||||
cam_vana-supply = <&pm8950_l22>;
|
||||
cam_vio-supply = <&pm8950_l6>;
|
||||
|
@ -142,200 +108,13 @@
|
|||
qcom,gpio-req-tbl-label = "CAMIF_MCLK2",
|
||||
"CAM_RESET2",
|
||||
"CAM_STANDBY2";
|
||||
qcom,cam-power-seq-type = "sensor_vreg", "sensor_vreg", "sensor_vreg",
|
||||
"sensor_gpio", "sensor_gpio" , "sensor_clk";
|
||||
qcom,cam-power-seq-val = "cam_vdig", "cam_vana", "cam_vio",
|
||||
"sensor_gpio_reset", "sensor_gpio_standby","sensor_cam_mclk";
|
||||
qcom,cam-power-seq-cfg-val = <1 1 1 1 1 24000000>;
|
||||
qcom,cam-power-seq-delay = <1 1 1 30 30 5>;
|
||||
qcom,cci-master = <0>;
|
||||
status = "ok";
|
||||
clocks = <&clock_gcc clk_mclk2_clk_src>,
|
||||
<&clock_gcc clk_gcc_camss_mclk2_clk>;
|
||||
clock-names = "cam_src_clk", "cam_clk";
|
||||
};
|
||||
|
||||
eeprom2: qcom,eeprom@2 {
|
||||
cell-index = <2>;
|
||||
reg = <0x2>;
|
||||
qcom,eeprom-name = "dw9761b";
|
||||
compatible = "qcom,eeprom";
|
||||
qcom,slave-addr = <0xB0>;
|
||||
qcom,cci-master = <0>;
|
||||
qcom,num-blocks = <29>;
|
||||
qcom,page0 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,poll0 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem0 = <2332 0x0400 2 0 1 0>;
|
||||
|
||||
qcom,page1 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,poll1 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem1 = <3 0x0F10 2 0 1 0>;
|
||||
|
||||
/* bpc: insensor bpc */
|
||||
qcom,saddr2 = <0x5A>;
|
||||
qcom,page2 = <1 0x6028 2 0x4000 2 0>;
|
||||
qcom,poll2 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem2 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page3 = <1 0x0136 2 0x1800 2 0>;
|
||||
qcom,poll3 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem3 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page4 = <1 0x0304 2 0x0006 2 0>;
|
||||
qcom,poll4 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem4 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page5 = <1 0x0306 2 0x0073 2 0>;
|
||||
qcom,poll5 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem5 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page6 = <1 0x030C 2 0x0004 2 0>;
|
||||
qcom,poll6 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem6 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page7 = <1 0x030E 2 0x0064 2 0>;
|
||||
qcom,poll7 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem7 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page8 = <1 0x0302 2 0x0001 2 0>;
|
||||
qcom,poll8 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem8 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page9 = <1 0x0300 2 0x0004 2 0>;
|
||||
qcom,poll9 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem9 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page10 = <1 0x030A 2 0x0001 2 0>;
|
||||
qcom,poll10 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem10 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page11 = <1 0x0308 2 0x0008 2 0>;
|
||||
qcom,poll11 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem11 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page12 = <1 0x0100 2 0x0100 2 10>;
|
||||
qcom,poll12 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem12 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page13 = <1 0x0A02 2 0x0D 1 0>;
|
||||
qcom,pageen13 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll13 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem13 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page14 = <1 0x0A02 2 0x0E 1 0>;
|
||||
qcom,pageen14 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll14 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem14 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page15 = <1 0x0A02 2 0x0F 1 0>;
|
||||
qcom,pageen15 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll15 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem15 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page16 = <1 0x0A02 2 0x10 1 0>;
|
||||
qcom,pageen16 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll16 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem16 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page17 = <1 0x0A02 2 0x11 1 0>;
|
||||
qcom,pageen17 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll17 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem17 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page18 = <1 0x0A02 2 0x12 1 0>;
|
||||
qcom,pageen18 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll18 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem18 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page19 = <1 0x0A02 2 0x13 1 0>;
|
||||
qcom,pageen19 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll19 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem19 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page20 = <1 0x0A02 2 0x14 1 0>;
|
||||
qcom,pageen20 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll20 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem20 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page21 = <1 0x0A02 2 0x15 1 0>;
|
||||
qcom,pageen21 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll21 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem21 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page22 = <1 0x0A02 2 0x16 1 0>;
|
||||
qcom,pageen22 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll22 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem22 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page23 = <1 0x0A02 2 0x17 1 0>;
|
||||
qcom,pageen23 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll23 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem23 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page24 = <1 0x0A02 2 0x18 1 0>;
|
||||
qcom,pageen24 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll24 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem24 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page25 = <1 0x0A02 2 0x19 1 0>;
|
||||
qcom,pageen25 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll25 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem25 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page26 = <1 0x0A02 2 0x1A 1 0>;
|
||||
qcom,pageen26 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll26 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem26 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page27 = <1 0x0A02 2 0x1B 1 0>;
|
||||
qcom,pageen27 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll27 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem27 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page28 = <1 0x0A02 2 0x1C 1 0>;
|
||||
qcom,pageen28 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll28 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem28 = <60 0xA04 2 0x0 1 0>;
|
||||
|
||||
cam_vdig-supply = <&pm8950_l23>;
|
||||
cam_vana-supply = <&pm8950_l22>;
|
||||
cam_vio-supply = <&pm8950_l6>;
|
||||
cam_vaf-supply = <&pm8950_l17>;
|
||||
qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana",
|
||||
"cam_vaf";
|
||||
qcom,cam-vreg-min-voltage = <1200000 0 2800000 2850000>;
|
||||
qcom,cam-vreg-max-voltage = <1200000 0 2800000 2850000>;
|
||||
qcom,cam-vreg-op-mode = <200000 0 80000 100000>;
|
||||
pinctrl-names = "cam_default", "cam_suspend";
|
||||
pinctrl-0 = <&cam_sensor_mclk0_default
|
||||
&cam_sensor_rear_default>;
|
||||
pinctrl-1 = <&cam_sensor_mclk0_sleep &cam_sensor_rear_sleep>;
|
||||
gpios = <&msm_gpio 26 0>,
|
||||
<&msm_gpio 36 0>,
|
||||
<&msm_gpio 35 0>;
|
||||
qcom,gpio-reset = <1>;
|
||||
qcom,gpio-standby = <2>;
|
||||
qcom,gpio-req-tbl-num = <0 1 2>;
|
||||
qcom,gpio-req-tbl-flags = <1 0 0>;
|
||||
qcom,gpio-req-tbl-label = "CAMIF_MCLK0",
|
||||
"CAM_RESET0",
|
||||
"CAM_STANDBY0";
|
||||
qcom,gpio-set-tbl-num = <1 1>;
|
||||
qcom,gpio-set-tbl-flags = <0 2>;
|
||||
qcom,gpio-set-tbl-delay = <1000 4000>;
|
||||
|
||||
qcom,cam-power-seq-type = "sensor_vreg", "sensor_vreg",
|
||||
"sensor_vreg", "sensor_vreg", "sensor_gpio",
|
||||
"sensor_clk";
|
||||
qcom,cam-power-seq-val = "cam_vdig", "cam_vana", "cam_vio",
|
||||
"cam_vaf", "sensor_gpio_reset", "sensor_cam_mclk";
|
||||
qcom,cam-power-seq-cfg-val = <1 1 1 1 1 24000000>;
|
||||
qcom,cam-power-seq-delay = <1 1 1 1 30 5>;
|
||||
status = "ok";
|
||||
clocks = <&clock_gcc clk_mclk0_clk_src>,
|
||||
<&clock_gcc clk_gcc_camss_mclk0_clk>;
|
||||
clock-names = "cam_src_clk", "cam_clk";
|
||||
};
|
||||
|
||||
qcom,camera@0 {
|
||||
cell-index = <0>;
|
||||
compatible = "qcom,camera";
|
||||
|
@ -343,7 +122,7 @@
|
|||
qcom,csiphy-sd-index = <0>;
|
||||
qcom,csid-sd-index = <0>;
|
||||
qcom,mount-angle = <90>;
|
||||
qcom,eeprom-src = <&eeprom0 &eeprom2>;
|
||||
qcom,eeprom-src = <&eeprom0>;
|
||||
qcom,actuator-src = <&actuator0>;
|
||||
qcom,led-flash-src = <&led_flash0>;
|
||||
cam_vdig-supply = <&pm8950_l23>;
|
||||
|
|
|
@ -35,50 +35,23 @@
|
|||
qcom,cam-vreg-op-mode = <80000>;
|
||||
};
|
||||
|
||||
eeprom0: qcom,eeprom@0{
|
||||
eeprom0: qcom,eeprom@0 {
|
||||
cell-index = <0>;
|
||||
reg = <0x00>;
|
||||
qcom,eeprom-name = "sunny_q13v06k";
|
||||
compatible = "qcom,eeprom";
|
||||
qcom,slave-addr = <0x20>;
|
||||
qcom,cci-master = <0>;
|
||||
qcom,num-blocks = <8>;
|
||||
|
||||
qcom,page0 = <1 0x0100 2 0x01 1 1>;
|
||||
qcom,poll0 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem0 = <0 0x0 2 0 1 0>;
|
||||
qcom,page1 = <1 0x5002 2 0x5 1 1>;
|
||||
qcom,poll1 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem1 = <0 0x0 2 0 1 0>;
|
||||
qcom,page2 = <1 0x3d84 2 0xc0 1 0>;
|
||||
qcom,poll2 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem2 = <0 0x0 2 0 1 0>;
|
||||
qcom,page3 = <1 0x3d88 2 0x7220 2 0>;
|
||||
qcom,poll3 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem3 = <0 0x0 2 0 1 0>;
|
||||
qcom,page4 = <1 0x3d8a 2 0x73BA 2 0>;
|
||||
qcom,poll4 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem4 = <0 0x0 2 0 1 0>;
|
||||
qcom,page5 = <1 0x3d81 2 0x01 1 15>;
|
||||
qcom,poll5 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem5 = <411 0x7220 2 0 1 0>;
|
||||
qcom,page6 = <1 0x5002 2 0x7 1 1>;
|
||||
qcom,poll6 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem6 = <0 0x0 2 0 1 0>;
|
||||
qcom,page7 = <0 0 0 0 0 0>;
|
||||
qcom,poll7 = <0 0 0 0 0 0>;
|
||||
qcom,saddr7 = <0xa0>;
|
||||
qcom,mem7 = <470 0x16ba 2 0 1 0>;
|
||||
|
||||
reg = <0x0>;
|
||||
cam_vdig-supply = <&pm8950_l23>;
|
||||
cam_vana-supply = <&pm8950_l22>;
|
||||
cam_vio-supply = <&pm8950_l6>;
|
||||
qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana";
|
||||
qcom,cam-vreg-min-voltage = <1200000 0 2800000>;
|
||||
qcom,cam-vreg-max-voltage = <1200000 0 2800000>;
|
||||
qcom,cam-vreg-op-mode = <200000 0 80000>;
|
||||
cam_vaf-supply = <&pm8950_l17>;
|
||||
qcom,cam-vreg-name = "cam_vdig", "cam_vana", "cam_vio",
|
||||
"cam_vaf";
|
||||
qcom,cam-vreg-min-voltage = <1200000 0 2800000 2850000>;
|
||||
qcom,cam-vreg-max-voltage = <1200000 0 2800000 2850000>;
|
||||
qcom,cam-vreg-op-mode = <200000 0 80000 100000>;
|
||||
pinctrl-names = "cam_default", "cam_suspend";
|
||||
pinctrl-0 = <&cam_sensor_mclk0_default &cam_sensor_rear_default>;
|
||||
pinctrl-0 = <&cam_sensor_mclk0_default
|
||||
&cam_sensor_rear_default>;
|
||||
pinctrl-1 = <&cam_sensor_mclk0_sleep &cam_sensor_rear_sleep>;
|
||||
gpios = <&msm_gpio 26 0>,
|
||||
<&msm_gpio 36 0>,
|
||||
|
@ -88,283 +61,58 @@
|
|||
qcom,gpio-req-tbl-num = <0 1 2>;
|
||||
qcom,gpio-req-tbl-flags = <1 0 0>;
|
||||
qcom,gpio-req-tbl-label = "CAMIF_MCLK0",
|
||||
"MCAM_RESET0",
|
||||
"MCAM_STANDBY0";
|
||||
|
||||
qcom,cam-power-seq-type = "sensor_vreg",
|
||||
"sensor_vreg", "sensor_vreg",
|
||||
"sensor_clk",
|
||||
"sensor_gpio", "sensor_gpio";
|
||||
qcom,cam-power-seq-val = "cam_vio",
|
||||
"cam_vana", "cam_vdig",
|
||||
"sensor_cam_mclk",
|
||||
"sensor_gpio_reset",
|
||||
"sensor_gpio_standby";
|
||||
qcom,cam-power-seq-cfg-val = <1 1 1 24000000 1 1>;
|
||||
qcom,cam-power-seq-delay = <1 1 5 5 5 10>;
|
||||
"CAM_RESET0",
|
||||
"CAM_STANDBY0";
|
||||
status = "ok";
|
||||
clocks = <&clock_gcc clk_mclk0_clk_src>,
|
||||
<&clock_gcc clk_gcc_camss_mclk0_clk>;
|
||||
clock-names = "cam_src_clk", "cam_clk";
|
||||
};
|
||||
|
||||
eeprom1: qcom,eeprom@1{
|
||||
eeprom1: qcom,eeprom@1 {
|
||||
cell-index = <1>;
|
||||
reg = <0x01>;
|
||||
qcom,eeprom-name = "sunny_q5v41b";
|
||||
compatible = "qcom,eeprom";
|
||||
qcom,slave-addr = <0x6c>;
|
||||
qcom,cci-master = <0>;
|
||||
|
||||
qcom,num-blocks = <10>;
|
||||
qcom,page0 = <1 0x0100 2 0x01 1 1>;
|
||||
qcom,poll0 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem0 = <0 0x0 2 0 1 0>;
|
||||
qcom,page1 = <1 0x5002 2 0xa8 1 1>;
|
||||
qcom,poll1 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem1 = <0 0x0 2 0 1 0>;
|
||||
qcom,page2 = <1 0x3d84 2 0xc0 1 1>;
|
||||
qcom,poll2 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem2 = <0 0x0 2 0 1 0>;
|
||||
qcom,page3 = <1 0x3d88 2 0x70 1 1>;
|
||||
qcom,poll3 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem3 = <0 0x3d00 2 0 1 0>;
|
||||
qcom,page4 = <1 0x3d89 2 0x10 1 1>;
|
||||
qcom,poll4 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem4 = <0 0x3d00 2 0 1 0>;
|
||||
qcom,page5 = <1 0x3d8a 2 0x70 1 1>;
|
||||
qcom,poll5 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem5 = <0 0x3d00 2 0 1 0>;
|
||||
qcom,page6 = <1 0x3d8b 2 0x29 1 1>;
|
||||
qcom,poll6 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem6 = <0 0x3d00 2 0 1 0>;
|
||||
qcom,page7 = <1 0x3d81 2 0x01 1 5>;
|
||||
qcom,poll7 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem7 = <26 0x7010 2 0 1 1>;
|
||||
qcom,page8 = <1 0x5002 2 0xaa 1 1>;
|
||||
qcom,poll8 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem8 = <0 0x0 2 0 1 0>;
|
||||
qcom,page9 = <1 0x0100 2 0x00 1 1>;
|
||||
qcom,poll9 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem9 = <0 0x0 2 0 1 0>;
|
||||
|
||||
reg = <0x01>;
|
||||
cam_vdig-supply = <&pm8950_l23>;
|
||||
cam_vana-supply = <&pm8950_l22>;
|
||||
cam_vio-supply = <&pm8950_l6>;
|
||||
qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana";
|
||||
qcom,cam-vreg-type = <0 1 0>;
|
||||
qcom,cam-vreg-min-voltage = <1200000 0 2800000>;
|
||||
qcom,cam-vreg-max-voltage = <1200000 0 2800000>;
|
||||
qcom,cam-vreg-op-mode = <105000 0 80000>;
|
||||
cam_vaf-supply = <&pm8950_l17>;
|
||||
qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana",
|
||||
"cam_vaf";
|
||||
qcom,cam-vreg-min-voltage = <1200000 0 2800000 2850000>;
|
||||
qcom,cam-vreg-max-voltage = <1200000 0 2800000 2850000>;
|
||||
qcom,cam-vreg-op-mode = <105000 0 80000 100000>;
|
||||
qcom,gpio-no-mux = <0>;
|
||||
pinctrl-names = "cam_default", "cam_suspend";
|
||||
pinctrl-0 = <&cam_sensor_mclk2_default &cam_sensor_front1_default>;
|
||||
pinctrl-1 = <&cam_sensor_mclk2_sleep &cam_sensor_front1_sleep>;
|
||||
pinctrl-0 = <&cam_sensor_mclk2_default
|
||||
&cam_sensor_front1_default
|
||||
&cam_sensor_ext_gpio_default>;
|
||||
pinctrl-1 = <&cam_sensor_mclk2_sleep
|
||||
&cam_sensor_front1_sleep
|
||||
&cam_sensor_ext_gpio_sleep>;
|
||||
gpios = <&msm_gpio 28 0>,
|
||||
<&msm_gpio 40 0>,
|
||||
<&msm_gpio 39 0>;
|
||||
<&msm_gpio 39 0>,
|
||||
<&msm_gpio 130 0>,
|
||||
<&msm_gpio 131 0>;
|
||||
qcom,gpio-reset = <1>;
|
||||
qcom,gpio-standby = <2>;
|
||||
qcom,gpio-req-tbl-num = <0 1 2>;
|
||||
qcom,gpio-req-tbl-flags = <1 0 0>;
|
||||
qcom,gpio-custom1 = <3>;
|
||||
qcom,gpio-custom2 = <4>;
|
||||
qcom,gpio-req-tbl-num = <0 1 2 3 4>;
|
||||
qcom,gpio-req-tbl-flags = <1 0 0 0 0>;
|
||||
qcom,gpio-req-tbl-label = "CAMIF_MCLK2",
|
||||
"CAM_RESET2",
|
||||
"CAM_STANDBY2";
|
||||
qcom,cam-power-seq-type = "sensor_vreg",
|
||||
"sensor_vreg", "sensor_vreg",
|
||||
"sensor_gpio", "sensor_gpio",
|
||||
"sensor_clk";
|
||||
qcom,cam-power-seq-val = "cam_vio",
|
||||
"cam_vana", "cam_vdig",
|
||||
"sensor_gpio_reset",
|
||||
"sensor_gpio_standby",
|
||||
"sensor_cam_mclk" ;
|
||||
qcom,cam-power-seq-cfg-val = <1 1 1 1 1 24000000>;
|
||||
qcom,cam-power-seq-delay = <10 10 10 10 10 5>;
|
||||
|
||||
"CAM_STANDBY2",
|
||||
"CAM_CUSTOM1",
|
||||
"CAM_CUSTOM2";
|
||||
qcom,cci-master = <0>;
|
||||
status = "ok";
|
||||
clocks = <&clock_gcc clk_mclk2_clk_src>,
|
||||
<&clock_gcc clk_gcc_camss_mclk2_clk>;
|
||||
clock-names = "cam_src_clk", "cam_clk";
|
||||
};
|
||||
eeprom2: qcom,eeprom@2 {
|
||||
cell-index = <2>;
|
||||
reg = <0x2>;
|
||||
qcom,eeprom-name = "dw9761b";
|
||||
compatible = "qcom,eeprom";
|
||||
qcom,slave-addr = <0xB0>;
|
||||
qcom,cci-master = <0>;
|
||||
qcom,num-blocks = <29>;
|
||||
qcom,page0 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,poll0 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem0 = <2332 0x0400 2 0 1 0>;
|
||||
|
||||
qcom,page1 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,poll1 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem1 = <3 0x0F10 2 0 1 0>;
|
||||
|
||||
/* bpc: insensor bpc */
|
||||
qcom,saddr2 = <0x5A>;
|
||||
qcom,page2 = <1 0x6028 2 0x4000 2 0>;
|
||||
qcom,poll2 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem2 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page3 = <1 0x0136 2 0x1800 2 0>;
|
||||
qcom,poll3 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem3 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page4 = <1 0x0304 2 0x0006 2 0>;
|
||||
qcom,poll4 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem4 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page5 = <1 0x0306 2 0x0073 2 0>;
|
||||
qcom,poll5 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem5 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page6 = <1 0x030C 2 0x0004 2 0>;
|
||||
qcom,poll6 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem6 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page7 = <1 0x030E 2 0x0064 2 0>;
|
||||
qcom,poll7 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem7 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page8 = <1 0x0302 2 0x0001 2 0>;
|
||||
qcom,poll8 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem8 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page9 = <1 0x0300 2 0x0004 2 0>;
|
||||
qcom,poll9 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem9 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page10 = <1 0x030A 2 0x0001 2 0>;
|
||||
qcom,poll10 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem10 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page11 = <1 0x0308 2 0x0008 2 0>;
|
||||
qcom,poll11 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem11 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page12 = <1 0x0100 2 0x0100 2 10>;
|
||||
qcom,poll12 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem12 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page13 = <1 0x0A02 2 0x0D 1 0>;
|
||||
qcom,pageen13 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll13 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem13 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page14 = <1 0x0A02 2 0x0E 1 0>;
|
||||
qcom,pageen14 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll14 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem14 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page15 = <1 0x0A02 2 0x0F 1 0>;
|
||||
qcom,pageen15 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll15 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem15 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page16 = <1 0x0A02 2 0x10 1 0>;
|
||||
qcom,pageen16 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll16 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem16 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page17 = <1 0x0A02 2 0x11 1 0>;
|
||||
qcom,pageen17 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll17 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem17 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page18 = <1 0x0A02 2 0x12 1 0>;
|
||||
qcom,pageen18 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll18 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem18 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page19 = <1 0x0A02 2 0x13 1 0>;
|
||||
qcom,pageen19 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll19 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem19 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page20 = <1 0x0A02 2 0x14 1 0>;
|
||||
qcom,pageen20 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll20 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem20 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page21 = <1 0x0A02 2 0x15 1 0>;
|
||||
qcom,pageen21 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll21 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem21 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page22 = <1 0x0A02 2 0x16 1 0>;
|
||||
qcom,pageen22 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll22 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem22 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page23 = <1 0x0A02 2 0x17 1 0>;
|
||||
qcom,pageen23 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll23 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem23 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page24 = <1 0x0A02 2 0x18 1 0>;
|
||||
qcom,pageen24 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll24 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem24 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page25 = <1 0x0A02 2 0x19 1 0>;
|
||||
qcom,pageen25 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll25 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem25 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page26 = <1 0x0A02 2 0x1A 1 0>;
|
||||
qcom,pageen26 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll26 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem26 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page27 = <1 0x0A02 2 0x1B 1 0>;
|
||||
qcom,pageen27 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll27 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem27 = <64 0xA04 2 0x0 1 0>;
|
||||
|
||||
qcom,page28 = <1 0x0A02 2 0x1C 1 0>;
|
||||
qcom,pageen28 = <1 0x0A00 2 0x01 1 0>;
|
||||
qcom,poll28 = <0 0x0 2 0x0 2 0>;
|
||||
qcom,mem28 = <60 0xA04 2 0x0 1 0>;
|
||||
|
||||
|
||||
cam_vdig-supply = <&pm8950_l23>;
|
||||
cam_vana-supply = <&pm8950_l22>;
|
||||
cam_vio-supply = <&pm8950_l6>;
|
||||
qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana";
|
||||
qcom,cam-vreg-min-voltage = <1200000 0 2800000>;
|
||||
qcom,cam-vreg-max-voltage = <1200000 0 2800000>;
|
||||
qcom,cam-vreg-op-mode = <200000 0 80000>;
|
||||
pinctrl-names = "cam_default", "cam_suspend";
|
||||
pinctrl-0 = <&cam_sensor_mclk0_default &cam_sensor_rear_default>;
|
||||
pinctrl-1 = <&cam_sensor_mclk0_sleep &cam_sensor_rear_sleep>;
|
||||
gpios = <&msm_gpio 26 0>,
|
||||
<&msm_gpio 36 0>,
|
||||
<&msm_gpio 35 0>;
|
||||
qcom,gpio-reset = <1>;
|
||||
qcom,gpio-standby = <2>;
|
||||
qcom,gpio-req-tbl-num = <0 1 2>;
|
||||
qcom,gpio-req-tbl-flags = <1 0 0>;
|
||||
qcom,gpio-req-tbl-label = "CAMIF_MCLK0",
|
||||
"MCAM_RESET0",
|
||||
"MCAM_STANDBY0";
|
||||
|
||||
qcom,cam-power-seq-type = "sensor_vreg",
|
||||
"sensor_vreg", "sensor_vreg",
|
||||
"sensor_clk",
|
||||
"sensor_gpio", "sensor_gpio";
|
||||
qcom,cam-power-seq-val = "cam_vio",
|
||||
"cam_vana", "cam_vdig",
|
||||
"sensor_cam_mclk",
|
||||
"sensor_gpio_reset",
|
||||
"sensor_gpio_standby";
|
||||
qcom,cam-power-seq-cfg-val = <1 1 1 24000000 1 1>;
|
||||
qcom,cam-power-seq-delay = <1 1 5 5 5 10>;
|
||||
status = "ok";
|
||||
clocks = <&clock_gcc clk_mclk0_clk_src>,
|
||||
<&clock_gcc clk_gcc_camss_mclk0_clk>;
|
||||
clock-names = "cam_src_clk", "cam_clk";
|
||||
};
|
||||
qcom,camera@0 {
|
||||
cell-index = <0>;
|
||||
compatible = "qcom,camera";
|
||||
|
@ -375,7 +123,7 @@
|
|||
qcom,mount-angle = <90>;
|
||||
qcom,actuator-src = <&actuator0>;
|
||||
qcom,led-flash-src = <&led_flash0>;
|
||||
qcom,eeprom-src = <&eeprom0 &eeprom2>;
|
||||
qcom,eeprom-src = <&eeprom0>;
|
||||
cam_vdig-supply = <&pm8950_l23>;
|
||||
cam_vana-supply = <&pm8950_l22>;
|
||||
cam_vio-supply = <&pm8950_l6>;
|
||||
|
|
|
@ -49,76 +49,52 @@
|
|||
|
||||
eeprom0: qcom,eeprom@0 {
|
||||
cell-index = <0>;
|
||||
reg = <0x0>;
|
||||
qcom,eeprom-name = "le2464c";
|
||||
compatible = "qcom,eeprom";
|
||||
qcom,slave-addr = <0xa0>;
|
||||
qcom,cci-master = <0>;
|
||||
qcom,num-blocks = <1>;
|
||||
|
||||
qcom,page0 = <0 0 0 0 0 0>;
|
||||
qcom,poll0 = <0 0 0 0 0 0>;
|
||||
qcom,saddr0 = <0xa0>;
|
||||
qcom,mem0 = <2048 0x0000 2 0 1 0>;
|
||||
|
||||
reg = <0x0>;
|
||||
cam_vdig-supply = <&pm8950_l3>;
|
||||
cam_vio-supply = <&pm8950_l6>;
|
||||
qcom,cam-vreg-name = "cam_vio";
|
||||
qcom,cam-vreg-min-voltage = <0>;
|
||||
qcom,cam-vreg-max-voltage = <0>;
|
||||
qcom,cam-vreg-op-mode = <0>;
|
||||
qcom,cam-power-seq-type = "sensor_vreg";
|
||||
qcom,cam-power-seq-val = "cam_vio";
|
||||
qcom,cam-power-seq-cfg-val = <1>;
|
||||
qcom,cam-power-seq-delay = <1>;
|
||||
cam_vaf-supply = <&pm8950_l17>;
|
||||
qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vaf";
|
||||
qcom,cam-vreg-min-voltage = <1100000 0 2850000>;
|
||||
qcom,cam-vreg-max-voltage = <1100000 0 2850000>;
|
||||
qcom,cam-vreg-op-mode = <200000 0 100000>;
|
||||
pinctrl-names = "cam_default", "cam_suspend";
|
||||
pinctrl-0 = <&cam_sensor_mclk0_default
|
||||
&cam_sensor_rear_default
|
||||
&cam_sensor_rear_vana>;
|
||||
pinctrl-1 = <&cam_sensor_mclk0_sleep &cam_sensor_rear_sleep
|
||||
&cam_sensor_rear_vana_sleep>;
|
||||
gpios = <&msm_gpio 26 0>,
|
||||
<&msm_gpio 129 0>,
|
||||
<&msm_gpio 35 0>,
|
||||
<&msm_gpio 63 0>;
|
||||
qcom,gpio-reset = <1>;
|
||||
qcom,gpio-standby = <2>;
|
||||
qcom,gpio-vana = <3>;
|
||||
qcom,gpio-req-tbl-num = <0 1 2 3>;
|
||||
qcom,gpio-req-tbl-flags = <1 0 0 0>;
|
||||
qcom,gpio-req-tbl-label = "CAMIF_MCLK0",
|
||||
"CAM_RESET0",
|
||||
"CAM_STANDBY0",
|
||||
"CAM_VANA";
|
||||
qcom,cci-master = <0>;
|
||||
status = "ok";
|
||||
clocks = <&clock_gcc clk_mclk0_clk_src>,
|
||||
<&clock_gcc clk_gcc_camss_mclk0_clk>;
|
||||
clock-names = "cam_src_clk", "cam_clk";
|
||||
};
|
||||
|
||||
eeprom1: qcom,eeprom@1 {
|
||||
cell-index = <1>;
|
||||
reg = <0x1>;
|
||||
qcom,eeprom-name = "sunny_8865";
|
||||
compatible = "qcom,eeprom";
|
||||
qcom,slave-addr = <0x6c>;
|
||||
qcom,cci-master = <0>;
|
||||
qcom,num-blocks = <8>;
|
||||
|
||||
qcom,page0 = <1 0x0100 2 0x01 1 1>;
|
||||
qcom,poll0 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem0 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page1 = <1 0x5002 2 0x00 1 0>;
|
||||
qcom,poll1 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem1 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page2 = <1 0x3d84 2 0xC0 1 0>;
|
||||
qcom,poll2 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem2 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page3 = <1 0x3d88 2 0x70 1 0>;
|
||||
qcom,poll3 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem3 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page4 = <1 0x3d89 2 0x10 1 0>;
|
||||
qcom,poll4 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem4 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page5 = <1 0x3d8A 2 0x70 1 0>;
|
||||
qcom,poll5 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem5 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page6 = <1 0x3d8B 2 0xf4 1 0>;
|
||||
qcom,poll6 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem6 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page7 = <1 0x3d81 2 0x01 1 10>;
|
||||
qcom,poll7 = <0 0x0 2 0x0 1 1>;
|
||||
qcom,mem7 = <1536 0x7010 2 0 1 0>;
|
||||
|
||||
reg = <0x1>;
|
||||
qcom,actuator-src = <&actuator1>;
|
||||
cam_vdig-supply = <&pm8950_l23>;
|
||||
cam_vana-supply = <&pm8950_l22>;
|
||||
cam_vio-supply = <&pm8950_l6>;
|
||||
cam_vaf-supply = <&pm8950_l17>;
|
||||
qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana", "cam_vaf";
|
||||
qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana",
|
||||
"cam_vaf";
|
||||
qcom,cam-vreg-min-voltage = <1200000 0 2800000 2850000>;
|
||||
qcom,cam-vreg-max-voltage = <1200000 0 2800000 2850000>;
|
||||
qcom,cam-vreg-op-mode = <105000 0 80000 100000>;
|
||||
|
@ -136,12 +112,9 @@
|
|||
qcom,gpio-req-tbl-label = "CAMIF_MCLK2",
|
||||
"CAM_RESET2",
|
||||
"CAM_STANDBY2";
|
||||
qcom,cam-power-seq-type = "sensor_vreg", "sensor_vreg", "sensor_vreg",
|
||||
"sensor_gpio", "sensor_gpio" , "sensor_clk";
|
||||
qcom,cam-power-seq-val = "cam_vdig", "cam_vana", "cam_vio",
|
||||
"sensor_gpio_reset", "sensor_gpio_standby","sensor_cam_mclk";
|
||||
qcom,cam-power-seq-cfg-val = <1 1 1 1 1 24000000>;
|
||||
qcom,cam-power-seq-delay = <1 1 1 30 30 5>;
|
||||
qcom,sensor-position = <1>;
|
||||
qcom,sensor-mode = <0>;
|
||||
qcom,cci-master = <0>;
|
||||
status = "ok";
|
||||
clocks = <&clock_gcc clk_mclk2_clk_src>,
|
||||
<&clock_gcc clk_gcc_camss_mclk2_clk>;
|
||||
|
|
|
@ -49,71 +49,45 @@
|
|||
|
||||
eeprom0: qcom,eeprom@0 {
|
||||
cell-index = <0>;
|
||||
reg = <0x0>;
|
||||
qcom,eeprom-name = "le2464c";
|
||||
compatible = "qcom,eeprom";
|
||||
qcom,slave-addr = <0xa0>;
|
||||
qcom,cci-master = <0>;
|
||||
qcom,num-blocks = <1>;
|
||||
|
||||
qcom,page0 = <0 0 0 0 0 0>;
|
||||
qcom,poll0 = <0 0 0 0 0 0>;
|
||||
qcom,saddr0 = <0xa0>;
|
||||
qcom,mem0 = <8192 0x0000 2 0 1 0>;
|
||||
|
||||
reg = <0x0>;
|
||||
cam_vdig-supply = <&pm8950_l3>;
|
||||
cam_vio-supply = <&pm8950_l6>;
|
||||
qcom,cam-vreg-name = "cam_vio";
|
||||
qcom,cam-vreg-min-voltage = <0>;
|
||||
qcom,cam-vreg-max-voltage = <0>;
|
||||
qcom,cam-vreg-op-mode = <0>;
|
||||
qcom,cam-power-seq-type = "sensor_vreg";
|
||||
qcom,cam-power-seq-val = "cam_vio";
|
||||
qcom,cam-power-seq-cfg-val = <1>;
|
||||
qcom,cam-power-seq-delay = <1>;
|
||||
cam_vaf-supply = <&pm8950_l17>;
|
||||
qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vaf";
|
||||
qcom,cam-vreg-min-voltage = <1100000 0 2850000>;
|
||||
qcom,cam-vreg-max-voltage = <1100000 0 2850000>;
|
||||
qcom,cam-vreg-op-mode = <200000 0 100000>;
|
||||
pinctrl-names = "cam_default", "cam_suspend";
|
||||
pinctrl-0 = <&cam_sensor_mclk0_default
|
||||
&cam_sensor_rear_default
|
||||
&cam_sensor_rear_vana>;
|
||||
pinctrl-1 = <&cam_sensor_mclk0_sleep &cam_sensor_rear_sleep
|
||||
&cam_sensor_rear_vana_sleep>;
|
||||
gpios = <&msm_gpio 26 0>,
|
||||
<&msm_gpio 129 0>,
|
||||
<&msm_gpio 35 0>,
|
||||
<&msm_gpio 63 0>;
|
||||
qcom,gpio-reset = <1>;
|
||||
qcom,gpio-standby = <2>;
|
||||
qcom,gpio-vana = <3>;
|
||||
qcom,gpio-req-tbl-num = <0 1 2 3>;
|
||||
qcom,gpio-req-tbl-flags = <1 0 0 0>;
|
||||
qcom,gpio-req-tbl-label = "CAMIF_MCLK0",
|
||||
"CAM_RESET0",
|
||||
"CAM_STANDBY0",
|
||||
"CAM_VANA";
|
||||
qcom,cci-master = <0>;
|
||||
status = "ok";
|
||||
clocks = <&clock_gcc clk_mclk0_clk_src>,
|
||||
<&clock_gcc clk_gcc_camss_mclk0_clk>;
|
||||
clock-names = "cam_src_clk", "cam_clk";
|
||||
};
|
||||
|
||||
eeprom1: qcom,eeprom@1 {
|
||||
cell-index = <1>;
|
||||
reg = <0x1>;
|
||||
qcom,eeprom-name = "sunny_8865";
|
||||
compatible = "qcom,eeprom";
|
||||
qcom,slave-addr = <0x6c>;
|
||||
qcom,cci-master = <0>;
|
||||
qcom,num-blocks = <8>;
|
||||
|
||||
qcom,page0 = <1 0x0100 2 0x01 1 1>;
|
||||
qcom,poll0 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem0 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page1 = <1 0x5002 2 0x00 1 0>;
|
||||
qcom,poll1 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem1 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page2 = <1 0x3d84 2 0xC0 1 0>;
|
||||
qcom,poll2 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem2 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page3 = <1 0x3d88 2 0x70 1 0>;
|
||||
qcom,poll3 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem3 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page4 = <1 0x3d89 2 0x10 1 0>;
|
||||
qcom,poll4 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem4 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page5 = <1 0x3d8A 2 0x70 1 0>;
|
||||
qcom,poll5 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem5 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page6 = <1 0x3d8B 2 0xf4 1 0>;
|
||||
qcom,poll6 = <0 0x0 2 0x0 1 0>;
|
||||
qcom,mem6 = <0 0x0 2 0x0 1 0>;
|
||||
|
||||
qcom,page7 = <1 0x3d81 2 0x01 1 10>;
|
||||
qcom,poll7 = <0 0x0 2 0x0 1 1>;
|
||||
qcom,mem7 = <1536 0x7010 2 0 1 0>;
|
||||
|
||||
reg = <0x1>;
|
||||
cam_vdig-supply = <&pm8950_l23>;
|
||||
cam_vana-supply = <&pm8950_l22>;
|
||||
cam_vio-supply = <&pm8950_l6>;
|
||||
|
@ -136,12 +110,9 @@
|
|||
qcom,gpio-req-tbl-label = "CAMIF_MCLK2",
|
||||
"CAM_RESET2",
|
||||
"CAM_STANDBY2";
|
||||
qcom,cam-power-seq-type = "sensor_vreg", "sensor_vreg", "sensor_vreg",
|
||||
"sensor_gpio", "sensor_gpio" , "sensor_clk";
|
||||
qcom,cam-power-seq-val = "cam_vdig", "cam_vana", "cam_vio",
|
||||
"sensor_gpio_reset", "sensor_gpio_standby","sensor_cam_mclk";
|
||||
qcom,cam-power-seq-cfg-val = <1 1 1 1 1 24000000>;
|
||||
qcom,cam-power-seq-delay = <1 1 1 30 30 5>;
|
||||
qcom,sensor-position = <1>;
|
||||
qcom,sensor-mode = <0>;
|
||||
qcom,cci-master = <0>;
|
||||
status = "ok";
|
||||
clocks = <&clock_gcc clk_mclk2_clk_src>,
|
||||
<&clock_gcc clk_gcc_camss_mclk2_clk>;
|
||||
|
|
|
@ -35,76 +35,37 @@
|
|||
qcom,cam-vreg-op-mode = <80000>;
|
||||
};
|
||||
|
||||
eeprom0: qcom,eeprom@0{
|
||||
eeprom0: qcom,eeprom@0 {
|
||||
cell-index = <0>;
|
||||
reg = <0x00>;
|
||||
qcom,eeprom-name = "sunny_q13v06k";
|
||||
compatible = "qcom,eeprom";
|
||||
qcom,slave-addr = <0x20>;
|
||||
qcom,cci-master = <0>;
|
||||
qcom,num-blocks = <8>;
|
||||
|
||||
qcom,page0 = <1 0x0100 2 0x01 1 1>;
|
||||
qcom,poll0 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem0 = <0 0x0 2 0 1 0>;
|
||||
qcom,page1 = <1 0x5002 2 0x5 1 1>;
|
||||
qcom,poll1 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem1 = <0 0x0 2 0 1 0>;
|
||||
qcom,page2 = <1 0x3d84 2 0xc0 1 0>;
|
||||
qcom,poll2 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem2 = <0 0x0 2 0 1 0>;
|
||||
qcom,page3 = <1 0x3d88 2 0x7220 2 0>;
|
||||
qcom,poll3 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem3 = <0 0x0 2 0 1 0>;
|
||||
qcom,page4 = <1 0x3d8a 2 0x73BA 2 0>;
|
||||
qcom,poll4 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem4 = <0 0x0 2 0 1 0>;
|
||||
qcom,page5 = <1 0x3d81 2 0x01 1 15>;
|
||||
qcom,poll5 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem5 = <411 0x7220 2 0 1 0>;
|
||||
qcom,page6 = <1 0x5002 2 0x7 1 1>;
|
||||
qcom,poll6 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem6 = <0 0x0 2 0 1 0>;
|
||||
qcom,page7 = <0 0 0 0 0 0>;
|
||||
qcom,poll7 = <0 0 0 0 0 0>;
|
||||
qcom,saddr7 = <0xa0>;
|
||||
qcom,mem7 = <470 0x16ba 2 0 1 0>;
|
||||
|
||||
cam_vdig-supply = <&pm8950_l23>;
|
||||
cam_vana-supply = <&pm8950_l22>;
|
||||
reg = <0x0>;
|
||||
cam_vdig-supply = <&pm8950_l3>;
|
||||
cam_vio-supply = <&pm8950_l6>;
|
||||
cam_vaf-supply = <&pm8950_l17>;
|
||||
qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana",
|
||||
"cam_vaf";
|
||||
qcom,cam-vreg-min-voltage = <1200000 0 2800000 2850000>;
|
||||
qcom,cam-vreg-max-voltage = <1200000 0 2800000 2850000>;
|
||||
qcom,cam-vreg-op-mode = <200000 0 80000 100000>;
|
||||
qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vaf";
|
||||
qcom,cam-vreg-min-voltage = <1100000 0 2850000>;
|
||||
qcom,cam-vreg-max-voltage = <1100000 0 2850000>;
|
||||
qcom,cam-vreg-op-mode = <200000 0 100000>;
|
||||
pinctrl-names = "cam_default", "cam_suspend";
|
||||
pinctrl-0 = <&cam_sensor_mclk0_default
|
||||
&cam_sensor_rear_default>;
|
||||
pinctrl-1 = <&cam_sensor_mclk0_sleep &cam_sensor_rear_sleep>;
|
||||
&cam_sensor_rear_default
|
||||
&cam_sensor_rear_vana>;
|
||||
pinctrl-1 = <&cam_sensor_mclk0_sleep &cam_sensor_rear_sleep
|
||||
&cam_sensor_rear_vana_sleep>;
|
||||
gpios = <&msm_gpio 26 0>,
|
||||
<&msm_gpio 129 0>,
|
||||
<&msm_gpio 35 0>;
|
||||
<&msm_gpio 35 0>,
|
||||
<&msm_gpio 63 0>;
|
||||
qcom,gpio-reset = <1>;
|
||||
qcom,gpio-standby = <2>;
|
||||
qcom,gpio-req-tbl-num = <0 1 2>;
|
||||
qcom,gpio-req-tbl-flags = <1 0 0>;
|
||||
qcom,gpio-req-tbl-label = "MCAM1_MCLK0",
|
||||
"MCAM1_RESET",
|
||||
"MCAM1_STANDBY";
|
||||
|
||||
qcom,cam-power-seq-type = "sensor_vreg",
|
||||
"sensor_vreg", "sensor_vreg",
|
||||
"sensor_clk",
|
||||
"sensor_gpio", "sensor_gpio";
|
||||
qcom,cam-power-seq-val = "cam_vio",
|
||||
"cam_vana", "cam_vdig",
|
||||
"sensor_cam_mclk",
|
||||
"sensor_gpio_reset",
|
||||
"sensor_gpio_standby";
|
||||
qcom,cam-power-seq-cfg-val = <1 1 1 24000000 1 1>;
|
||||
qcom,cam-power-seq-delay = <1 1 5 5 5 10>;
|
||||
qcom,gpio-vana = <3>;
|
||||
qcom,gpio-req-tbl-num = <0 1 2 3>;
|
||||
qcom,gpio-req-tbl-flags = <1 0 0 0>;
|
||||
qcom,gpio-req-tbl-label = "CAMIF_MCLK0",
|
||||
"CAM_RESET0",
|
||||
"CAM_STANDBY0",
|
||||
"CAM_VANA";
|
||||
qcom,cci-master = <0>;
|
||||
status = "ok";
|
||||
clocks = <&clock_gcc clk_mclk0_clk_src>,
|
||||
<&clock_gcc clk_gcc_camss_mclk0_clk>;
|
||||
|
@ -113,44 +74,8 @@
|
|||
|
||||
eeprom1: qcom,eeprom@1{
|
||||
cell-index = <1>;
|
||||
reg = <0x01>;
|
||||
qcom,eeprom-name = "sunny_q5v41b";
|
||||
compatible = "qcom,eeprom";
|
||||
qcom,slave-addr = <0x6c>;
|
||||
qcom,cci-master = <0>;
|
||||
|
||||
qcom,num-blocks = <10>;
|
||||
qcom,page0 = <1 0x0100 2 0x01 1 1>;
|
||||
qcom,poll0 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem0 = <0 0x0 2 0 1 0>;
|
||||
qcom,page1 = <1 0x5002 2 0xa8 1 1>;
|
||||
qcom,poll1 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem1 = <0 0x0 2 0 1 0>;
|
||||
qcom,page2 = <1 0x3d84 2 0xc0 1 1>;
|
||||
qcom,poll2 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem2 = <0 0x0 2 0 1 0>;
|
||||
qcom,page3 = <1 0x3d88 2 0x70 1 1>;
|
||||
qcom,poll3 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem3 = <0 0x3d00 2 0 1 0>;
|
||||
qcom,page4 = <1 0x3d89 2 0x10 1 1>;
|
||||
qcom,poll4 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem4 = <0 0x3d00 2 0 1 0>;
|
||||
qcom,page5 = <1 0x3d8a 2 0x70 1 1>;
|
||||
qcom,poll5 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem5 = <0 0x3d00 2 0 1 0>;
|
||||
qcom,page6 = <1 0x3d8b 2 0x29 1 1>;
|
||||
qcom,poll6 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem6 = <0 0x3d00 2 0 1 0>;
|
||||
qcom,page7 = <1 0x3d81 2 0x01 1 5>;
|
||||
qcom,poll7 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem7 = <26 0x7010 2 0 1 1>;
|
||||
qcom,page8 = <1 0x5002 2 0xaa 1 1>;
|
||||
qcom,poll8 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem8 = <0 0x0 2 0 1 0>;
|
||||
qcom,page9 = <1 0x0100 2 0x00 1 1>;
|
||||
qcom,poll9 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem9 = <0 0x0 2 0 1 0>;
|
||||
|
||||
reg = <0x01>;
|
||||
cam_vdig-supply = <&pm8950_l23>;
|
||||
cam_vana-supply = <&pm8950_l22>;
|
||||
cam_vio-supply = <&pm8950_l6>;
|
||||
|
@ -175,84 +100,8 @@
|
|||
qcom,gpio-req-tbl-label = "SCAM_MCLK2",
|
||||
"SCAM_RESET",
|
||||
"SCAM_STANDBY";
|
||||
|
||||
qcom,cam-power-seq-type = "sensor_vreg",
|
||||
"sensor_vreg", "sensor_vreg",
|
||||
"sensor_gpio", "sensor_gpio",
|
||||
"sensor_clk";
|
||||
qcom,cam-power-seq-val = "cam_vio",
|
||||
"cam_vana", "cam_vdig",
|
||||
"sensor_gpio_reset",
|
||||
"sensor_gpio_standby",
|
||||
"sensor_cam_mclk" ;
|
||||
qcom,cam-power-seq-cfg-val = <1 1 1 1 1 24000000>;
|
||||
qcom,cam-power-seq-delay = <10 10 10 10 10 5>;
|
||||
|
||||
clocks = <&clock_gcc clk_mclk2_clk_src>,
|
||||
<&clock_gcc clk_gcc_camss_mclk2_clk>;
|
||||
clock-names = "cam_src_clk", "cam_clk";
|
||||
};
|
||||
|
||||
eeprom2: qcom,eeprom@2{
|
||||
cell-index = <2>;
|
||||
reg = <0x02>;
|
||||
qcom,eeprom-name = "truly_cma481";
|
||||
compatible = "qcom,eeprom";
|
||||
qcom,slave-addr = <0x6c>;
|
||||
qcom,cci-master = <0>;
|
||||
|
||||
qcom,num-blocks = <4>;
|
||||
qcom,page0 = <1 0x0100 2 0x01 1 1>;
|
||||
qcom,poll0 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem0 = <0 0x0 2 0 1 0>;
|
||||
qcom,page1 = <1 0x3d84 2 0xc0 1 1>;
|
||||
qcom,poll1 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem1 = <0 0x3d00 2 0 1 0>;
|
||||
qcom,page2 = <1 0x3d88 2 0x7010 2 1>;
|
||||
qcom,poll2 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem2 = <0 0x3d00 2 0 1 0>;
|
||||
qcom,page3 = <1 0x3d8A 2 0x720a 2 1>;
|
||||
qcom,pageen3 = <1 0x3d81 2 0x01 1 10>;
|
||||
qcom,poll3 = <0 0x0 2 0 1 1>;
|
||||
qcom,mem3 = <507 0x7010 2 0 1 1>;
|
||||
|
||||
cam_vdig-supply = <&pm8950_l23>;
|
||||
cam_vana-supply = <&pm8950_l22>;
|
||||
cam_vio-supply = <&pm8950_l6>;
|
||||
cam_vaf-supply = <&pm8950_l17>;
|
||||
qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana", "cam_vaf";
|
||||
qcom,cam-vreg-min-voltage = <1200000 0 2800000 2850000>;
|
||||
qcom,cam-vreg-max-voltage = <1200000 0 2800000 2850000>;
|
||||
qcom,cam-vreg-op-mode = <105000 0 80000 100000>;
|
||||
qcom,gpio-no-mux = <0>;
|
||||
pinctrl-names = "cam_default", "cam_suspend";
|
||||
pinctrl-0 = <&cam_sensor_mclk2_default
|
||||
&cam_sensor_front1_default>;
|
||||
pinctrl-1 = <&cam_sensor_mclk2_sleep
|
||||
&cam_sensor_front1_sleep>;
|
||||
gpios = <&msm_gpio 28 0>,
|
||||
<&msm_gpio 131 0>,
|
||||
<&msm_gpio 38 0>;
|
||||
qcom,gpio-reset = <1>;
|
||||
qcom,gpio-standby = <2>;
|
||||
qcom,gpio-req-tbl-num = <0 1 2>;
|
||||
qcom,gpio-req-tbl-flags = <1 0 0>;
|
||||
qcom,gpio-req-tbl-label = "SCAM_MCLK2",
|
||||
"SCAM_RESET",
|
||||
"SCAM_STANDBY";
|
||||
|
||||
qcom,cam-power-seq-type = "sensor_vreg",
|
||||
"sensor_vreg", "sensor_vreg",
|
||||
"sensor_gpio", "sensor_gpio",
|
||||
"sensor_clk";
|
||||
qcom,cam-power-seq-val = "cam_vio",
|
||||
"cam_vana", "cam_vdig",
|
||||
"sensor_gpio_reset",
|
||||
"sensor_gpio_standby",
|
||||
"sensor_cam_mclk" ;
|
||||
qcom,cam-power-seq-cfg-val = <1 1 1 1 1 24000000>;
|
||||
qcom,cam-power-seq-delay = <10 10 10 10 10 5>;
|
||||
|
||||
status = "ok";
|
||||
clocks = <&clock_gcc clk_mclk2_clk_src>,
|
||||
<&clock_gcc clk_gcc_camss_mclk2_clk>;
|
||||
clock-names = "cam_src_clk", "cam_clk";
|
||||
|
@ -346,7 +195,7 @@
|
|||
qcom,csiphy-sd-index = <1>;
|
||||
qcom,csid-sd-index = <1>;
|
||||
qcom,mount-angle = <270>;
|
||||
qcom,eeprom-src = <&eeprom1 &eeprom2>;
|
||||
qcom,eeprom-src = <&eeprom1>;
|
||||
cam_vdig-supply = <&pm8950_l23>;
|
||||
cam_vana-supply = <&pm8950_l22>;
|
||||
cam_vio-supply = <&pm8950_l6>;
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -41,10 +41,10 @@ struct msm_eeprom_ctrl_t {
|
|||
enum i2c_freq_mode_t i2c_freq_mode;
|
||||
|
||||
struct msm_camera_i2c_client i2c_client;
|
||||
struct msm_eeprom_memory_block_t cal_data;
|
||||
uint8_t is_supported;
|
||||
struct msm_eeprom_board_info *eboard_info;
|
||||
uint32_t subdev_id;
|
||||
uint8_t *read_mem;
|
||||
int32_t read_data_size;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -149,14 +149,11 @@ static int32_t msm_sensor_fill_eeprom_subdevid_by_name(
|
|||
struct msm_sensor_ctrl_t *s_ctrl)
|
||||
{
|
||||
int32_t rc = 0;
|
||||
const char *eeprom_name;
|
||||
struct device_node *src_node = NULL;
|
||||
uint32_t val = 0, count = 0, eeprom_name_len;
|
||||
int i;
|
||||
uint32_t val = 0, eeprom_name_len;
|
||||
int32_t *eeprom_subdev_id;
|
||||
struct msm_sensor_info_t *sensor_info;
|
||||
struct device_node *of_node = s_ctrl->of_node;
|
||||
const void *p;
|
||||
|
||||
if (!s_ctrl->sensordata->eeprom_name || !of_node)
|
||||
return -EINVAL;
|
||||
|
@ -176,47 +173,26 @@ static int32_t msm_sensor_fill_eeprom_subdevid_by_name(
|
|||
if (0 == eeprom_name_len)
|
||||
return 0;
|
||||
|
||||
CDBG("Try to find eeprom subdev for %s\n",
|
||||
s_ctrl->sensordata->eeprom_name);
|
||||
p = of_get_property(of_node, "qcom,eeprom-src", &count);
|
||||
if (!p || !count)
|
||||
return 0;
|
||||
|
||||
count /= sizeof(uint32_t);
|
||||
for (i = 0; i < count; i++) {
|
||||
eeprom_name = NULL;
|
||||
src_node = of_parse_phandle(of_node, "qcom,eeprom-src", i);
|
||||
if (!src_node) {
|
||||
pr_err("eeprom src node NULL\n");
|
||||
continue;
|
||||
}
|
||||
rc = of_property_read_string(src_node, "qcom,eeprom-name",
|
||||
&eeprom_name);
|
||||
if (rc < 0) {
|
||||
pr_err("failed\n");
|
||||
of_node_put(src_node);
|
||||
continue;
|
||||
}
|
||||
if (strcmp(eeprom_name, s_ctrl->sensordata->eeprom_name))
|
||||
continue;
|
||||
|
||||
rc = of_property_read_u32(src_node, "cell-index", &val);
|
||||
|
||||
CDBG("%s qcom,eeprom cell index %d, rc %d\n", __func__,
|
||||
val, rc);
|
||||
if (rc < 0) {
|
||||
pr_err("failed\n");
|
||||
of_node_put(src_node);
|
||||
continue;
|
||||
}
|
||||
|
||||
*eeprom_subdev_id = val;
|
||||
CDBG("Done. Eeprom subdevice id is %d\n", val);
|
||||
of_node_put(src_node);
|
||||
src_node = NULL;
|
||||
break;
|
||||
src_node = of_parse_phandle(of_node, "qcom,eeprom-src", 0);
|
||||
if (!src_node) {
|
||||
pr_err("eeprom src node NULL\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
rc = of_property_read_u32(src_node, "cell-index", &val);
|
||||
if (rc < 0) {
|
||||
pr_err("%s qcom,eeprom cell index %d, rc %d\n",
|
||||
__func__, val, rc);
|
||||
of_node_put(src_node);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
*eeprom_subdev_id = val;
|
||||
CDBG("%s:%d Eeprom subdevice id is %d\n",
|
||||
__func__, __LINE__, val);
|
||||
of_node_put(src_node);
|
||||
src_node = NULL;
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
|
|
@ -261,6 +261,7 @@ enum eeprom_cfg_type_t {
|
|||
CFG_EEPROM_READ_CAL_DATA,
|
||||
CFG_EEPROM_WRITE_DATA,
|
||||
CFG_EEPROM_GET_MM_INFO,
|
||||
CFG_EEPROM_INIT,
|
||||
};
|
||||
|
||||
struct eeprom_get_t {
|
||||
|
@ -283,6 +284,12 @@ struct eeprom_get_cmm_t {
|
|||
uint32_t cmm_size;
|
||||
};
|
||||
|
||||
struct msm_eeprom_info_t {
|
||||
struct msm_sensor_power_setting_array *power_setting_array;
|
||||
enum i2c_freq_mode_t i2c_freq_mode;
|
||||
struct msm_eeprom_memory_map_array *mem_map_array;
|
||||
};
|
||||
|
||||
struct msm_eeprom_cfg_data {
|
||||
enum eeprom_cfg_type_t cfgtype;
|
||||
uint8_t is_supported;
|
||||
|
@ -292,6 +299,7 @@ struct msm_eeprom_cfg_data {
|
|||
struct eeprom_read_t read_data;
|
||||
struct eeprom_write_t write_data;
|
||||
struct eeprom_get_cmm_t get_cmm_data;
|
||||
struct msm_eeprom_info_t eeprom_info;
|
||||
} cfg;
|
||||
};
|
||||
|
||||
|
@ -370,6 +378,12 @@ struct eeprom_write_t32 {
|
|||
uint32_t num_bytes;
|
||||
};
|
||||
|
||||
struct msm_eeprom_info_t32 {
|
||||
compat_uptr_t power_setting_array;
|
||||
enum i2c_freq_mode_t i2c_freq_mode;
|
||||
compat_uptr_t mem_map_array;
|
||||
};
|
||||
|
||||
struct msm_eeprom_cfg_data32 {
|
||||
enum eeprom_cfg_type_t cfgtype;
|
||||
uint8_t is_supported;
|
||||
|
@ -378,6 +392,7 @@ struct msm_eeprom_cfg_data32 {
|
|||
struct eeprom_get_t get_data;
|
||||
struct eeprom_read_t32 read_data;
|
||||
struct eeprom_write_t32 write_data;
|
||||
struct msm_eeprom_info_t32 eeprom_info;
|
||||
} cfg;
|
||||
};
|
||||
|
||||
|
|
|
@ -33,6 +33,9 @@
|
|||
#define MAX_NAME_SIZE 32
|
||||
#define MAX_LED_TRIGGERS 3
|
||||
|
||||
#define MSM_EEPROM_MEMORY_MAP_MAX_SIZE 80
|
||||
#define MSM_EEPROM_MAX_MEM_MAP_CNT 8
|
||||
|
||||
enum msm_sensor_camera_id_t {
|
||||
CAMERA_0,
|
||||
CAMERA_1,
|
||||
|
@ -204,6 +207,11 @@ struct msm_sensor_power_setting_array {
|
|||
unsigned short size_down;
|
||||
};
|
||||
|
||||
enum msm_camera_i2c_operation {
|
||||
MSM_CAM_WRITE = 0,
|
||||
MSM_CAM_POLL,
|
||||
MSM_CAM_READ,
|
||||
};
|
||||
|
||||
struct msm_sensor_i2c_sync_params {
|
||||
unsigned int cid;
|
||||
|
@ -212,6 +220,27 @@ struct msm_sensor_i2c_sync_params {
|
|||
unsigned short delay;
|
||||
};
|
||||
|
||||
struct msm_camera_reg_settings_t {
|
||||
uint16_t reg_addr;
|
||||
enum msm_camera_i2c_reg_addr_type addr_type;
|
||||
uint16_t reg_data;
|
||||
enum msm_camera_i2c_data_type data_type;
|
||||
enum msm_camera_i2c_operation i2c_operation;
|
||||
uint16_t delay;
|
||||
};
|
||||
|
||||
struct msm_eeprom_mem_map_t {
|
||||
int slave_addr;
|
||||
struct msm_camera_reg_settings_t
|
||||
mem_settings[MSM_EEPROM_MEMORY_MAP_MAX_SIZE];
|
||||
int memory_map_size;
|
||||
};
|
||||
|
||||
struct msm_eeprom_memory_map_array {
|
||||
struct msm_eeprom_mem_map_t memory_map[MSM_EEPROM_MAX_MEM_MAP_CNT];
|
||||
uint32_t msm_size_of_max_mappings;
|
||||
};
|
||||
|
||||
struct msm_sensor_init_params {
|
||||
/* mask of modes supported: 2D, 3D */
|
||||
int modes_supported;
|
||||
|
|
Loading…
Reference in New Issue