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

Commit e462a734 authored by Tharun Raj Soma's avatar Tharun Raj Soma Committed by Gerrit - the friendly Code Review server
Browse files

ARM: dts: msm: Enable upscaling on Sharp Dual DSI panel on sdmmagpie



Add support for Sharp Dual DSI  panel to enable upscaling. It will
upscale the WQHD content to UHD for video mode and command
mode panel.

Change-Id: Ie1721fb3e8c047529513c98eb50aec7d13e73795
Signed-off-by: default avatarTharun Raj Soma <tsoma@codeaurora.org>
parent 5457aada
Loading
Loading
Loading
Loading
+93 −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_dual_sharp_wqhd_cmd: qcom,mdss_dsi_sharp_wqhd_cmd {
		qcom,mdss-dsi-panel-name =
				"Dual Sharp WQHD cmd mode dsi panel";
		qcom,mdss-dsi-panel-type = "dsi_cmd_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-h-sync-pulse = <0>;
		qcom,mdss-dsi-traffic-mode = "burst_mode";
		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-reset-sequence = <1 20>, <0 20>, <1 20>;
		qcom,mdss-dsi-te-pin-select = <1>;
		qcom,mdss-dsi-wr-mem-start = <0x2c>;
		qcom,mdss-dsi-wr-mem-continue = <0x3c>;
		qcom,mdss-dsi-te-dcs-command = <1>;
		qcom,mdss-dsi-te-check-enable;
		qcom,mdss-dsi-te-using-te-pin;
		qcom,dcs-cmd-by-left;
		qcom,mdss-dsi-tx-eot-append;
		qcom,mdss-pan-physical-width-dimension = <68>;
		qcom,mdss-pan-physical-height-dimension = <121>;

		qcom,adjust-timer-wakeup-ms = <1>;
		qcom,mdss-dsi-display-timings {
			timing@0 {
				qcom,mdss-dsi-panel-width = <720>;
				qcom,mdss-dsi-panel-height = <2560>;
				qcom,mdss-dsi-h-front-porch = <30>;
				qcom,mdss-dsi-h-back-porch = <100>;
				qcom,mdss-dsi-h-pulse-width = <4>;
				qcom,mdss-dsi-h-sync-skew = <0>;
				qcom,mdss-dsi-v-back-porch = <8>;
				qcom,mdss-dsi-v-front-porch = <8>;
				qcom,mdss-dsi-v-pulse-width = <1>;
				qcom,mdss-dsi-panel-framerate = <60>;
				qcom,mdss-dsi-on-command = [
					39 01 00 00 00 00 11 91 09
					20 00 20 02 00 03 1c 04 21 00
					0f 03 19 01 97
					39 01 00 00 00 00 03 92 10 f0
					15 01 00 00 00 00 02 90 03
					15 01 00 00 00 00 02 03 01
					39 01 00 00 00 00 06 f0 55 aa 52 08 04
					15 01 00 00 00 00 02 c0 03
					39 01 00 00 00 00 06 f0 55 aa 52 08 07
					15 01 00 00 00 00 02 ef 01
					39 01 00 00 00 00 06 f0 55 aa 52 08 00
					15 01 00 00 00 00 02 b4 01
					15 01 00 00 00 00 02 35 00
					39 01 00 00 00 00 06 f0 55 aa 52 08 01
					39 01 00 00 00 00 05 ff aa 55 a5 80
					15 01 00 00 00 00 02 6f 01
					15 01 00 00 00 00 02 f3 10
					39 01 00 00 00 00 05 ff aa 55 a5 00
					15 01 00 00 00 00 02 90 01
					15 01 00 00 00 00 02 03 00
					15 01 00 00 00 00 02 58 01
					15 01 00 00 00 00 02 c9 00
					15 01 00 00 00 00 02 c0 15
					/* sleep out + delay 120ms */
					05 01 00 00 78 00 01 11
					/* display on + delay 120ms */
					05 01 00 00 78 00 01 29
					];
				qcom,mdss-dsi-off-command = [05 01 00 00 78 00
					02 28 00 05 01 00 00 78 00 02 10 00];
				qcom,mdss-dsi-on-command-state = "dsi_lp_mode";
				qcom,mdss-dsi-off-command-state = "dsi_hs_mode";
			};
		};
	};
};
+89 −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_dual_sharp_wqhd_video: qcom,mdss_dsi_sharp_wqhd_video {
		qcom,mdss-dsi-panel-name =
				"Dual Sharp wqhd video mode dsi panel";
		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-h-sync-pulse = <0>;
		qcom,mdss-dsi-traffic-mode = "burst_mode";
		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-reset-sequence = <1 20>, <0 20>, <1 20>;
		qcom,mdss-dsi-tx-eot-append;
		qcom,mdss-pan-physical-width-dimension = <68>;
		qcom,mdss-pan-physical-height-dimension = <121>;

		qcom,adjust-timer-wakeup-ms = <1>;
		qcom,mdss-dsi-display-timings {
			timing@0 {
				qcom,mdss-dsi-panel-width = <720>;
				qcom,mdss-dsi-panel-height = <2560>;
				qcom,mdss-dsi-h-front-porch = <30>;
				qcom,mdss-dsi-h-back-porch = <100>;
				qcom,mdss-dsi-h-pulse-width = <4>;
				qcom,mdss-dsi-h-sync-skew = <0>;
				qcom,mdss-dsi-v-back-porch = <8>;
				qcom,mdss-dsi-v-front-porch = <8>;
				qcom,mdss-dsi-v-pulse-width = <1>;
				qcom,mdss-dsi-panel-framerate = <60>;
				qcom,mdss-dsi-on-command = [
					39 01 00 00 00 00 11 91 09
					20 00 20 02 00 03 1c 04 21 00
					0f 03 19 01 97
					39 01 00 00 00 00 03 92 10 f0
					15 01 00 00 00 00 02 90 03
					15 01 00 00 00 00 02 03 01
					39 01 00 00 00 00 06 f0 55 aa 52 08 04
					15 01 00 00 00 00 02 c0 03
					39 01 00 00 00 00 06 f0 55 aa 52 08 07
					15 01 00 00 00 00 02 ef 01
					39 01 00 00 00 00 06 f0 55 aa 52 08 00
					15 01 00 00 00 00 02 b4 10
					15 01 00 00 00 00 02 35 00
					39 01 00 00 00 00 06 f0 55 aa 52 08 01
					39 01 00 00 00 00 05 ff aa 55 a5 80
					15 01 00 00 00 00 02 6f 01
					15 01 00 00 00 00 02 f3 10
					39 01 00 00 00 00 05 ff aa 55 a5 00
					15 01 00 00 00 00 02 90 01
					15 01 00 00 00 00 02 03 00
					15 01 00 00 00 00 02 58 01
					15 01 00 00 00 00 02 c9 00
					15 01 00 00 00 00 02 c0 15
					/* sleep out + delay 120ms */
					05 01 00 00 78 00 01 11
					/* display on + delay 120ms */
					05 01 00 00 78 00 01 29
					];

				qcom,mdss-dsi-off-command = [05 01 00 00 78 00
					02 28 00 05 01 00 00 78 00 02 10 00];
				qcom,mdss-dsi-on-command-state = "dsi_lp_mode";
				qcom,mdss-dsi-off-command-state = "dsi_hs_mode";

			};
		};
	};
};
+22 −0
Original line number Diff line number Diff line
@@ -140,6 +140,28 @@
	qcom,platform-reset-gpio = <&pm6150l_gpios 9 0>;
};

&dsi_dual_sharp_wqhd_video {
	qcom,panel-supply-entries = <&dsi_panel_pwr_supply_no_labibb>;
	qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs";
	qcom,mdss-dsi-bl-min-level = <1>;
	qcom,mdss-dsi-bl-max-level = <4095>;
	qcom,platform-te-gpio = <&tlmm 10 0>;
	qcom,platform-reset-gpio = <&pm6150l_gpios 9 0>;
	qcom,platform-en-gpio = <&pm6150l_gpios 4 0>;
	qcom,platform-bklight-en-gpio = <&pm6150l_gpios 5 0>;
};

&dsi_dual_sharp_wqhd_cmd {
	qcom,panel-supply-entries = <&dsi_panel_pwr_supply_no_labibb>;
	qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs";
	qcom,mdss-dsi-bl-min-level = <1>;
	qcom,mdss-dsi-bl-max-level = <4095>;
	qcom,platform-te-gpio = <&tlmm 10 0>;
	qcom,platform-reset-gpio = <&pm6150l_gpios 9 0>;
	qcom,platform-en-gpio = <&pm6150l_gpios 4 0>;
	qcom,platform-bklight-en-gpio = <&pm6150l_gpios 5 0>;
};

&dsi_sim_cmd {
	qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
	qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs";
+52 −1
Original line number Diff line number Diff line
@@ -19,6 +19,8 @@
#include "dsi-panel-sw43404-amoled-dsc-wqhd-video.dtsi"
#include "dsi-panel-sw43404-amoled-dsc-wqhd-cmd.dtsi"
#include "dsi-panel-sw43404-amoled-dsc-fhd-plus-cmd.dtsi"
#include "dsi-panel-sharp-dualdsi-wqhd-video.dtsi"
#include "dsi-panel-sharp-dualdsi-wqhd-cmd.dtsi"
#include <dt-bindings/clock/mdss-10nm-pll-clk.h>

&soc {
@@ -193,6 +195,28 @@
		qcom,dsi-panel = <&dsi_dual_sim_dsc_375_cmd>;
	};

	dsi_dual_sharp_wqhd_video_display: qcom,dsi-display@9 {
		label = "dsi_dual_sharp_wqhd_video_display";
		qcom,display-type = "primary";

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

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

	dsi_dual_sharp_wqhd_cmd_display: qcom,dsi-display@10 {
		label = "dsi_dual_sharp_wqhd_cmd_display";
		qcom,display-type = "primary";

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

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

	sde_dsi: qcom,dsi-display {
		compatible = "qcom,dsi-display";

@@ -227,7 +251,9 @@
			&dsi_sim_cmd_display
			&dsi_dual_sim_cmd_display
			&dsi_sim_dsc_375_cmd_display
			&dsi_dual_sim_dsc_375_cmd_display>;
			&dsi_dual_sim_dsc_375_cmd_display
			&dsi_dual_sharp_wqhd_video_display
			&dsi_dual_sharp_wqhd_cmd_display>;
	};

	sde_wb: qcom,wb-display@0 {
@@ -324,6 +350,31 @@
	};
};

&dsi_dual_sharp_wqhd_video {
	qcom,mdss-dsi-t-clk-post = <0x0c>;
	qcom,mdss-dsi-t-clk-pre = <0x21>;
	qcom,mdss-dsi-display-timings {
		timing@0{
			qcom,mdss-dsi-panel-phy-timings = [00 2e 08 0a 12 18 08
				0b 09 03 04 00];
			qcom,display-topology = <2 0 2>;
			qcom,default-topology-index = <0>;
		};
	};
};

&dsi_dual_sharp_wqhd_cmd {
	qcom,mdss-dsi-t-clk-post = <0x0c>;
	qcom,mdss-dsi-t-clk-pre = <0x21>;
	qcom,mdss-dsi-display-timings {
		timing@0{
			qcom,mdss-dsi-panel-phy-timings = [00 2e 08 0a 12 18 08
				0b 09 03 04 00];
			qcom,display-topology = <2 0 2>;
			qcom,default-topology-index = <0>;
		};
	};
};

&dsi_sim_vid {
	qcom,mdss-dsi-t-clk-post = <0x0D>;