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

Commit b07156bd authored by qctecmdr Service's avatar qctecmdr Service Committed by Gerrit - the friendly Code Review server
Browse files

Merge "ARM: dts: msm: Add DSI/DP/WB support for ADP Star"

parents 82f98e26 8d0ec5e1
Loading
Loading
Loading
Loading
+53 −0
Original line number Diff line number Diff line
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * only version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

&mdss_mdp {
	dsi_ext_bridge_1080p: qcom,mdss_dsi_ext_bridge_1080p {
		qcom,mdss-dsi-panel-name = "ext video mode dsi bridge";
		qcom,mdss-dsi-panel-type = "dsi_video_mode";
		qcom,mdss-dsi-virtual-channel-id = <0>;
		qcom,mdss-dsi-stream = <0>;
		qcom,mdss-dsi-bpp = <24>;
		qcom,mdss-dsi-border-color = <0>;
		qcom,mdss-dsi-traffic-mode = "non_burst_sync_pulse";
		qcom,mdss-dsi-bllp-eof-power-mode;
		qcom,mdss-dsi-bllp-power-mode;
		qcom,mdss-dsi-lane-0-state;
		qcom,mdss-dsi-lane-1-state;
		qcom,mdss-dsi-lane-2-state;
		qcom,mdss-dsi-lane-3-state;
		qcom,mdss-dsi-dma-trigger = "trigger_sw";
		qcom,mdss-dsi-mdp-trigger = "none";
		qcom,mdss-dsi-t-clk-post = <0x03>;
		qcom,mdss-dsi-t-clk-pre = <0x24>;
		qcom,mdss-dsi-force-clock-lane-hs;
		qcom,mdss-dsi-ext-bridge-mode;

		qcom,mdss-dsi-display-timings {
			timing@0{
				qcom,mdss-dsi-panel-width = <1920>;
				qcom,mdss-dsi-panel-height = <1080>;
				qcom,mdss-dsi-h-front-porch = <88>;
				qcom,mdss-dsi-h-back-porch = <148>;
				qcom,mdss-dsi-h-pulse-width = <44>;
				qcom,mdss-dsi-h-sync-skew = <0>;
				qcom,mdss-dsi-v-back-porch = <36>;
				qcom,mdss-dsi-v-front-porch = <4>;
				qcom,mdss-dsi-v-pulse-width = <5>;
				qcom,mdss-dsi-h-sync-pulse = <0>;
				qcom,mdss-dsi-panel-framerate = <60>;
				qcom,display-topology = <1 0 1>;
				qcom,default-topology-index = <0>;
			};
		};
	};
};
+288 −0
Original line number Diff line number Diff line
@@ -314,3 +314,291 @@
		};
	};
};

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

	ioexp_reset_active: ioexp_reset_active {
		mux {
			pins = "gpio30";
			function = "gpio";
		};
		config {
			pins = "gpio30";
			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-name = "refgen";
			qcom,supply-min-voltage = <0>;
			qcom,supply-max-voltage = <0>;
			qcom,supply-enable-load = <0>;
			qcom,supply-disable-load = <0>;
		};
	};
};

&qupv3_se15_i2c {
	status = "ok";

	pinctrl-0 = <&qupv3_se15_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 = <48 0>;
		gpio-controller;
		interrupt-controller;
		semtech,probe-reset;

		pinctrl-names = "default";
		pinctrl-0 = <&dsi1_hpd_cfg_pins
			&dsi1_cdet_cfg_pins
			&dsi2_hpd_cfg_pins
			&dsi2_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;
		};

		dsi2_hpd_cfg_pins: gpio2-cfg {
			pins = "gpio2";
			bias-pull-up;
		};

		dsi2_cdet_cfg_pins: gpio3-cfg {
			pins = "gpio3";
			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 47 0>;
				reset_n-gpio = <&tlmm 49 0>;
			};
		};

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

			anx_7625_2: anx7625@2c {
				compatible = "analogix,anx7625";
				reg = <0x2c>;
				interrupt-parent = <&ioexp>;
				interrupts = <2 0>;
				cbl_det-gpio = <&ioexp 3 0>;
				power_en-gpio = <&tlmm 87 0>;
				reset_n-gpio = <&tlmm 29 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>;
			};
		};
	};
};

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

		port@0 {
			reg = <0>;
			anx_7625_2_in: endpoint {
				remote-endpoint = <&dsi_anx_7625_2_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_anx_7625_2: qcom,dsi-display@18 {
		label = "dsi_anx_7625_2";
		qcom,dsi-display-active;
		qcom,display-type = "secondary";

		qcom,dsi-ctrl-num = <1>;
		qcom,dsi-phy-num = <1>;
		qcom,dsi-select-clocks = "src_byte_clk1", "src_pixel_clk1";

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

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

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

		clocks = <&mdss_dsi0_pll BYTECLK_MUX_0_CLK>,
			 <&mdss_dsi0_pll PCLK_MUX_0_CLK>,
			 <&mdss_dsi1_pll BYTECLK_MUX_1_CLK>,
			 <&mdss_dsi1_pll PCLK_MUX_1_CLK>;
		clock-names = "src_byte_clk0", "src_pixel_clk0",
			      "src_byte_clk1", "src_pixel_clk1";

		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>;
				};
			};
		};
	};

	dsi_dp2: qcom,dsi-display@2 {
		compatible = "qcom,dsi-display";
		label = "secondary";

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

		clocks = <&mdss_dsi0_pll BYTECLK_MUX_0_CLK>,
			 <&mdss_dsi0_pll PCLK_MUX_0_CLK>,
			 <&mdss_dsi1_pll BYTECLK_MUX_1_CLK>,
			 <&mdss_dsi1_pll PCLK_MUX_1_CLK>;
		clock-names = "src_byte_clk0", "src_pixel_clk0",
			      "src_byte_clk1", "src_pixel_clk1";

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

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

			port@0 {
				reg = <0>;
				dsi_anx_7625_2_out: endpoint {
					remote-endpoint = <&anx_7625_2_in>;
				};
			};
		};
	};

	refgen: refgen-regulator@88e7000 {
		compatible = "qcom,refgen-regulator";
		reg = <0x88e7000 0x60>;
		regulator-name = "refgen";
		regulator-enable-ramp-delay = <5>;
	};

	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_dsi_phy1 {
	qcom,panel-force-clock-lane-hs;
};

&mdss_mdp {
	connectors = <&dsi_dp1 &dsi_dp2 &sde_dp &sde_wb>;
};