Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ec971dd4 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: camera: Add eeprom multi module design"

parents f9e6b2e9 d712be12
Loading
Loading
Loading
Loading
+0 −45
Original line number Diff line number Diff line
@@ -11,24 +11,7 @@ Required properties:
- compatible :
    - "qcom,eeprom"
- reg : offset of eeprom device registers.
- qcom,eeprom-name : should specify relevant names of the eeprom module
    library.
- qcom,slave-addr : should specify the slave address of the eeprom.
- qcom,cci-master : should specify the cci core index that eeprom use.
- qcom,num-blocks : should specify the total block number that eeprom contains,
    every block should contains page poll and mem.
- qcom,page%d : number %d page size, start address, address type, data,
    data type, delay in ms. size 0 stand for non-paged.
    - address type : 1 byte, 2 word.
    - data type : 1 byte, 2 word.
- qcom,poll%d : number %d poll size, poll reg address, address type, data,
    data type, delay in ms. size 0 stand for not used.
    - address type : 1 byte, 2 word.
    - data type : 1 byte, 2 word.
- qcom,mem%d : number %d memory size, start address, address type, data,
    data type, delay in ms. size 0 stand for not used.
    - address type : 1 byte, 2 word.
    - data type : 1 byte, 2 word.
- cam_vio-supply : should contain regulator to be used for the IO vdd.
- qcom,cam-vreg-name : should specify the regulator name to be used for
    this eeprom.
@@ -54,43 +37,15 @@ Required properties:
    time in ms.

Optional properties:
- qcom,pageen%d : number %d page enable reg size, start address, address type,
    data, data type, delay in ms. size 0 stand for not used.
- cam_vdig-supply : should contain regulator to be used for the digital vdd.
- qcom,saddr%d : property should specify the slave address for block (%d).
- qcom,i2c-freq-mode : property should specify the I2C speed mode.

Optional properties -EEPROM Camera Multimodule
- qcom,cmm-data-support - Camera MultiModule data capability flag.
- qcom,cmm-data-compressed - Camera MultiModule data compresion flag.
- qcom,cmm-data-offset - Camera MultiModule data start offset.
- qcom,cmm-data-size - Camera MultiModule data size.


Example:

    eeprom0: qcom,eeprom@60 {
        cell-index = <0>;
        reg = <0x60 0x0>;
        qcom,eeprom-name = "msm_eeprom";
        compatible = "qcom,eeprom";
        qcom,slave-addr = <0x60>;
        qcom,cci-master = <0>;
        qcom,num-blocks = <2>;
        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 0x0200 2 0x8 1 1>;
        qcom,pageen1 = <1 0x0202 2 0x01 1 10>;
        qcom,poll1 = <0 0x0 2 0 1 1>;
        qcom,mem1 = <32 0x3000 2 0 1 0>;
        qcom,saddr1 = <0x62>;

	qcom,cmm-data-support;
	qcom,cmm-data-compressed;
	qcom,cmm-data-offset = <0>;
	qcom,cmm-data-size = <0>;

        cam_vdig-supply = <&pm8226_l5>;
        cam_vio-supply = <&pm8226_lvs1>;
        qcom,cam-vreg-name = "cam_vdig", "cam_vio";
+36 −255
Original line number Diff line number Diff line
@@ -49,250 +49,8 @@
	eeprom0: qcom,eeprom@0 {
		cell-index = <0>;
		reg = <0>;
		qcom,eeprom-name = "onsemi_cat24c32";
		compatible = "qcom,eeprom";
		qcom,slave-addr = <0xa0>;
		qcom,i2c-freq-mode = <1>;
		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 = <2245 0x00 2 0 1 0>;

		cam_vio-supply = <&pm8994_lvs1>;
		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>;
	};

	eeprom1: qcom,eeprom@1 {
		cell-index = <1>;
		reg = <0x1>;
		qcom,eeprom-name = "onsemi_cat24c16";
		compatible = "qcom,eeprom";
		qcom,slave-addr = <0xa0>;
		qcom,i2c-freq-mode = <1>;
		qcom,cci-master = <1>;
		qcom,num-blocks = <7>;

		qcom,page0 = <0 0 0 0 0 0>;
		qcom,poll0 = <0 0 0 0 0 0>;
		qcom,saddr0 = <0xa0>;
		qcom,mem0 = <256 0x00 1 0 1 0>;

		qcom,page1 = <0 0 0 0 0 0>;
		qcom,poll1 = <0 0 0 0 0 0>;
		qcom,saddr1 = <0xa2>;
		qcom,mem1 = <256 0x00 1 0 1 0>;

		qcom,page2 = <0 0 0 0 0 0>;
		qcom,poll2 = <0 0 0 0 0 0>;
		qcom,saddr2 = <0xa4>;
		qcom,mem2 = <256 0x00 1 0 1 0>;

		qcom,page3 = <0 0 0 0 0 0>;
		qcom,poll3 = <0 0 0 0 0 0>;
		qcom,saddr3 = <0xa6>;
		qcom,mem3 = <256 0x00 1 0 1 0>;

		qcom,page4 = <0 0 0 0 0 0>;
		qcom,poll4 = <0 0 0 0 0 0>;
		qcom,saddr4 = <0xa8>;
		qcom,mem4 = <256 0x00 1 0 1 0>;

		qcom,page5 = <0 0 0 0 0 0>;
		qcom,poll5 = <0 0 0 0 0 0>;
		qcom,saddr5 = <0xaa>;
		qcom,mem5 = <256 0x00 1 0 1 0>;

		qcom,page6 = <0 0 0 0 0 0>;
		qcom,poll6 = <0 0 0 0 0 0>;
		qcom,saddr6 = <0xac>;
		qcom,mem6 = <254 0x00 1 0 1 0>;

		cam_vio-supply = <&pm8994_lvs1>;
		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>;
	};

	eeprom2: qcom,eeprom@2 {
		cell-index = <2>;
		reg = <2>;
		qcom,eeprom-name = "imx258_gt24c16";
		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 = <2160 0x00 2 0 1 0>;

		cam_vio-supply = <&pm8994_lvs1>;
		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";
	};

	eeprom3: qcom,eeprom@3 {
		cell-index = <3>;
		reg = <0x3>;
		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 = <&pm8994_s3>;
		cam_vio-supply = <&pm8994_lvs1>;
		cam_vana-supply = <&pm8994_l17>;
@@ -317,20 +75,43 @@
		qcom,gpio-req-tbl-label = "CAMIF_MCLK0",
					  "CAM_RESET0",
					  "CAM_STANDBY0";
		qcom,cam-power-seq-type = "sensor_vreg", "sensor_vreg",
			"sensor_vreg", "sensor_vreg", "sensor_gpio",
			"sensor_gpio", "sensor_clk";
		qcom,cam-power-seq-val = "cam_vdig", "cam_vana", "cam_vio",
			"cam_vaf", "sensor_gpio_reset", "sensor_gpio_standby",
			"sensor_cam_mclk";
		qcom,cam-power-seq-cfg-val = <1 1 1 1 1 1 24000000>;
		qcom,cam-power-seq-delay = <1 1 1 1 30 30 5>;
		status = "ok";
		clocks = <&clock_mmss clk_mclk0_clk_src>,
			<&clock_mmss clk_camss_mclk0_clk>;
		clock-names = "cam_src_clk", "cam_clk";
	};

	eeprom1: qcom,eeprom@1 {
		cell-index = <1>;
		reg = <0x1>;
		compatible = "qcom,eeprom";
		qcom,cci-master = <1>;
		cam_vdig-supply = <&pm8994_l27>;
		cam_vio-supply = <&pm8994_lvs1>;
		cam_vana-supply = <&pm8994_l29>;
		qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana";
		qcom,cam-vreg-min-voltage = <1000000 0 2800000>;
		qcom,cam-vreg-max-voltage = <1000000 0 2800000>;
		qcom,cam-vreg-op-mode = <105000 0 80000>;
		qcom,gpio-no-mux = <0>;
		pinctrl-names = "cam_default", "cam_suspend";
		pinctrl-0 = <&cam_sensor_mclk2_active &cam_sensor_front_active>;
		pinctrl-1 = <&cam_sensor_mclk2_suspend
			&cam_sensor_front_suspend>;
		gpios = <&tlmm 15 0>,
			<&tlmm 23 0>,
			<&tlmm 26 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";
		clocks = <&clock_mmss clk_mclk2_clk_src>,
			<&clock_mmss clk_camss_mclk2_clk>;
		clock-names = "cam_src_clk", "cam_clk";
	};

	qcom,camera@0 {
		cell-index = <0>;
		compatible = "qcom,camera";
@@ -340,7 +121,7 @@
		qcom,mount-angle = <0>;
		qcom,led-flash-src = <&led_flash0>;
		qcom,actuator-src = <&actuator0>;
		qcom,eeprom-src = <&eeprom0 &eeprom2 &eeprom3>;
		qcom,eeprom-src = <&eeprom0>;
		cam_vdig-supply = <&pm8994_s3>;
		cam_vio-supply = <&pm8994_lvs1>;
		cam_vana-supply = <&pm8994_l17>;
+48 −63
Original line number Diff line number Diff line
@@ -49,80 +49,65 @@
	eeprom0: qcom,eeprom@0 {
		cell-index = <0>;
		reg = <0>;
		qcom,eeprom-name = "onsemi_cat24c32";
		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 = <2245 0x00 2 0 1 0>;

		cam_vdig-supply = <&pm8994_s3>;
		cam_vio-supply = <&pm8994_lvs1>;
		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_vana-supply = <&pm8994_l17>;
		qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana";
		qcom,cam-vreg-min-voltage = <1300000 0 2500000>;
		qcom,cam-vreg-max-voltage = <1300000 0 2500000>;
		qcom,cam-vreg-op-mode = <105000 0 80000>;
		qcom,gpio-no-mux = <0>;
		pinctrl-names = "cam_default", "cam_suspend";
		pinctrl-0 = <&cam_sensor_mclk0_active &cam_sensor_rear_active>;
		pinctrl-1 = <&cam_sensor_mclk0_suspend
			&cam_sensor_rear_suspend>;
		gpios = <&tlmm 13 0>,
			<&tlmm 30 0>,
			<&tlmm 29 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";
		clocks = <&clock_mmss clk_mclk0_clk_src>,
				<&clock_mmss clk_camss_mclk0_clk>;
		clock-names = "cam_src_clk", "cam_clk";
	};

	eeprom1: qcom,eeprom@1 {
		cell-index = <1>;
		reg = <0x1>;
		qcom,eeprom-name = "onsemi_cat24c16";
		compatible = "qcom,eeprom";
		qcom,slave-addr = <0xa0>;
		qcom,cci-master = <1>;
		qcom,num-blocks = <7>;

		qcom,page0 = <0 0 0 0 0 0>;
		qcom,poll0 = <0 0 0 0 0 0>;
		qcom,saddr0 = <0xa0>;
		qcom,mem0 = <256 0x00 1 0 1 0>;

		qcom,page1 = <0 0 0 0 0 0>;
		qcom,poll1 = <0 0 0 0 0 0>;
		qcom,saddr1 = <0xa2>;
		qcom,mem1 = <256 0x00 1 0 1 0>;

		qcom,page2 = <0 0 0 0 0 0>;
		qcom,poll2 = <0 0 0 0 0 0>;
		qcom,saddr2 = <0xa4>;
		qcom,mem2 = <256 0x00 1 0 1 0>;

		qcom,page3 = <0 0 0 0 0 0>;
		qcom,poll3 = <0 0 0 0 0 0>;
		qcom,saddr3 = <0xa6>;
		qcom,mem3 = <256 0x00 1 0 1 0>;

		qcom,page4 = <0 0 0 0 0 0>;
		qcom,poll4 = <0 0 0 0 0 0>;
		qcom,saddr4 = <0xa8>;
		qcom,mem4 = <256 0x00 1 0 1 0>;

		qcom,page5 = <0 0 0 0 0 0>;
		qcom,poll5 = <0 0 0 0 0 0>;
		qcom,saddr5 = <0xaa>;
		qcom,mem5 = <256 0x00 1 0 1 0>;

		qcom,page6 = <0 0 0 0 0 0>;
		qcom,poll6 = <0 0 0 0 0 0>;
		qcom,saddr6 = <0xac>;
		qcom,mem6 = <254 0x00 1 0 1 0>;

		cam_vdig-supply = <&pm8994_l27>;
		cam_vio-supply = <&pm8994_lvs1>;
		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_vana-supply = <&pm8994_l29>;
		qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana";
		qcom,cam-vreg-min-voltage = <1000000 0 2800000>;
		qcom,cam-vreg-max-voltage = <1000000 0 2800000>;
		qcom,cam-vreg-op-mode = <105000 0 80000>;
		qcom,gpio-no-mux = <0>;
		pinctrl-names = "cam_default", "cam_suspend";
		pinctrl-0 = <&cam_sensor_mclk2_active &cam_sensor_front_active>;
		pinctrl-1 = <&cam_sensor_mclk2_suspend
			&cam_sensor_front_suspend>;
		gpios = <&tlmm 15 0>,
			<&tlmm 23 0>,
			<&tlmm 26 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";
		clocks = <&clock_mmss clk_mclk2_clk_src>,
			<&clock_mmss clk_camss_mclk2_clk>;
		clock-names = "cam_src_clk", "cam_clk";
	};

	qcom,camera@0 {
+35 −254
Original line number Diff line number Diff line
@@ -49,250 +49,8 @@
	eeprom0: qcom,eeprom@0 {
		cell-index = <0>;
		reg = <0>;
		qcom,eeprom-name = "onsemi_cat24c32";
		compatible = "qcom,eeprom";
		qcom,slave-addr = <0xa0>;
		qcom,i2c-freq-mode = <1>;
		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 = <2245 0x00 2 0 1 0>;

		cam_vio-supply = <&pm8994_lvs1>;
		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>;
	};

	eeprom1: qcom,eeprom@1 {
		cell-index = <1>;
		reg = <0x1>;
		qcom,eeprom-name = "onsemi_cat24c16";
		compatible = "qcom,eeprom";
		qcom,slave-addr = <0xa0>;
		qcom,i2c-freq-mode = <1>;
		qcom,cci-master = <1>;
		qcom,num-blocks = <7>;

		qcom,page0 = <0 0 0 0 0 0>;
		qcom,poll0 = <0 0 0 0 0 0>;
		qcom,saddr0 = <0xa0>;
		qcom,mem0 = <256 0x00 1 0 1 0>;

		qcom,page1 = <0 0 0 0 0 0>;
		qcom,poll1 = <0 0 0 0 0 0>;
		qcom,saddr1 = <0xa2>;
		qcom,mem1 = <256 0x00 1 0 1 0>;

		qcom,page2 = <0 0 0 0 0 0>;
		qcom,poll2 = <0 0 0 0 0 0>;
		qcom,saddr2 = <0xa4>;
		qcom,mem2 = <256 0x00 1 0 1 0>;

		qcom,page3 = <0 0 0 0 0 0>;
		qcom,poll3 = <0 0 0 0 0 0>;
		qcom,saddr3 = <0xa6>;
		qcom,mem3 = <256 0x00 1 0 1 0>;

		qcom,page4 = <0 0 0 0 0 0>;
		qcom,poll4 = <0 0 0 0 0 0>;
		qcom,saddr4 = <0xa8>;
		qcom,mem4 = <256 0x00 1 0 1 0>;

		qcom,page5 = <0 0 0 0 0 0>;
		qcom,poll5 = <0 0 0 0 0 0>;
		qcom,saddr5 = <0xaa>;
		qcom,mem5 = <256 0x00 1 0 1 0>;

		qcom,page6 = <0 0 0 0 0 0>;
		qcom,poll6 = <0 0 0 0 0 0>;
		qcom,saddr6 = <0xac>;
		qcom,mem6 = <254 0x00 1 0 1 0>;

		cam_vio-supply = <&pm8994_lvs1>;
		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>;
	};

	eeprom2: qcom,eeprom@2 {
		cell-index = <2>;
		reg = <2>;
		qcom,eeprom-name = "imx258_gt24c16";
		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 = <2160 0x00 2 0 1 0>;

		cam_vio-supply = <&pm8994_lvs1>;
		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";
	};

	eeprom3: qcom,eeprom@3 {
		cell-index = <3>;
		reg = <0x3>;
		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 = <&pm8994_s3>;
		cam_vio-supply = <&pm8994_lvs1>;
		cam_vana-supply = <&pm8994_l17>;
@@ -317,20 +75,43 @@
		qcom,gpio-req-tbl-label = "CAMIF_MCLK0",
					  "CAM_RESET0",
					  "CAM_STANDBY0";
		qcom,cam-power-seq-type = "sensor_vreg", "sensor_vreg",
			"sensor_vreg", "sensor_vreg", "sensor_gpio",
			"sensor_gpio", "sensor_clk";
		qcom,cam-power-seq-val = "cam_vdig", "cam_vana", "cam_vio",
			"cam_vaf", "sensor_gpio_reset", "sensor_gpio_standby",
			"sensor_cam_mclk";
		qcom,cam-power-seq-cfg-val = <1 1 1 1 1 1 24000000>;
		qcom,cam-power-seq-delay = <1 1 1 1 30 30 5>;
		status = "ok";
		clocks = <&clock_mmss clk_mclk0_clk_src>,
				<&clock_mmss clk_camss_mclk0_clk>;
		clock-names = "cam_src_clk", "cam_clk";
	};

	eeprom1: qcom,eeprom@1 {
		cell-index = <1>;
		reg = <0x1>;
		compatible = "qcom,eeprom";
		qcom,cci-master = <1>;
		cam_vdig-supply = <&pm8994_l27>;
		cam_vio-supply = <&pm8994_lvs1>;
		cam_vana-supply = <&pm8994_l29>;
		qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana";
		qcom,cam-vreg-min-voltage = <1000000 0 2800000>;
		qcom,cam-vreg-max-voltage = <1000000 0 2800000>;
		qcom,cam-vreg-op-mode = <105000 0 80000>;
		qcom,gpio-no-mux = <0>;
		pinctrl-names = "cam_default", "cam_suspend";
		pinctrl-0 = <&cam_sensor_mclk2_active &cam_sensor_front_active>;
		pinctrl-1 = <&cam_sensor_mclk2_suspend
			&cam_sensor_front_suspend>;
		gpios = <&tlmm 15 0>,
			<&tlmm 23 0>,
			<&tlmm 26 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";
		clocks = <&clock_mmss clk_mclk2_clk_src>,
			<&clock_mmss clk_camss_mclk2_clk>;
		clock-names = "cam_src_clk", "cam_clk";
	};

	qcom,camera@0 {
		cell-index = <0>;
		compatible = "qcom,camera";
@@ -340,7 +121,7 @@
		qcom,mount-angle = <90>;
		qcom,led-flash-src = <&led_flash0>;
		qcom,actuator-src = <&actuator0>;
		qcom,eeprom-src = <&eeprom0 &eeprom2 &eeprom3>;
		qcom,eeprom-src = <&eeprom0>;
		cam_vdig-supply = <&pm8994_s3>;
		cam_vio-supply = <&pm8994_lvs1>;
		cam_vana-supply = <&pm8994_l17>;
+501 −474

File changed.

Preview size limit exceeded, changes collapsed.

Loading