diff --git a/qcom/dsi-panel-arglass-seeya-dual-1080p-90hz-video.dtsi b/qcom/dsi-panel-arglass-seeya-dual-1080p-90hz-video.dtsi new file mode 100644 index 000000000000..f40532d9e0aa --- /dev/null +++ b/qcom/dsi-panel-arglass-seeya-dual-1080p-90hz-video.dtsi @@ -0,0 +1,116 @@ +&mdss_mdp { + dsi_dual_arglass_seeya_90hz_video: qcom,mdss_dsi_arglass_seeya_90hz_video { + qcom,mdss-dsi-panel-name = + "sy049wdm02 uoled video mode dsi seeya 90HZ panel with DSC"; + qcom,mdss-dsi-panel-type = "dsi_video_mode"; + qcom,dsi-ctrl-num = <0 1>; + qcom,dsi-phy-num = <0 1>; + + 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_event"; + 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 50>; + qcom,adjust-timer-wakeup-ms = <1>; + qcom,mdss-dsi-panel-count = <2>; + qcom,mdss-dsi-panel-hdr-color-primaries = <14500 15500 32000 + 17000 15500 30000 8000 3000>; + + 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 = <32>; + qcom,mdss-dsi-h-back-porch = <32>; + qcom,mdss-dsi-h-pulse-width = <4>; + qcom,mdss-dsi-h-sync-skew = <0>; + qcom,mdss-dsi-v-back-porch = <14>; + qcom,mdss-dsi-v-front-porch = <16>; + qcom,mdss-dsi-v-pulse-width = <2>; + qcom,mdss-dsi-h-left-border = <0>; + qcom,mdss-dsi-panel-framerate = <90>; + qcom,mdss-dsi-on-command = [ + //cmd1 + 39 01 00 00 00 00 02 53 29 + 39 01 00 00 00 00 03 51 FF 01 + 39 01 00 00 00 00 02 03 01 + 39 01 00 00 00 00 07 80 01 E0 E0 0E 00 31 + 39 01 00 00 00 00 08 81 03 04 00 10 00 10 00 + 39 01 00 00 00 00 08 82 03 04 00 10 00 10 01 + 39 01 00 00 00 00 02 35 00 + 39 01 00 00 00 00 02 26 20 + //pps + 39 01 00 00 00 00 11 70 00 00 00 89 20 80 04 38 + 07 80 00 1e 03 C0 03 C0 + 39 01 00 00 00 00 02 65 10 + 39 01 00 00 00 00 11 70 02 00 00 00 00 20 03 B4 + 00 0D 00 0C 03 50 01 E9 + 39 01 00 00 00 00 02 65 20 + 39 01 00 00 00 00 0D 70 18 00 10 F0 03 0C 20 00 + 06 0B 0B 33 + // cmd2 p1 + 39 01 00 00 00 00 03 F0 AA 11 + 39 01 00 00 00 00 02 C0 00 + 39 01 00 00 00 00 09 C2 03 FF 03 FF 03 FF 03 FF + // cmd2 p2 + 39 01 00 00 00 00 03 F0 AA 12 + 39 01 00 00 00 00 03 BF 37 A9 + /* H mirror dsi1 */ + 39 01 00 00 00 00 03 FF 5A 80 + 39 01 00 00 00 00 02 65 2F + 39 01 00 00 00 00 02 F2 01 + 39 01 00 00 00 00 02 36 02 + /* v mirror dsi0 */ + 39 01 00 04 00 00 03 FF 5A 80 + 39 01 00 04 00 00 02 65 2F + 39 01 00 04 00 00 02 F2 01 + 39 01 00 04 00 00 02 36 01 + 39 01 00 04 00 00 03 F0 AA 13 + 39 01 00 04 00 00 02 65 01 + 39 01 00 04 00 00 02 C1 A2 + 39 01 00 04 00 00 07 C4 12 53 64 31 42 56 + 39 01 00 04 00 00 03 F0 AA 16 + 39 01 00 04 00 00 07 B6 12 53 64 31 42 56 + 39 01 00 04 00 00 03 B0 00 55 + /* CMDs PP0 */ + 39 01 00 00 00 00 03 FF 5A 80 + 39 01 00 00 00 00 02 65 2F + 39 01 00 00 00 00 02 F2 01 + //cmd3 p1 + 39 01 00 00 00 00 03 FF 5A 81 + 39 01 00 00 00 00 02 65 05 + 39 01 00 00 00 00 02 F2 22 + 39 01 00 00 00 00 02 65 0A + 39 01 00 00 00 00 02 F2 00 + 39 01 00 00 00 00 02 65 16 + 39 01 00 00 00 00 0F F9 01 5F 61 64 67 6A 6D 6F + 75 7B 80 86 8B 91 + 05 01 00 00 14 00 01 11 + 05 01 00 00 64 00 01 29 + 39 01 00 00 00 00 03 F0 AA 11 + ]; + qcom,mdss-dsi-off-command = [05 01 00 00 0a 00 + 02 28 00 05 01 00 00 3c 00 02 10 00]; + + qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; + qcom,mdss-dsi-off-command-state = "dsi_hs_mode"; + qcom,compression-mode = "dsc"; + qcom,mdss-dsc-slice-height = <30>; + qcom,mdss-dsc-slice-width = <960>; + 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/qcom/dsi-panel-arglass-seeya-dual-1080p-video.dtsi b/qcom/dsi-panel-arglass-seeya-dual-1080p-video.dtsi index 68de1d6cd513..0b6d8193955e 100644 --- a/qcom/dsi-panel-arglass-seeya-dual-1080p-video.dtsi +++ b/qcom/dsi-panel-arglass-seeya-dual-1080p-video.dtsi @@ -1,7 +1,7 @@ &mdss_mdp { dsi_dual_arglass_seeya_video: qcom,mdss_dsi_arglass_seeya_video { qcom,mdss-dsi-panel-name = - "sy049wdm02 uoled video mode dsi seeya panel with DSC"; + "sy049wdm02 uoled video mode dsi seeya 60Hz panel"; qcom,mdss-dsi-panel-type = "dsi_video_mode"; qcom,dsi-ctrl-num = <0 1>; qcom,dsi-phy-num = <0 1>; @@ -21,47 +21,39 @@ qcom,mdss-dsi-mdp-trigger = "none"; qcom,mdss-dsi-reset-sequence = <1 20>, <0 20>, <1 50>; qcom,adjust-timer-wakeup-ms = <1>; - qcom,mdss-dsi-panel-count = <2>; + qcom,mdss-dsi-panel-hdr-enabled; qcom,mdss-dsi-panel-hdr-color-primaries = <14500 15500 32000 17000 15500 30000 8000 3000>; + qcom,mdss-dsi-panel-peak-brightness = <4200000>; + qcom,mdss-dsi-panel-blackness-level = <3230>; 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 = <32>; - qcom,mdss-dsi-h-back-porch = <32>; - qcom,mdss-dsi-h-pulse-width = <4>; + 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 = <14>; - qcom,mdss-dsi-v-front-porch = <16>; - qcom,mdss-dsi-v-pulse-width = <2>; + qcom,mdss-dsi-v-back-porch = <36>; + qcom,mdss-dsi-v-front-porch = <5>; + qcom,mdss-dsi-v-pulse-width = <5>; qcom,mdss-dsi-h-left-border = <0>; - qcom,mdss-dsi-panel-framerate = <90>; + qcom,mdss-dsi-panel-framerate = <60>; qcom,mdss-dsi-on-command = [ - //cmd1 39 01 00 00 00 00 02 53 29 39 01 00 00 00 00 03 51 FF 01 - 39 01 00 00 00 00 02 03 01 - 39 01 00 00 00 00 07 80 01 E0 E0 0E 00 31 - 39 01 00 00 00 00 08 81 03 04 00 10 00 10 00 - 39 01 00 00 00 00 08 82 03 04 00 10 00 10 01 + 39 01 00 00 00 00 02 03 00 + 39 01 00 00 00 00 07 80 00 E0 E0 0E 00 31 + 39 01 00 00 00 00 08 81 03 04 00 29 00 05 00 + 39 01 00 00 00 00 08 82 03 04 00 29 00 05 01 39 01 00 00 00 00 02 35 00 39 01 00 00 00 00 02 26 20 - //pps - 39 01 00 00 00 00 11 70 00 00 00 89 20 80 04 38 - 07 80 00 1e 03 C0 03 C0 - 39 01 00 00 00 00 02 65 10 - 39 01 00 00 00 00 11 70 02 00 00 00 00 20 03 B4 - 00 0D 00 0C 03 50 01 E9 - 39 01 00 00 00 00 02 65 20 - 39 01 00 00 00 00 0D 70 18 00 10 F0 03 0C 20 00 - 06 0B 0B 33 - // cmd2 p1 + /* CMD2 P1 */ 39 01 00 00 00 00 03 F0 AA 11 39 01 00 00 00 00 02 C0 00 - 39 01 00 00 00 00 09 C2 03 FF 03 FF 03 FF 03 FF - // cmd2 p2 + 39 01 00 00 00 00 0C C2 03 FF 03 FF 03 FF 03 FF 82 00 00 + /* CMD2 P2 */ 39 01 00 00 00 00 03 F0 AA 12 39 01 00 00 00 00 03 BF 37 A9 /* H mirror dsi1 */ @@ -69,7 +61,7 @@ 39 01 00 00 00 00 02 65 2F 39 01 00 00 00 00 02 F2 01 39 01 00 00 00 00 02 36 02 - /* v mirror dsi0 */ + /* V mirror dsi0 */ 39 01 00 04 00 00 03 FF 5A 80 39 01 00 04 00 00 02 65 2F 39 01 00 04 00 00 02 F2 01 @@ -81,21 +73,20 @@ 39 01 00 04 00 00 03 F0 AA 16 39 01 00 04 00 00 07 B6 12 53 64 31 42 56 39 01 00 04 00 00 03 B0 00 55 - /* CMDs PP0 */ + /* CMD3 P0 */ 39 01 00 00 00 00 03 FF 5A 80 39 01 00 00 00 00 02 65 2F 39 01 00 00 00 00 02 F2 01 - //cmd3 p1 + /* CMD3 P1 */ 39 01 00 00 00 00 03 FF 5A 81 39 01 00 00 00 00 02 65 05 39 01 00 00 00 00 02 F2 22 39 01 00 00 00 00 02 65 0A 39 01 00 00 00 00 02 F2 00 39 01 00 00 00 00 02 65 16 - 39 01 00 00 00 00 0F F9 01 5F 61 64 67 6A 6D 6F - 75 7B 80 86 8B 91 - 05 01 00 00 14 00 01 11 - 05 01 00 00 64 00 01 29 + 39 01 00 00 00 00 0F F9 01 5F 61 64 67 6A 6D 6F 75 7B 80 86 8B 91 + 05 01 00 00 cb 00 02 11 00 + 05 01 00 00 00 00 02 29 00 39 01 00 00 00 00 03 F0 AA 11 ]; qcom,mdss-dsi-off-command = [05 01 00 00 0a 00 @@ -103,13 +94,6 @@ qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; qcom,mdss-dsi-off-command-state = "dsi_hs_mode"; - qcom,compression-mode = "dsc"; - qcom,mdss-dsc-slice-height = <30>; - qcom,mdss-dsc-slice-width = <960>; - 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/qcom/kona-arglass.dtsi b/qcom/kona-arglass.dtsi index f892b1eecfba..4462f13f5e1a 100644 --- a/qcom/kona-arglass.dtsi +++ b/qcom/kona-arglass.dtsi @@ -562,7 +562,7 @@ /delete-property/ avdd-supply; lab-supply = <&lcdb_ldo_vreg>; ibb-supply = <&lcdb_ncp_vreg>; - qcom,dsi-default-panel = <&dsi_dual_arglass_seeya_video>; + qcom,dsi-default-panel = <&dsi_dual_arglass_seeya_90hz_video>; }; &display_panel_avdd { @@ -577,6 +577,19 @@ status = "ok"; }; +&dsi_dual_arglass_seeya_90hz_video { + qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; + qcom,mdss-dsi-bl-ctrl-dcs-subtype = <0xc2>; + qcom,mdss-dsi-bl-min-level = <1>; + qcom,mdss-dsi-bl-max-level = <1023>; + qcom,mdss-brightness-max-level = <1023>; + qcom,platform-reset-gpio = <&tlmm 75 0>; + qcom,platform-bklight-en-gpio = <&tlmm 46 0>; + qcom,5v-boost-gpio = <&tlmm 61 0>; + /delete-property/ qcom,platform-en-gpio; +}; + &dsi_dual_arglass_seeya_video { qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; diff --git a/qcom/kona-sde-display.dtsi b/qcom/kona-sde-display.dtsi index 71ad42361b5b..57f0a9bb236b 100644 --- a/qcom/kona-sde-display.dtsi +++ b/qcom/kona-sde-display.dtsi @@ -22,8 +22,9 @@ #include "dsi-panel-sim-sec-hd-cmd.dtsi" #include "dsi-panel-xrsmrtvwr-jdi-dual-video.dtsi" #include "dsi-panel-r66451-dsc-fhd-plus-144hz-cmd.dtsi" -#include "dsi-panel-arglass-seeya-dual-1080p-video.dtsi" #include "dsi-panel-nt36672e-fhd-plus-60hz-video.dtsi" +#include "dsi-panel-arglass-seeya-dual-1080p-video.dtsi" +#include "dsi-panel-arglass-seeya-dual-1080p-90hz-video.dtsi" #include &tlmm { @@ -312,6 +313,25 @@ &dsi_dual_arglass_seeya_video { qcom,mdss-dsi-min-refresh-rate = <60>; + qcom,mdss-dsi-max-refresh-rate = <60>; + qcom,mdss-dsi-panel-status-command = [06 01 00 01 00 00 01 0a]; + qcom,mdss-dsi-panel-status-command-state = "dsi_hs_mode"; + qcom,mdss-dsi-panel-status-value = <0x9c>; + qcom,mdss-dsi-panel-on-check-value = <0x9c>; + qcom,mdss-dsi-panel-status-read-length = <1>; + qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0"; + qcom,mdss-dsi-display-timings { + timing@0 { + qcom,mdss-dsi-panel-phy-timings = [00 11 04 04 12 1E + 04 04 04 03 02 04 0F 09]; + qcom,display-topology = <2 0 2>; + qcom,default-topology-index = <0>; + }; + }; +}; + +&dsi_dual_arglass_seeya_90hz_video { + qcom,mdss-dsi-min-refresh-rate = <90>; qcom,mdss-dsi-max-refresh-rate = <90>; qcom,mdss-dsi-panel-status-command = [06 01 00 01 00 00 01 0a]; qcom,mdss-dsi-panel-status-command-state = "dsi_hs_mode";