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

Commit d29d050f authored by yungwenpeng's avatar yungwenpeng
Browse files

Merge branch vanilla into r2.0_00018.0

* ssh://ch-git3.arimacomm.com.tw:29418/kernel/msm-4.9:
  Implement AB partition on Android Q
  Merge audio function from 8901_P.
  Enable step-charging for Kayo battery
  To fix phone can not charge fully
  Camera kernel patching from P codebase

Change-Id: I6a624e32d73de029245a4f7d96d2b88855809b5b
parents 66451f26 e12be408
Loading
Loading
Loading
Loading
+10 −7
Original line number Diff line number Diff line
@@ -115,19 +115,22 @@
			qcom,msm-mi2s-tx-lines = <2>;
		};

		dai_mi2s4: qcom,msm-dai-q6-mi2s-quin {
//[FairPhone][Audio][jinjia]=2018.11.21=smart amp porting. -s
		dai_mi2s4: qcom,msm-dai-q6-mi2s-senary {
			compatible = "qcom,msm-dai-q6-mi2s";
			qcom,msm-dai-q6-mi2s-dev-id = <4>;
			qcom,msm-mi2s-rx-lines = <1>;
			qcom,msm-mi2s-tx-lines = <2>;
			qcom,msm-mi2s-rx-lines = <3>;
			qcom,msm-mi2s-tx-lines = <0>;
		};

		dai_mi2s5: qcom,msm-dai-q6-mi2s-senary {
		dai_mi2s5: qcom,msm-dai-q6-mi2s-quin {
			compatible = "qcom,msm-dai-q6-mi2s";
			qcom,msm-dai-q6-mi2s-dev-id = <6>;
			qcom,msm-mi2s-rx-lines = <0>;
			qcom,msm-mi2s-tx-lines = <3>;
			qcom,msm-dai-q6-mi2s-dev-id = <4>;
			qcom,msm-mi2s-rx-lines = <3>;
			qcom,msm-mi2s-tx-lines = <0>;
		};
//[FairPhone][Audio][jinjia]=2018.11.21=smart amp porting. -e

	};

	lsm: qcom,msm-lsm-client {
+46 −29
Original line number Diff line number Diff line
@@ -36,7 +36,7 @@
	};

	int_codec: sound {
		status = "okay";
		status = "disabled";
		compatible = "qcom,msm8952-audio-codec";
		qcom,model = "msm8953-snd-card-mtp";
		reg = <0xc051000 0x4>,
@@ -76,10 +76,12 @@
				"WSA_SPK OUT", "VDD_WSA_SWITCH",
				"SpkrMono WSA_IN", "WSA_SPK OUT";

		qcom,cdc-us-euro-gpios = <&tlmm 63 0>;
		qcom,cdc-us-eu-gpios = <&cdc_us_euro_sw>;
		qcom,cdc-comp-gpios = <&cdc_comp_gpios>;
		qcom,pri-mi2s-gpios = <&cdc_pri_mi2s_gpios>;
//[FairPhone][Audio][jinjia]=2019.02.01=Remove the config of us-eu-gpios. -s
		//qcom,cdc-us-euro-gpios = <&tlmm 63 0>;
		//qcom,cdc-us-eu-gpios = <&cdc_us_euro_sw>;
//[FairPhone][Audio][jinjia]=2019.02.01=Remove the config of us-eu-gpios. -e
		//qcom,cdc-comp-gpios = <&cdc_comp_gpios>;
		//qcom,pri-mi2s-gpios = <&cdc_pri_mi2s_gpios>;
		qcom,quin-mi2s-gpios = <&cdc_quin_mi2s_gpios>;

		qcom,afe-rxtx-lb;
@@ -134,14 +136,19 @@
		qcom,msm-vdd-wsa-switch-current = <10000>;
	};

//[FairPhone][Audio][jinjia]=2019.02.01=Remove the config of us-eu-gpios. -s
/*
	cdc_us_euro_sw: msm_cdc_pinctrl_us_euro_sw {
		compatible = "qcom,msm-cdc-pinctrl";
		pinctrl-names = "aud_active", "aud_sleep";
		pinctrl-0 = <&cross_conn_det_act>;
		pinctrl-1 = <&cross_conn_det_sus>;
	};
*/
//[FairPhone][Audio][jinjia]=2019.02.01=Remove the config of us-eu-gpios. -e

	cdc_comp_gpios: cdc_comp_pinctrl {
		status = "disabled";
		compatible = "qcom,msm-cdc-pinctrl";
		pinctrl-names = "aud_active", "aud_sleep";
		pinctrl-0 = <&cdc_pdm_comp_lines_act>;
@@ -149,6 +156,7 @@
	};

	cdc_pri_mi2s_gpios: msm_cdc_pinctrl_pri {
		status = "disabled";
		compatible = "qcom,msm-cdc-pinctrl";
		pinctrl-names = "aud_active", "aud_sleep";
		pinctrl-0 = <&cdc_pdm_lines_act &cdc_pdm_lines_2_act>;
@@ -168,7 +176,7 @@
		#address-cells = <1>;
		#size-cells = <0>;
		wsa881x_i2c_f: wsa881x-i2c-codec@f {
			status = "okay";
			status = "disabled";
			compatible = "qcom,wsa881x-i2c-codec";
			reg = <0x0f>;
			qcom,wsa-analog-vi-gpio = <&wsa881x_analog_vi_gpio>;
@@ -177,7 +185,7 @@
				<&wsa881x_analog_reset_gpio>;
		};
		wsa881x_i2c_45: wsa881x-i2c-codec@45 {
			status = "okay";
			status = "disabled";
			compatible = "qcom,wsa881x-i2c-codec";
			reg = <0x45>;
		};
@@ -196,25 +204,35 @@
		pinctrl-1 = <&wsa_clk_off>;
	};
	wsa881x_analog_reset_gpio: wsa881x_analog_reset_pctrl {
		compatible = "qcom,msm-cdc-pinctrl";
		pinctrl-names = "aud_active", "aud_sleep";
		pinctrl-0 = <&wsa_reset_on>;
		pinctrl-1 = <&wsa_reset_off>;
		status = "disabled";
		//compatible = "qcom,msm-cdc-pinctrl";
		//pinctrl-names = "aud_active", "aud_sleep";
		//pinctrl-0 = <&wsa_reset_on>;
		//pinctrl-1 = <&wsa_reset_off>;
	};

//[FairPhone][Audio][jinjia]=2018.11.21=Audio porting. -s
	ext_codec: sound-9335 {
		status = "disabled";
		status = "okay";
		compatible = "qcom,msm8952-audio-slim-codec";
		qcom,model = "msm8953-tasha-snd-card";

		reg = <0xc051000 0x4>,
			<0xc051004 0x4>,
			<0xc055000 0x4>,
			<0xc052000 0x4>;
			<0xc052000 0x4>,
			<0x0c056000 0x4>,
			<0x0c054000 0x4>,
			<0x0c053000 0x4>;
		reg-names = "csr_gp_io_mux_mic_ctl",
			"csr_gp_io_mux_spkr_ctl",
			"csr_gp_io_lpaif_pri_pcm_pri_mode_muxsel",
			"csr_gp_io_mux_quin_ctl";
			"csr_gp_io_mux_quin_ctl",
			"csr_gp_io_lpaif_qui_pcm_sec_mode_muxsel",
			"csr_gp_io_mux_mic_ext_clk_ctl",
			"csr_gp_io_mux_sec_tlmm_ctl";

		qcom,msm-ext-pa = "quinary";

		qcom,audio-routing =
			"AIF4 VI", "MCLK",
@@ -252,10 +270,8 @@
			"SpkrRight IN", "SPK2 OUT";

		qcom,tasha-mclk-clk-freq = <9600000>;
		qcom,cdc-us-euro-gpios = <&tlmm 63 0>;
		qcom,msm-mbhc-hphl-swh = <0>;
		qcom,msm-mbhc-gnd-swh = <0>;
		qcom,cdc-us-eu-gpios = <&cdc_us_euro_sw>;
		qcom,msm-mbhc-hphl-swh = <1>;
		qcom,msm-mbhc-gnd-swh = <1>;
		qcom,quin-mi2s-gpios = <&cdc_quin_mi2s_gpios>;

		asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
@@ -298,22 +314,23 @@
				"msm-dai-q6-dev.12289", "msm-dai-q6-dev.12292",
				"msm-dai-q6-dev.12293", "msm-dai-q6-dev.16396";

		asoc-codec = <&stub_codec>, <&hdmi_dba>;
		asoc-codec-names = "msm-stub-codec.1", "msm-hdmi-dba-codec-rx";
		asoc-codec = <&stub_codec>, <&dai_mi2s5>;
		asoc-codec-names = "msm-stub-codec.1", "msm-dai-q6-mi2s.5";

		qcom,wsa-max-devs = <2>;
		qcom,wsa-max-devs = <0>;
		qcom,wsa-devs = <&wsa881x_211>, <&wsa881x_212>,
				<&wsa881x_213>, <&wsa881x_214>;
		qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight",
				"SpkrLeft", "SpkrRight";
	};
//[FairPhone][Audio][jinjia]=2018.11.21=Audio porting. -e

	cpe: qcom,msm-cpe-lsm {
		compatible = "qcom,msm-cpe-lsm";
	};

	wcd9xxx_intc: wcd9xxx-irq {
		status = "disabled";
		status = "okay";
		compatible = "qcom,wcd9xxx-irq";
		interrupt-controller;
		#interrupt-cells = <1>;
@@ -324,7 +341,7 @@
	};

	clock_audio: audio_ext_clk {
		status = "disabled";
		status = "okay";
		compatible = "qcom,audio-ref-clk";
		clock-names = "osr_clk";
		qcom,node_has_rpm_clock;
@@ -337,7 +354,7 @@
	};

	wcd_rst_gpio: msm_cdc_pinctrl@67 {
		status = "disabled";
		status = "okay";
		compatible = "qcom,msm-cdc-pinctrl";
		pinctrl-names = "aud_active", "aud_sleep";
		pinctrl-0 = <&cdc_reset_active>;
@@ -346,16 +363,16 @@
};

&slim_msm {
	status = "disabled";
	status = "okay";

	dai_slim: msm_dai_slim {
		status = "disabled";
		status = "okay";
		compatible = "qcom,msm-dai-slim";
		elemental-addr = [ff ff ff fe 17 02];
	};

	wcd9335: tasha_codec {
		status = "disabled";
		status = "okay";
		compatible = "qcom,tasha-slim-pgd";
		elemental-addr = [00 01 A0 01 17 02];

@@ -381,7 +398,7 @@

		qcom,cdc-on-demand-supplies = "cdc-vdd-mic-bias";
		qcom,cdc-micbias1-mv = <1800>;
		qcom,cdc-micbias2-mv = <1800>;
		qcom,cdc-micbias2-mv = <2800>;
		qcom,cdc-micbias3-mv = <1800>;
		qcom,cdc-micbias4-mv = <1800>;

@@ -438,7 +455,7 @@

&pm8953_1 {
	pmic_analog_codec: analog-codec@f000 {
		status = "okay";
		status = "disabled";
		compatible = "qcom,pmic-analog-codec";
		reg = <0xf000 0x200>;
		#address-cells = <2>;
+132 −161
Original line number Diff line number Diff line
@@ -20,7 +20,7 @@
		reg = <0x0>;
		compatible = "qcom,actuator";
		qcom,cci-master = <0>;
		cam_vaf-supply = <&pm8953_l17>;
//		cam_vaf-supply = <&pm8953_l17>;
		qcom,cam-vreg-name = "cam_vaf";
		qcom,cam-vreg-min-voltage = <2850000>;
		qcom,cam-vreg-max-voltage = <2850000>;
@@ -44,113 +44,110 @@
		compatible = "qcom,eeprom";
		qcom,cci-master = <0>;
		reg = <0x0>;
		cam_vio-supply = <&pm8953_l6>;
		cam_vdig-supply = <&pm8953_l2>;
		cam_vaf-supply = <&pm8953_l17>;
		qcom,cam-vreg-name = "cam_vio", "cam_vdig", "cam_vaf";
		qcom,cam-vreg-min-voltage = <0 1200000 2850000>;
		qcom,cam-vreg-max-voltage = <0 1200000 2850000>;
		qcom,cam-vreg-op-mode = <0 105000 100000>;
		cam_vana-supply = <&pm8953_l22>;
		cam_v_custom1-supply = <&pm8953_l2>;
		qcom,cam-vreg-name = "cam_vana", "cam_v_custom1";
		qcom,cam-vreg-min-voltage = <2800000 1175000>;
		qcom,cam-vreg-max-voltage = <2800000 1175000>;
		qcom,cam-vreg-op-mode = <80000 105000>;
		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>;
		pinctrl-0 = <&cam_sensor_mclk0_default &cam_sensor_rear_default>;
		pinctrl-1 = <&cam_sensor_mclk0_sleep &cam_sensor_rear_sleep>;
		gpios = <&tlmm 26 0>,
			<&tlmm 40 0>,
			<&tlmm 39 0>,
			<&tlmm 134 0>;
			<&tlmm 130 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-vio = <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",
			"CAM_VANA";
			"CAM_VIO";
		qcom,sensor-position = <0>;
		qcom,sensor-mode = <0>;
		status = "ok";
		clocks = <&clock_gcc clk_mclk0_clk_src>,
				<&clock_gcc clk_gcc_camss_mclk0_clk>;
		clock-names = "cam_src_clk", "cam_clk";
		qcom,clock-rates = <19200000 0>;
		qcom,clock-rates = <24000000 0>;
	};

/*<2018/10/18-Yuting Shih.[FAIRPHONE][MISC][COMMON][CAMERA][][]Modified for new front camera device driver S5K4H7YX. */
	eeprom1: qcom,eeprom@1 {
		cell-index = <1>;
		reg = <0x1>;
		compatible = "qcom,eeprom";
		qcom,cci-master = <1>;
		cam_vdig-supply = <&pm8953_l23>;
		cam_vio-supply = <&pm8953_l6>;
		cam_vana-supply = <&pm8953_l22>;
		cam_vaf-supply = <&pm8953_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>;
		reg = <0x1>;

#if 0
		qcom,eeprom-name = "samsung_s5k4h7yx";
		qcom,slave-addr = <0x20>;
		qcom,num-blocks = <2>;

		qcom,page0 = <1 0x0100 2 0x01 1 1>;
		qcom,poll0 = <0 0x0 2 0x0 1 0>;
		qcom,mem0 = <0 0x0 2 0x0 1 0>;
#endif

		/* cam_vio-supply = <&cam_vio_gpio_regulator>; */ /* IOVDD */
		cam_vana-supply = <&pm8953_l22>; /* AVDD */
		/* cam_vdig-supply = <&cam_front_dvdd_gpio_regulator>; */ /* DVDD */
		/* cam_vaf-supply = <&pm8953_l17>; */ /* AFVDD is not usage */
		qcom,cam-vreg-name = "cam_vana";  /* "cam_vio", "cam_vana", "cam_vdig"; */
		qcom,cam-vreg-min-voltage = <2800000>;
		qcom,cam-vreg-max-voltage = <2800000>;
		qcom,cam-vreg-op-mode = <80000>;
		qcom,gpio-no-mux = <0>;

		pinctrl-names = "cam_default", "cam_suspend";
		pinctrl-0 = <&cam_sensor_mclk1_default
				&cam_sensor_front1_default>;
				&cam_sensor_front1_default
				&cam_sensor_front1_vdig_default
				&cam_sensor_front1_vio_default>;
		pinctrl-1 = <&cam_sensor_mclk1_sleep
				&cam_sensor_front1_sleep>;
				&cam_sensor_front1_sleep
				&cam_sensor_front1_vdig_sleep
				&cam_sensor_front1_vio_sleep>;

/*<2018/11/14-Yuting Shih.[FAIRPHONE][MISC][COMMON][CAMERA][][]VOI control pin.PCBA EP0 is GPIO123;EP1 and above is GPIO130 */
		gpios = <&tlmm 27 0>,
				<&tlmm 129 0>,
				<&tlmm 46 0>,
#if 1
				<&tlmm 130 0>;
#else /* PCBA EP0 */
				<&tlmm 123 0>;
#endif
/*>2018/11/14-Yuting Shih.[FAIRPHONE][MISC][COMMON][CAMERA][][] */
		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-vdig = <2>;
		qcom,gpio-vio = <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_MCLK2",
				"CAM_RESET2",
					  "CAM_STANDBY2";
		qcom,sensor-position = <1>;
		qcom,sensor-mode = <0>;
		status = "ok";
		clocks = <&clock_gcc clk_mclk1_clk_src>,
			<&clock_gcc clk_gcc_camss_mclk1_clk>;
		clock-names = "cam_src_clk", "cam_clk";
		qcom,clock-rates = <19200000 0>;
	};
				"CAM_VDIG2",
				"CAM_VIO2";

	eeprom2: qcom,eeprom@2 {
		cell-index = <2>;
		compatible = "qcom,eeprom";
		qcom,cci-master = <1>;
		reg = <0x2>;
		cam_vdig-supply = <&pm8953_l23>;
		cam_vana-supply = <&pm8953_l22>;
		cam_vio-supply = <&pm8953_l6>;
		cam_vaf-supply = <&pm8953_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_mclk2_default
				&cam_sensor_front_default>;
		pinctrl-1 = <&cam_sensor_mclk2_sleep
				&cam_sensor_front_sleep>;
		gpios = <&tlmm 28 0>,
			<&tlmm 131 0>,
			<&tlmm 132 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";
		status = "ok";
		clocks = <&clock_gcc clk_mclk2_clk_src>,
				<&clock_gcc clk_gcc_camss_mclk2_clk>;
#if 1
		qcom,cam-power-seq-val = "sensor_gpio_reset",
				"cam_vana", "sensor_gpio_vdig",
				"sensor_gpio_vio", "sensor_gpio_reset",
				"sensor_cam_mclk";
		qcom,cam-power-seq-type = "sensor_gpio",
				"sensor_vreg", "sensor_gpio",
				"sensor_gpio", "sensor_gpio",
				"sensor_clk";
		qcom,cam-power-seq-cfg-val = <0 1 1 1 1 24000000>;
		qcom,cam-power-seq-delay = <5 1 1 3 3 10>; /* <1 1 1 1 1 10>; */
#endif
		clock-names = "cam_src_clk", "cam_clk";
		clocks = <&clock_gcc clk_mclk1_clk_src>,
				<&clock_gcc clk_gcc_camss_mclk1_clk>;
		qcom,clock-rates = <19200000 0>;
	};
/*>2018/10/18-Yuting Shih.[FAIRPHONE][MISC][COMMON][CAMERA][][]. */

	camera0: qcom,camera@0 {
		cell-index = <0>;
@@ -162,16 +159,15 @@
		qcom,led-flash-src = <&led_flash0>;
		qcom,eeprom-src = <&eeprom0>;
		qcom,actuator-src = <&actuator0>;
		cam_vio-supply = <&pm8953_l6>;
		cam_vdig-supply = <&pm8953_l2>;
		cam_vaf-supply = <&pm8953_l17>;
//		cam_vio-supply = <&pm8953_l6>;
//		cam_vdig-supply = <&pm8953_l2>;
//		cam_vaf-supply = <&pm8953_l17>;
		cam_vana-supply = <&pm8953_l22>;
		cam_v_custom1-supply = <&pm8953_l23>;
		qcom,cam-vreg-name = "cam_vio", "cam_vdig", "cam_vaf",
						"cam_vana", "cam_v_custom1";
		qcom,cam-vreg-min-voltage = <0 1200000 2850000 2800000 1200000>;
		qcom,cam-vreg-max-voltage = <0 1200000 2850000 2800000 1200000>;
		qcom,cam-vreg-op-mode = <0 105000 100000 80000 105000>;
		cam_v_custom1-supply = <&pm8953_l2>;
		qcom,cam-vreg-name = "cam_vana", "cam_v_custom1";
		qcom,cam-vreg-min-voltage = <2800000 1175000>;
		qcom,cam-vreg-max-voltage = <2800000 1175000>;
		qcom,cam-vreg-op-mode = <80000 105000>;
		pinctrl-names = "cam_default", "cam_suspend";
		pinctrl-0 = <&cam_sensor_mclk0_default
				&cam_sensor_rear_default
@@ -180,17 +176,17 @@
				&cam_sensor_rear_vana_sleep>;
		gpios = <&tlmm 26 0>,
			<&tlmm 40 0>,
			<&tlmm 39 0>,
			<&tlmm 134 0>;
			<&tlmm 130 0>,
			<&tlmm 128 0>;
		qcom,gpio-reset = <1>;
		qcom,gpio-standby = <2>;
		qcom,gpio-vana = <3>;
		qcom,gpio-vio = <2>;
		qcom,gpio-vaf = <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";
			"CAM_VIO",
			"CAM_VAF";
		qcom,sensor-position = <0>;
		qcom,sensor-mode = <0>;
		qcom,cci-master = <0>;
@@ -201,90 +197,65 @@
		qcom,clock-rates = <24000000 0>;
	};

	qcom,camera@1 {
		cell-index = <1>;
		compatible = "qcom,camera";
		reg = <0x1>;
		qcom,csiphy-sd-index = <1>;
		qcom,csid-sd-index = <1>;
		qcom,mount-angle = <90>;
		qcom,eeprom-src = <&eeprom2>;
		qcom,actuator-src = <&actuator1>;
		cam_vdig-supply = <&pm8953_l23>;
		cam_vana-supply = <&pm8953_l22>;
		cam_vio-supply = <&pm8953_l6>;
		cam_vaf-supply = <&pm8953_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_mclk2_default
				&cam_sensor_front_default>;
		pinctrl-1 = <&cam_sensor_mclk2_sleep
				&cam_sensor_front_sleep>;
		gpios = <&tlmm 28 0>,
			<&tlmm 131 0>,
			<&tlmm 132 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,sensor-position = <0x100>;
		qcom,sensor-mode = <1>;
		qcom,cci-master = <1>;
		status = "ok";
		clocks = <&clock_gcc clk_mclk2_clk_src>,
				<&clock_gcc clk_gcc_camss_mclk2_clk>;
		clock-names = "cam_src_clk", "cam_clk";
		qcom,clock-rates = <24000000 0>;
	};

	qcom,camera@2 {
/*<2018/10/18-Yuting Shih.[FAIRPHONE][MISC][COMMON][CAMERA][][]Modified for new front camera device driver S5K4H7YX. */
	camera2: qcom,camera@2 {
		cell-index = <2>;
		compatible = "qcom,camera";
		reg = <0x02>;
		qcom,csiphy-sd-index = <2>;
		qcom,csid-sd-index = <2>;
		qcom,mount-angle = <90>;
		qcom,csid-sd-index = <1>; /* SDM450 support 2 CSID cores. MSM8953 is 3 CSID cores */
		qcom,mount-angle = <270>; /* <90>; */
		qcom,eeprom-src = <&eeprom1>;
		qcom,actuator-src = <&actuator1>;
		cam_vdig-supply = <&pm8953_l23>;
		cam_vio-supply = <&pm8953_l6>;
		/* qcom,actuator-src = <&actuator1>; */ /* The auto focus is not support */

		/* cam_vio-supply = <&cam_vio_gpio_regulator>; */
		cam_vana-supply = <&pm8953_l22>;
		cam_vaf-supply = <&pm8953_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>;
		/* cam_vdig-supply = <&cam_front_dvdd_gpio_regulator>; */
		/* cam_vaf-supply = <&pm8953_l17>; */ /* The AFVDD is not support */
		qcom,cam-vreg-name = "cam_vana";
		qcom,cam-vreg-min-voltage = <2800000>;
		qcom,cam-vreg-max-voltage = <2800000>;
		qcom,cam-vreg-op-mode = <80000>;
		qcom,gpio-no-mux = <0>;

		pinctrl-names = "cam_default", "cam_suspend";
		pinctrl-0 = <&cam_sensor_mclk1_default
				&cam_sensor_front1_default>;
				&cam_sensor_front1_default
				&cam_sensor_front1_vdig_default
				&cam_sensor_front1_vio_default>;
		pinctrl-1 = <&cam_sensor_mclk1_sleep
				&cam_sensor_front1_sleep>;
				&cam_sensor_front1_sleep
				&cam_sensor_front1_vdig_sleep
				&cam_sensor_front1_vio_sleep>;

/*<2018/11/14-Yuting Shih.[FAIRPHONE][MISC][COMMON][CAMERA][][]VOI control pin.PCBA EP0 is GPIO123;EP1 and above is GPIO130 */
		gpios = <&tlmm 27 0>,
				<&tlmm 129 0>,
				<&tlmm 46 0>,
#if 1
				<&tlmm 130 0>;
#else /* PCBA EP0 */
				<&tlmm 123 0>;
#endif
/*>2018/11/14-Yuting Shih.[FAIRPHONE][MISC][COMMON][CAMERA][][] */
		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-vdig = <2>;
		qcom,gpio-vio = <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_MCLK2",
				"CAM_RESET2",
					  "CAM_STANDBY2";
				"CAM_VDIG2",
				"CAM_VIO2";

		qcom,sensor-position = <1>;
		qcom,sensor-mode = <0>;
		qcom,cci-master = <1>;
		status = "ok";
		clock-names = "cam_src_clk", "cam_clk";
		clocks = <&clock_gcc clk_mclk1_clk_src>,
				<&clock_gcc clk_gcc_camss_mclk1_clk>;
		clock-names = "cam_src_clk", "cam_clk";
		qcom,clock-rates = <24000000 0>;
	};
/*>2018/10/18-Yuting Shih.[FAIRPHONE][MISC][COMMON][CAMERA][][]. */
};
+15 −0
Original line number Diff line number Diff line
@@ -60,6 +60,21 @@
	};
};

//[FairPhone][Audio][jinjia]=2018.11.21=smart amp porting. -s
&i2c_6 { /* BLSP2 QUP2 (smart amp) */
	    status = "ok";
	    /* AWINIC AW8898 Smart PA */
	    aw8898_smartpa@34{
	        compatible = "awinic,aw8898_smartpa";
	        reg = <0x34>;
	        reset-gpio = <&tlmm 21 0>;
	        irq-gpio = <&tlmm 20 0>;
	        status = "okay";
	    };
	    /* AWINIC AW8898 Smart PA End */
};
//[FairPhone][Audio][jinjia]=2018.11.21=smart amp porting. -e

&sdhc_1 {
	/* device core power supply */
	vdd-supply = <&pm8953_l8>;
Loading