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

Commit 520e4fad authored by Rahul Sharma's avatar Rahul Sharma
Browse files

ARM: dts: msm: Add DSI/DP/WB support for SA6155 & SA6155p



Add DSI/DP/WB display nodes in device tree to
support display on ADP Star for SA6155 and SA6155p.

Change-Id: Ic92b9f29e5ab9a8ec4357d7ff9d72514a321ffd6
Signed-off-by: default avatarRahul Sharma <rahsha@codeaurora.org>
parent bc29230a
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -78,16 +78,16 @@
};

&mdss_dsi0 {
	/delete-property/ vdda-1p2-supply;
	vdda-1p2-supply = <&pm6155_1_l11>;
};

&sde_dp {
	/delete-property/ vdda-1p2-supply;
	/delete-property/ vdda-0p9-supply;
	vdda-1p2-supply = <&pm6155_1_l11>;
	vdda-0p9-supply = <&pm6155_1_l5>;
};

&mdss_dsi_phy0 {
	/delete-property/ vdda-0p9-supply;
	vdda-0p9-supply = <&pm6155_1_l5>;
};

&cam_csiphy0 {
+192 −0
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@

#include "sm6150.dtsi"
#include "sa6155-pmic.dtsi"
#include <dt-bindings/clock/mdss-14nm-pll-clk.h>

/ {
	model = "Qualcomm Technologies, Inc. SA6155";
@@ -36,3 +37,194 @@
	vdda18-supply = <&L12A>;
	vdda33-supply = <&L13A>;
};

&tlmm {
	ioexp_intr_active: ioexp_intr_active {
		mux {
			pins = "gpio58";
			function = "gpio";
		};
		config {
			pins = "gpio58";
			drive-strength = <2>;
			bias-pull-up;
		};
	};

	ioexp_reset_active: ioexp_reset_active {
		mux {
			pins = "gpio3";
			function = "gpio";
		};
		config {
			pins = "gpio3";
			drive-strength = <2>;
			bias-disable;
			output-high;
		};
	};
};

&sde_dp {
	qcom,ext-disp = <&ext_disp>;
	qcom,dp-hpd-gpio = <&ioexp 8 0>;

	pinctrl-names = "mdss_dp_active", "mdss_dp_sleep";
	pinctrl-0 = <&dp_hpd_cfg_pins>;
	pinctrl-1 = <&dp_hpd_cfg_pins>;

	qcom,core-supply-entries {
		#address-cells = <1>;
		#size-cells = <0>;
		qcom,core-supply-entry@0 {
			reg = <0>;
			qcom,supply-min-voltage = <0>;
			qcom,supply-max-voltage = <0>;
			qcom,supply-enable-load = <0>;
			qcom,supply-disable-load = <0>;
		};
	};
};

&qupv3_se2_i2c {

	status = "ok";

	pinctrl-0 = <&qupv3_se2_i2c_active
		&ioexp_intr_active
		&ioexp_reset_active>;

	ioexp: gpio@3e {
		#gpio-cells = <2>;
		#interrupt-cells = <2>;
		compatible = "semtech,sx1509q";
		reg = <0x3e>;
		interrupt-parent = <&tlmm>;
		interrupts = <58 0>;
		gpio-controller;
		interrupt-controller;
		semtech,probe-reset;

		pinctrl-names = "default";
		pinctrl-0 = <&dsi1_hpd_cfg_pins
			&dsi1_cdet_cfg_pins>;

		dsi1_hpd_cfg_pins: gpio0-cfg {
			pins = "gpio0";
			bias-pull-up;
		};

		dsi1_cdet_cfg_pins: gpio1-cfg {
			pins = "gpio1";
			bias-pull-down;
		};

		dp_hpd_cfg_pins: gpio8-cfg {
			pins = "gpio8";
			bias-pull-down;
		};
	};

	i2c-mux@77 {
		compatible = "nxp,pca9542";
		reg = <0x77>;
		#address-cells = <1>;
		#size-cells = <0>;

		i2c@0 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0>;

			anx_7625_1: anx7625@2c {
				compatible = "analogix,anx7625";
				reg = <0x2c>;
				interrupt-parent = <&ioexp>;
				interrupts = <0 0>;
				cbl_det-gpio = <&ioexp 1 0>;
				power_en-gpio = <&tlmm 4 0>;
				reset_n-gpio = <&tlmm 5 0>;
			};
		};
	};
};

&anx_7625_1 {
	ports {
		#address-cells = <1>;
		#size-cells = <0>;

		port@0 {
			reg = <0>;
			anx_7625_1_in: endpoint {
				remote-endpoint = <&dsi_anx_7625_1_out>;
			};
		};
	};
};

#include "dsi-panel-ext-bridge-1080p.dtsi"

&soc {
	dsi_anx_7625_1: qcom,dsi-display@17 {
		label = "dsi_anx_7625_1";
		qcom,dsi-display-active;
		qcom,display-type = "primary";

		qcom,dsi-ctrl-num = <0>;
		qcom,dsi-phy-num = <0>;
		qcom,dsi-select-clocks = "src_byte_clk0", "src_pixel_clk0";

		qcom,dsi-panel = <&dsi_ext_bridge_1080p>;
	};

	dsi_dp1: qcom,dsi-display@1 {
		compatible = "qcom,dsi-display";
		label = "primary";

		qcom,dsi-ctrl = <&mdss_dsi0>;
		qcom,dsi-phy = <&mdss_dsi_phy0>;

		clocks = <&mdss_dsi0_pll BYTE0_MUX_CLK>,
			 <&mdss_dsi0_pll PIX0_MUX_CLK>;
		clock-names = "src_byte_clk0", "src_pixel_clk0";


		qcom,dsi-display-list =
			<&dsi_anx_7625_1>;

		ports {
			#address-cells = <1>;
			#size-cells = <0>;

			port@0 {
				reg = <0>;
				dsi_anx_7625_1_out: endpoint {
					remote-endpoint = <&anx_7625_1_in>;
				};
			};
		};
	};

	sde_wb: qcom,wb-display@0 {
		compatible = "qcom,wb-display";
		cell-index = <0>;
		label = "wb_display";
	};

	ext_disp: qcom,msm-ext-disp {
		compatible = "qcom,msm-ext-disp";

		ext_disp_audio_codec: qcom,msm-ext-disp-audio-codec-rx {
			compatible = "qcom,msm-ext-disp-audio-codec-rx";
		};
	};
};

&mdss_dsi_phy0 {
	qcom,panel-force-clock-lane-hs;
};

&mdss_mdp {
	connectors = <&sde_rscc &dsi_dp1 &sde_wb>;
};
+192 −0
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@

#include "sm6150.dtsi"
#include "sa6155-pmic.dtsi"
#include <dt-bindings/clock/mdss-14nm-pll-clk.h>

/ {
	model = "Qualcomm Technologies, Inc. SA6155P";
@@ -57,3 +58,194 @@
	vdda18-supply = <&L12A>;
	vdda33-supply = <&L13A>;
};

&tlmm {
	ioexp_intr_active: ioexp_intr_active {
		mux {
			pins = "gpio58";
			function = "gpio";
		};
		config {
			pins = "gpio58";
			drive-strength = <2>;
			bias-pull-up;
		};
	};

	ioexp_reset_active: ioexp_reset_active {
		mux {
			pins = "gpio3";
			function = "gpio";
		};
		config {
			pins = "gpio3";
			drive-strength = <2>;
			bias-disable;
			output-high;
		};
	};
};

&sde_dp {
	qcom,ext-disp = <&ext_disp>;
	qcom,dp-hpd-gpio = <&ioexp 8 0>;

	pinctrl-names = "mdss_dp_active", "mdss_dp_sleep";
	pinctrl-0 = <&dp_hpd_cfg_pins>;
	pinctrl-1 = <&dp_hpd_cfg_pins>;

	qcom,core-supply-entries {
		#address-cells = <1>;
		#size-cells = <0>;
		qcom,core-supply-entry@0 {
			reg = <0>;
			qcom,supply-min-voltage = <0>;
			qcom,supply-max-voltage = <0>;
			qcom,supply-enable-load = <0>;
			qcom,supply-disable-load = <0>;
		};
	};
};

&qupv3_se2_i2c {

	status = "ok";

	pinctrl-0 = <&qupv3_se2_i2c_active
		&ioexp_intr_active
		&ioexp_reset_active>;

	ioexp: gpio@3e {
		#gpio-cells = <2>;
		#interrupt-cells = <2>;
		compatible = "semtech,sx1509q";
		reg = <0x3e>;
		interrupt-parent = <&tlmm>;
		interrupts = <58 0>;
		gpio-controller;
		interrupt-controller;
		semtech,probe-reset;

		pinctrl-names = "default";
		pinctrl-0 = <&dsi1_hpd_cfg_pins
			&dsi1_cdet_cfg_pins>;

		dsi1_hpd_cfg_pins: gpio0-cfg {
			pins = "gpio0";
			bias-pull-up;
		};

		dsi1_cdet_cfg_pins: gpio1-cfg {
			pins = "gpio1";
			bias-pull-down;
		};

		dp_hpd_cfg_pins: gpio8-cfg {
			pins = "gpio8";
			bias-pull-down;
		};
	};

	i2c-mux@77 {
		compatible = "nxp,pca9542";
		reg = <0x77>;
		#address-cells = <1>;
		#size-cells = <0>;

		i2c@0 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0>;

			anx_7625_1: anx7625@2c {
				compatible = "analogix,anx7625";
				reg = <0x2c>;
				interrupt-parent = <&ioexp>;
				interrupts = <0 0>;
				cbl_det-gpio = <&ioexp 1 0>;
				power_en-gpio = <&tlmm 4 0>;
				reset_n-gpio = <&tlmm 5 0>;
			};
		};
	};
};

&anx_7625_1 {
	ports {
		#address-cells = <1>;
		#size-cells = <0>;

		port@0 {
			reg = <0>;
			anx_7625_1_in: endpoint {
				remote-endpoint = <&dsi_anx_7625_1_out>;
			};
		};
	};
};

#include "dsi-panel-ext-bridge-1080p.dtsi"

&soc {
	dsi_anx_7625_1: qcom,dsi-display@17 {
		label = "dsi_anx_7625_1";
		qcom,dsi-display-active;
		qcom,display-type = "primary";

		qcom,dsi-ctrl-num = <0>;
		qcom,dsi-phy-num = <0>;
		qcom,dsi-select-clocks = "src_byte_clk0", "src_pixel_clk0";

		qcom,dsi-panel = <&dsi_ext_bridge_1080p>;
	};

	dsi_dp1: qcom,dsi-display@1 {
		compatible = "qcom,dsi-display";
		label = "primary";

		qcom,dsi-ctrl = <&mdss_dsi0>;
		qcom,dsi-phy = <&mdss_dsi_phy0>;

		clocks = <&mdss_dsi0_pll BYTE0_MUX_CLK>,
			 <&mdss_dsi0_pll PIX0_MUX_CLK>;
		clock-names = "src_byte_clk0", "src_pixel_clk0";


		qcom,dsi-display-list =
			<&dsi_anx_7625_1>;

		ports {
			#address-cells = <1>;
			#size-cells = <0>;

			port@0 {
				reg = <0>;
				dsi_anx_7625_1_out: endpoint {
					remote-endpoint = <&anx_7625_1_in>;
				};
			};
		};
	};

	sde_wb: qcom,wb-display@0 {
		compatible = "qcom,wb-display";
		cell-index = <0>;
		label = "wb_display";
	};

	ext_disp: qcom,msm-ext-disp {
		compatible = "qcom,msm-ext-disp";

		ext_disp_audio_codec: qcom,msm-ext-disp-audio-codec-rx {
			compatible = "qcom,msm-ext-disp-audio-codec-rx";
		};
	};
};

&mdss_dsi_phy0 {
	qcom,panel-force-clock-lane-hs;
};

&mdss_mdp {
	connectors = <&sde_rscc &dsi_dp1 &sde_wb>;
};