From 4fe1547298f51fa5f9e7ed3cfa3d084d02c63f28 Mon Sep 17 00:00:00 2001 From: Yuan Zhao Date: Wed, 1 Apr 2020 14:28:47 +0800 Subject: [PATCH] ARM: dts: msm: set 60hz cmd mode as default mode for qrd lahaina Set 60hz cmd mode as default display panel mode, and enable ESD check for cmd mode. Changed the PHY timing settings according to the new PHY timing excel version. Change-Id: Ib026bb19595a7f30bc7b2a36ac5eeb02749b043e --- display/dsi-panel-r66451-dsc-qhd-cmd.dtsi | 262 +++++++++++----------- display/lahaina-sde-display-qrd.dtsi | 2 +- display/lahaina-sde-display.dtsi | 34 ++- 3 files changed, 148 insertions(+), 150 deletions(-) diff --git a/display/dsi-panel-r66451-dsc-qhd-cmd.dtsi b/display/dsi-panel-r66451-dsc-qhd-cmd.dtsi index f5bb6a05fea2..c1caaf5afd7a 100644 --- a/display/dsi-panel-r66451-dsc-qhd-cmd.dtsi +++ b/display/dsi-panel-r66451-dsc-qhd-cmd.dtsi @@ -37,6 +37,138 @@ qcom,mdss-dsi-te-using-te-pin; qcom,mdss-dsi-display-timings { timing@0 { + qcom,mdss-dsi-panel-framerate = <60>; + qcom,mdss-dsi-panel-width = <1080>; + qcom,mdss-dsi-panel-height = <2340>; + qcom,mdss-dsi-h-front-porch = <95>; + qcom,mdss-dsi-h-back-porch = <40>; + qcom,mdss-dsi-h-pulse-width = <1>; + qcom,mdss-dsi-h-sync-skew = <0>; + qcom,mdss-dsi-v-back-porch = <4>; + qcom,mdss-dsi-v-front-porch = <25>; + qcom,mdss-dsi-v-pulse-width = <1>; + qcom,mdss-dsi-h-left-border = <0>; + qcom,mdss-dsi-h-right-border = <0>; + qcom,mdss-dsi-v-top-border = <0>; + qcom,mdss-dsi-v-bottom-border = <0>; + qcom,mdss-dsi-panel-jitter = <0x4 0x1>; + + qcom,mdss-dsi-timing-switch-command = [ + 39 01 00 00 00 00 02 b0 00 + 39 01 00 00 00 00 1a c2 09 24 0c 00 00 + 0c 09 3c 00 09 3c 00 00 00 00 00 00 + 00 00 00 00 00 30 00 6c + ]; + + qcom,mdss-dsi-on-command = [ + 39 01 00 00 00 00 02 b0 00 + 39 01 00 00 00 00 13 d8 00 00 00 00 00 + 00 00 00 00 5b 00 5b 00 5b 00 5b 00 + 5b + 39 01 00 00 00 00 02 b0 80 + 39 01 00 00 00 00 02 e6 00 + 39 01 00 00 00 00 02 b0 00 + 39 01 00 00 00 00 19 cf 64 0b 00 00 00 + 00 00 00 08 00 0b 77 01 01 01 01 01 + 01 04 04 04 04 04 05 + 39 01 00 00 00 00 02 b0 04 + 39 01 00 00 00 00 02 f7 01 + 39 01 00 00 00 00 03 df 50 40 + 39 01 00 00 00 00 06 f3 50 00 00 00 00 + 39 01 00 00 00 00 02 f2 11 + 39 01 00 00 00 00 06 f3 01 00 00 00 01 + 39 01 00 00 00 00 03 f4 00 02 + 39 01 00 00 00 00 02 f2 19 + 39 01 00 00 00 00 03 df 50 42 + 39 01 00 00 00 00 02 35 00 + 39 01 00 00 00 00 05 2a 00 00 04 37 + 39 01 00 00 00 00 05 2b 00 00 09 23 + 05 01 00 00 78 00 01 11 + 05 01 00 00 00 00 01 29 + ]; + + qcom,mdss-dsi-off-command = [ + 05 01 00 00 14 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"; + qcom,mdss-dsi-timing-switch-command-state = + "dsi_lp_mode"; + qcom,mdss-dsi-h-sync-pulse = <0>; + qcom,compression-mode = "dsc"; + qcom,mdss-dsc-slice-height = <20>; + qcom,mdss-dsc-slice-width = <540>; + qcom,mdss-dsc-slice-per-pkt = <1>; + qcom,mdss-dsc-bit-per-component = <8>; + qcom,mdss-dsc-bit-per-pixel = <8>; + qcom,mdss-dsc-block-prediction-enable; + }; + + timing@1 { + qcom,mdss-dsi-panel-framerate = <90>; + qcom,mdss-dsi-panel-width = <1080>; + qcom,mdss-dsi-panel-height = <2340>; + qcom,mdss-dsi-h-front-porch = <95>; + qcom,mdss-dsi-h-back-porch = <40>; + qcom,mdss-dsi-h-pulse-width = <1>; + qcom,mdss-dsi-h-sync-skew = <0>; + qcom,mdss-dsi-v-back-porch = <4>; + qcom,mdss-dsi-v-front-porch = <25>; + qcom,mdss-dsi-v-pulse-width = <1>; + qcom,mdss-dsi-h-left-border = <0>; + qcom,mdss-dsi-h-right-border = <0>; + qcom,mdss-dsi-v-top-border = <0>; + qcom,mdss-dsi-v-bottom-border = <0>; + qcom,mdss-dsi-panel-jitter = <0x4 0x1>; + + qcom,mdss-dsi-timing-switch-command = [ + 39 01 00 00 00 00 02 b0 00 + 39 01 00 00 00 00 1a c2 09 24 0c 00 00 + 0c 03 14 00 09 3c 00 00 00 00 00 00 + 00 00 00 00 00 30 00 6c + ]; + + qcom,mdss-dsi-on-command = [ + 39 01 00 00 00 00 02 b0 80 + 39 01 00 00 00 00 02 e6 00 + 39 01 00 00 00 00 02 b0 00 + 39 01 00 00 00 00 19 cf 64 0b 00 00 00 + 00 00 00 08 00 0b 77 01 01 01 01 01 + 01 04 04 04 04 04 05 + 39 01 00 00 00 00 02 b0 04 + 39 01 00 00 00 00 02 f7 01 + 39 01 00 00 00 00 03 df 50 40 + 39 01 00 00 00 00 06 f3 50 00 00 00 00 + 39 01 00 00 00 00 02 f2 11 + 39 01 00 00 00 00 06 f3 01 00 00 00 01 + 39 01 00 00 00 00 03 f4 00 02 + 39 01 00 00 00 00 02 f2 19 + 39 01 00 00 00 00 03 df 50 42 + 39 01 00 00 00 00 02 35 00 + 39 01 00 00 00 00 05 2a 00 00 04 37 + 39 01 00 00 00 00 05 2b 00 00 09 23 + 05 01 00 00 78 00 01 11 + 05 01 00 00 00 00 01 29 + ]; + + qcom,mdss-dsi-off-command = [ + 05 01 00 00 14 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"; + qcom,mdss-dsi-timing-switch-command-state = + "dsi_lp_mode"; + qcom,mdss-dsi-h-sync-pulse = <0>; + qcom,compression-mode = "dsc"; + qcom,mdss-dsc-slice-height = <20>; + qcom,mdss-dsc-slice-width = <540>; + qcom,mdss-dsc-slice-per-pkt = <1>; + qcom,mdss-dsc-bit-per-component = <8>; + qcom,mdss-dsc-bit-per-pixel = <8>; + qcom,mdss-dsc-block-prediction-enable; + }; + + timing@2 { qcom,mdss-dsi-panel-framerate = <120>; qcom,mdss-dsi-panel-width = <1080>; qcom,mdss-dsi-panel-height = <2340>; @@ -132,136 +264,6 @@ qcom,mdss-dsc-bit-per-pixel = <8>; qcom,mdss-dsc-block-prediction-enable; }; - - timing@1 { - qcom,mdss-dsi-panel-framerate = <90>; - qcom,mdss-dsi-panel-width = <1080>; - qcom,mdss-dsi-panel-height = <2340>; - qcom,mdss-dsi-h-front-porch = <95>; - qcom,mdss-dsi-h-back-porch = <40>; - qcom,mdss-dsi-h-pulse-width = <1>; - qcom,mdss-dsi-h-sync-skew = <0>; - qcom,mdss-dsi-v-back-porch = <4>; - qcom,mdss-dsi-v-front-porch = <25>; - qcom,mdss-dsi-v-pulse-width = <1>; - qcom,mdss-dsi-h-left-border = <0>; - qcom,mdss-dsi-h-right-border = <0>; - qcom,mdss-dsi-v-top-border = <0>; - qcom,mdss-dsi-v-bottom-border = <0>; - qcom,mdss-dsi-panel-jitter = <0x4 0x1>; - - qcom,mdss-dsi-timing-switch-command = [ - 39 01 00 00 00 00 02 b0 00 - 39 01 00 00 00 00 1a c2 09 24 0c 00 00 - 0c 03 14 00 09 3c 00 00 00 00 00 00 - 00 00 00 00 00 30 00 6c - ]; - - qcom,mdss-dsi-on-command = [ - 39 01 00 00 00 00 02 b0 80 - 39 01 00 00 00 00 02 e6 00 - 39 01 00 00 00 00 02 b0 00 - 39 01 00 00 00 00 19 cf 64 0b 00 00 00 - 00 00 00 08 00 0b 77 01 01 01 01 01 - 01 04 04 04 04 04 05 - 39 01 00 00 00 00 02 b0 04 - 39 01 00 00 00 00 02 f7 01 - 39 01 00 00 00 00 03 df 50 40 - 39 01 00 00 00 00 06 f3 50 00 00 00 00 - 39 01 00 00 00 00 02 f2 11 - 39 01 00 00 00 00 06 f3 01 00 00 00 01 - 39 01 00 00 00 00 03 f4 00 02 - 39 01 00 00 00 00 02 f2 19 - 39 01 00 00 00 00 03 df 50 42 - 39 01 00 00 00 00 02 35 00 - 39 01 00 00 00 00 05 2a 00 00 04 37 - 39 01 00 00 00 00 05 2b 00 00 09 23 - 05 01 00 00 78 00 01 11 - 05 01 00 00 00 00 01 29 - ]; - qcom,mdss-dsi-off-command = [ - 05 01 00 00 14 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"; - qcom,mdss-dsi-timing-switch-command-state = - "dsi_lp_mode"; - qcom,mdss-dsi-h-sync-pulse = <0>; - qcom,compression-mode = "dsc"; - qcom,mdss-dsc-slice-height = <20>; - qcom,mdss-dsc-slice-width = <540>; - qcom,mdss-dsc-slice-per-pkt = <1>; - qcom,mdss-dsc-bit-per-component = <8>; - qcom,mdss-dsc-bit-per-pixel = <8>; - qcom,mdss-dsc-block-prediction-enable; - }; - - timing@2 { - qcom,mdss-dsi-panel-framerate = <60>; - qcom,mdss-dsi-panel-width = <1080>; - qcom,mdss-dsi-panel-height = <2340>; - qcom,mdss-dsi-h-front-porch = <95>; - qcom,mdss-dsi-h-back-porch = <40>; - qcom,mdss-dsi-h-pulse-width = <1>; - qcom,mdss-dsi-h-sync-skew = <0>; - qcom,mdss-dsi-v-back-porch = <4>; - qcom,mdss-dsi-v-front-porch = <25>; - qcom,mdss-dsi-v-pulse-width = <1>; - qcom,mdss-dsi-h-left-border = <0>; - qcom,mdss-dsi-h-right-border = <0>; - qcom,mdss-dsi-v-top-border = <0>; - qcom,mdss-dsi-v-bottom-border = <0>; - qcom,mdss-dsi-panel-jitter = <0x4 0x1>; - - qcom,mdss-dsi-timing-switch-command = [ - 39 01 00 00 00 00 02 b0 00 - 39 01 00 00 00 00 1a c2 09 24 0c 00 00 - 0c 09 3c 00 09 3c 00 00 00 00 00 00 - 00 00 00 00 00 30 00 6c - ]; - - qcom,mdss-dsi-on-command = [ - 39 01 00 00 00 00 02 b0 00 - 39 01 00 00 00 00 13 d8 00 00 00 00 00 - 00 00 00 00 5b 00 5b 00 5b 00 5b 00 - 5b - 39 01 00 00 00 00 02 b0 80 - 39 01 00 00 00 00 02 e6 00 - 39 01 00 00 00 00 02 b0 00 - 39 01 00 00 00 00 19 cf 64 0b 00 00 00 - 00 00 00 08 00 0b 77 01 01 01 01 01 - 01 04 04 04 04 04 05 - 39 01 00 00 00 00 02 b0 04 - 39 01 00 00 00 00 02 f7 01 - 39 01 00 00 00 00 03 df 50 40 - 39 01 00 00 00 00 06 f3 50 00 00 00 00 - 39 01 00 00 00 00 02 f2 11 - 39 01 00 00 00 00 06 f3 01 00 00 00 01 - 39 01 00 00 00 00 03 f4 00 02 - 39 01 00 00 00 00 02 f2 19 - 39 01 00 00 00 00 03 df 50 42 - 39 01 00 00 00 00 02 35 00 - 39 01 00 00 00 00 05 2a 00 00 04 37 - 39 01 00 00 00 00 05 2b 00 00 09 23 - 05 01 00 00 78 00 01 11 - 05 01 00 00 00 00 01 29 - ]; - qcom,mdss-dsi-off-command = [ - 05 01 00 00 14 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"; - qcom,mdss-dsi-timing-switch-command-state = - "dsi_lp_mode"; - qcom,mdss-dsi-h-sync-pulse = <0>; - qcom,compression-mode = "dsc"; - qcom,mdss-dsc-slice-height = <20>; - qcom,mdss-dsc-slice-width = <540>; - qcom,mdss-dsc-slice-per-pkt = <1>; - qcom,mdss-dsc-bit-per-component = <8>; - qcom,mdss-dsc-bit-per-pixel = <8>; - qcom,mdss-dsc-block-prediction-enable; - }; }; }; }; diff --git a/display/lahaina-sde-display-qrd.dtsi b/display/lahaina-sde-display-qrd.dtsi index 50a41f2753b0..b28072692f4e 100644 --- a/display/lahaina-sde-display-qrd.dtsi +++ b/display/lahaina-sde-display-qrd.dtsi @@ -62,5 +62,5 @@ }; &sde_dsi { - qcom,dsi-default-panel = <&dsi_r66451_amoled_video>; + qcom,dsi-default-panel = <&dsi_r66451_amoled_cmd>; }; diff --git a/display/lahaina-sde-display.dtsi b/display/lahaina-sde-display.dtsi index 7bfc29dc3452..0d0bb48d2298 100644 --- a/display/lahaina-sde-display.dtsi +++ b/display/lahaina-sde-display.dtsi @@ -239,16 +239,9 @@ &dsi_r66451_amoled_video { qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0"; qcom,mdss-dsi-display-timings { - /* - * CDP could not display using the old HFP(96) and HSYNC(32). - * Modified HFP to 95 and HSYNC to 1, but using the new porch - * to caculator the PHY timing based on version YB, 90hz could - * not display, need to keep the PHY timing(which based on - * HFP=96, HSYNC=32). - */ timing@0 { - qcom,mdss-dsi-panel-phy-timings = [00 15 06 06 0a 09 06 - 06 04 02 04 00 12 0b]; + qcom,mdss-dsi-panel-phy-timings = [00 16 06 05 14 1f 06 + 06 06 02 04 00 14 0a]; qcom,display-topology = <2 2 1>; qcom,default-topology-index = <0>; }; @@ -257,29 +250,32 @@ &dsi_r66451_amoled_cmd { qcom,ulps-enabled; + qcom,esd-check-enabled; + qcom,mdss-dsi-panel-status-check-mode = "reg_read"; + qcom,mdss-dsi-panel-status-command = [06 01 00 01 00 00 01 0a]; + qcom,mdss-dsi-panel-status-command-state = "dsi_lp_mode"; + qcom,mdss-dsi-panel-status-value = <0x1c>; + qcom,mdss-dsi-panel-status-read-length = <1>; qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0"; qcom,dsi-select-sec-clocks = "mux_byte_clk1", "mux_pixel_clk1"; qcom,mdss-dsi-display-timings { timing@0 { - qcom,mdss-dsi-panel-phy-timings = [00 19 08 07 0c 0b 07 - 07 05 02 04 00 16 0c]; + qcom,mdss-dsi-panel-phy-timings = [00 10 04 04 12 1e 04 + 04 03 02 04 00 0e 09]; qcom,display-topology = <2 2 1>; qcom,default-topology-index = <0>; }; timing@1 { - qcom,mdss-dsi-panel-phy-timings = [00 13 06 05 09 1f 06 - 06 03 02 04 00 11 0a]; + qcom,mdss-dsi-panel-phy-timings = [00 16 06 05 14 1f 06 + 06 06 02 04 00 14 0a]; qcom,display-topology = <2 2 1>; qcom,default-topology-index = <0>; }; - /* - * Using PHY Timings version YB 60hz could not display, - * refer to version W, changed T_HS_ZERO from 0x06 to 0x1e. - */ + timing@2 { - qcom,mdss-dsi-panel-phy-timings = [00 0d 04 04 07 1e 04 - 04 02 02 04 00 0c 09]; + qcom,mdss-dsi-panel-phy-timings = [00 1c 08 07 17 16 07 + 07 08 02 04 00 19 0c]; qcom,display-topology = <2 2 1>; qcom,default-topology-index = <0>; };