From daf6614ab6be7dfeb48b497d44de89b6e0bed1d9 Mon Sep 17 00:00:00 2001 From: Jinfeng Gu Date: Sat, 6 Apr 2024 22:24:12 +0800 Subject: [PATCH] ARM: dts: msm: add FHD+ mode for csot panel This change add a mode with FHD+ resolution for csot panel. Change-Id: I72c5efc4159fb0ed99fcaa5fd93069601993d598 Signed-off-by: Jinfeng Gu --- .../dsi-panel-nt37801-dsc-fhd-plus-cmd.dtsi | 552 ++++++++++++++++++ .../dsi-panel-nt37801-dsc-wqhd-plus-cmd.dtsi | 107 +--- display/sun-sde-display-cdp.dtsi | 16 +- display/sun-sde-display-common.dtsi | 66 ++- display/sun-sde-display-mtp.dtsi | 13 +- display/sun-sde-display.dtsi | 36 +- 6 files changed, 673 insertions(+), 117 deletions(-) create mode 100644 display/dsi-panel-nt37801-dsc-fhd-plus-cmd.dtsi diff --git a/display/dsi-panel-nt37801-dsc-fhd-plus-cmd.dtsi b/display/dsi-panel-nt37801-dsc-fhd-plus-cmd.dtsi new file mode 100644 index 00000000..f93d1a07 --- /dev/null +++ b/display/dsi-panel-nt37801-dsc-fhd-plus-cmd.dtsi @@ -0,0 +1,552 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +&mdss_mdp { + dsi_nt37801_amoled_fhd_plus_cmd: qcom,mdss_dsi_nt37801_fhd_plus_cmd { + qcom,mdss-dsi-panel-name = + "nt37801 amoled fhd plus cmd mode dsi csot panel with DSC"; + qcom,mdss-dsi-panel-type = "dsi_cmd_mode"; + qcom,mdss-dsi-panel-physical-type = "oled"; + qcom,mdss-dsi-virtual-channel-id = <0>; + qcom,mdss-dsi-stream = <0>; + qcom,mdss-dsi-bpp = <24>; + qcom,mdss-dsi-color-order = "rgb_swap_rgb"; + qcom,mdss-dsi-underflow-color = <0xff>; + qcom,mdss-dsi-border-color = <0>; + + qcom,dsi-ctrl-num = <0>; + qcom,dsi-phy-num = <0>; + qcom,dsi-sec-ctrl-num = <1>; + qcom,dsi-sec-phy-num = <1>; + + qcom,mdss-dsi-traffic-mode = "non_burst_sync_event"; + qcom,mdss-dsi-lane-map = "lane_map_0123"; + 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 10>, <0 10>, <1 10>; + + 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,spr-pack-type = "pentile"; + qcom,mdss-dsi-display-timings { + timing@0 { + cell-index = <0>; + qcom,mdss-dsi-panel-framerate = <120>; + qcom,mdss-dsi-panel-width = <1080>; + qcom,mdss-dsi-panel-height = <2400>; + qcom,mdss-dsi-h-front-porch = <20>; + qcom,mdss-dsi-h-back-porch = <20>; + qcom,mdss-dsi-h-pulse-width = <4>; + qcom,mdss-dsi-h-sync-skew = <0>; + qcom,mdss-dsi-v-back-porch = <18>; + qcom,mdss-dsi-v-front-porch = <20>; + qcom,mdss-dsi-v-pulse-width = <2>; + 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 05 2A 00 00 04 37 + 39 01 00 00 00 00 05 2B 00 00 09 5F + 39 01 00 00 00 00 02 8F 01 + 39 01 00 00 00 00 02 2f 00 + 39 01 00 00 00 00 02 26 00 + 39 01 00 00 00 00 06 f0 55 aa 52 08 00 + 39 01 00 00 00 00 06 c0 54 c0 00 21 43 + 39 01 00 00 00 00 06 f0 55 aa 52 08 02 + 39 01 00 00 00 00 02 cc 30 + 39 01 00 00 00 00 02 ce 01 + 39 01 00 00 20 00 02 cc 00 + ]; + + qcom,mdss-dsi-on-command = [ + 39 01 00 00 00 00 06 F0 55 AA 52 08 01 + 39 01 00 00 00 00 02 6F 01 + 39 01 00 00 00 00 04 C5 0B 0B 0B + 39 01 00 00 00 00 05 FF AA 55 A5 80 + 39 01 00 00 00 00 02 6F 02 + 39 01 00 00 00 00 02 F5 10 + 39 01 00 00 00 00 02 6F 1B + 39 01 00 00 00 00 02 F4 55 + 39 01 00 00 00 00 02 6F 18 + 39 01 00 00 00 00 02 F8 19 + 39 01 00 00 00 00 02 6F 0F + 39 01 00 00 00 00 02 FC 00 + 39 01 00 00 00 00 05 2A 00 00 04 37 + 39 01 00 00 00 00 05 2B 00 00 09 5F + 39 01 00 00 00 00 03 90 03 03 + 39 01 00 00 00 00 13 91 89 28 00 28 D2 00 02 86 04 3A 00 0A 02 AB 01 E9 10 F0 + 39 01 00 00 00 00 13 93 89 28 00 28 D2 00 02 25 03 B6 00 07 02 AB 02 8B 10 F0 + 39 01 00 00 00 00 13 95 89 28 00 28 D2 00 01 C3 02 FC 00 05 02 AB 03 D1 10 F0 + 39 01 00 00 00 00 02 03 00 + 39 01 00 00 00 00 02 8F 01 + 39 01 00 00 00 00 02 6F 06 + 39 01 00 00 00 00 02 F3 DC + 39 01 00 00 00 00 02 26 00 + 39 01 00 00 00 00 02 35 00 + 39 01 00 00 00 00 05 3B 00 18 00 10 + 39 01 00 00 00 00 02 53 20 + 39 01 00 00 00 00 07 51 07 FF 07 FF 0F FF + 39 01 00 00 00 00 02 5A 01 + 39 01 00 00 00 00 02 5F 00 + 39 01 00 00 00 00 02 9C 01 + 05 01 00 00 00 00 01 2C + 39 01 00 00 00 00 02 2F 00 + + 05 01 00 00 78 00 01 11 + 05 01 00 00 14 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 = <40>; + 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 { + cell-index = <1>; + qcom,mdss-dsi-panel-framerate = <90>; + qcom,mdss-dsi-panel-width = <1080>; + qcom,mdss-dsi-panel-height = <2400>; + qcom,mdss-dsi-h-front-porch = <20>; + qcom,mdss-dsi-h-back-porch = <20>; + qcom,mdss-dsi-h-pulse-width = <4>; + qcom,mdss-dsi-h-sync-skew = <0>; + qcom,mdss-dsi-v-back-porch = <18>; + qcom,mdss-dsi-v-front-porch = <20>; + qcom,mdss-dsi-v-pulse-width = <2>; + 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-panel-clockrate = <680000000>; + + qcom,mdss-dsi-timing-switch-command = [ + 39 01 00 00 00 00 05 2a 00 00 04 37 + 39 01 00 00 00 00 05 2b 00 00 09 5f + 39 01 00 00 00 00 02 8f 01 + 39 01 00 00 00 00 02 2f 01 + 39 01 00 00 00 00 02 26 01 + 39 01 00 00 00 00 06 f0 55 aa 52 08 00 + 39 01 00 00 00 00 06 c0 54 c0 00 24 45 + 39 01 00 00 00 00 06 f0 55 aa 52 08 02 + 39 01 00 00 00 00 02 cc 30 + 39 01 00 00 00 00 02 ce 01 + 39 01 00 00 20 00 02 cc 00 + ]; + + qcom,mdss-dsi-on-command = [ + 39 01 00 00 00 00 06 F0 55 AA 52 08 01 + 39 01 00 00 00 00 02 6F 01 + 39 01 00 00 00 00 04 C5 0B 0B 0B + 39 01 00 00 00 00 05 FF AA 55 A5 80 + 39 01 00 00 00 00 02 6F 06 + 39 01 00 00 00 00 02 F3 DC + 39 01 00 00 00 00 02 6F 02 + 39 01 00 00 00 00 02 F5 10 + 39 01 00 00 00 00 02 6F 1B + 39 01 00 00 00 00 02 F4 55 + 39 01 00 00 00 00 02 6F 18 + 39 01 00 00 00 00 02 F8 19 + 39 01 00 00 00 00 02 6F 0F + 39 01 00 00 00 00 02 FC 00 + 39 01 00 00 00 00 05 2a 00 00 04 37 + 39 01 00 00 00 00 05 2b 00 00 09 5f + 39 01 00 00 00 00 03 90 03 03 + 39 01 00 00 00 00 13 91 89 28 00 28 f2 + 00 02 52 03 71 00 07 03 14 02 8b 10 + f0 + 39 01 00 00 00 00 05 ff aa 55 a5 81 + 39 01 00 00 00 00 02 6f 23 + 39 01 00 00 00 00 15 FB 00 01 00 11 33 + 33 33 55 57 d0 00 00 44 56 77 78 9a + bc dd f0 + 39 01 00 00 00 00 02 35 00 + 39 01 00 00 00 00 05 3B 00 18 00 10 + 39 01 00 00 00 00 02 53 20 + 39 01 00 00 00 00 07 51 07 FF 07 FF 0F + FF + 39 01 00 00 00 00 02 5A 01 + 39 01 00 00 00 00 02 5F 00 + 39 01 00 00 00 00 02 9C 01 + 05 01 00 00 00 00 01 2C + 39 01 00 00 00 00 02 2f 01 + 39 01 00 00 00 00 02 26 01 + 39 01 00 00 00 00 06 f0 55 aa 52 08 00 + 39 01 00 00 00 00 06 c0 54 c0 00 24 45 + 39 01 00 00 00 00 06 f0 55 aa 52 08 02 + 39 01 00 00 00 00 02 cc 30 + 39 01 00 00 00 00 02 ce 01 + 39 01 00 00 20 00 02 cc 00 + 39 01 00 00 00 00 06 F0 55 AA 52 08 01 + 39 01 00 00 00 00 05 B2 55 01 FF 03 + 05 01 00 00 78 00 01 11 + 05 01 00 00 14 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 = <40>; + 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 { + cell-index = <2>; + qcom,mdss-dsi-panel-framerate = <60>; + qcom,mdss-dsi-panel-width = <1080>; + qcom,mdss-dsi-panel-height = <2400>; + qcom,mdss-dsi-h-front-porch = <20>; + qcom,mdss-dsi-h-back-porch = <20>; + qcom,mdss-dsi-h-pulse-width = <4>; + qcom,mdss-dsi-h-sync-skew = <0>; + qcom,mdss-dsi-v-back-porch = <18>; + qcom,mdss-dsi-v-front-porch = <20>; + qcom,mdss-dsi-v-pulse-width = <2>; + 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-panel-clockrate = <680000000>; + + qcom,mdss-dsi-timing-switch-command = [ + 39 01 00 00 00 00 05 2a 00 00 04 37 + 39 01 00 00 00 00 05 2b 00 00 09 5f + 39 01 00 00 00 00 02 8f 01 + 39 01 00 00 00 00 02 2f 00 + 39 01 00 00 00 00 02 26 01 + 39 01 00 00 00 00 02 5a 01 + 39 01 00 00 00 00 02 2f 30 + 39 01 00 00 00 00 06 f0 55 aa 52 08 00 + 39 01 00 00 00 00 02 6f 1c + 39 01 00 00 00 00 09 ba 91 01 01 00 01 + 01 01 00 + 39 01 00 00 00 00 06 f0 55 aa 52 08 00 + 39 01 00 00 00 00 06 c0 54 c0 00 21 43 + 39 01 00 00 00 00 06 f0 55 aa 52 08 02 + 39 01 00 00 00 00 02 cc 30 + 39 01 00 00 00 00 02 ce 01 + 39 01 00 00 20 00 02 cc 00 + ]; + + qcom,mdss-dsi-on-command = [ + 39 01 00 00 00 00 06 F0 55 AA 52 08 01 + 39 01 00 00 00 00 02 6F 01 + 39 01 00 00 00 00 04 C5 0B 0B 0B + 39 01 00 00 00 00 05 FF AA 55 A5 80 + 39 01 00 00 00 00 02 6F 02 + 39 01 00 00 00 00 02 F5 10 + 39 01 00 00 00 00 02 6F 1B + 39 01 00 00 00 00 02 F4 55 + 39 01 00 00 00 00 02 6F 18 + 39 01 00 00 00 00 02 F8 19 + 39 01 00 00 00 00 02 6F 0F + 39 01 00 00 00 00 02 FC 00 + 39 01 00 00 00 00 05 2a 00 00 04 37 + 39 01 00 00 00 00 05 2b 00 00 09 5f + 39 01 00 00 00 00 03 90 03 03 + 39 01 00 00 00 00 13 91 89 28 00 32 d2 + 00 02 25 04 a7 00 07 02 20 02 09 10 + f0 + 39 01 00 00 00 00 02 6F 06 + 39 01 00 00 00 00 02 F3 DC + 39 01 00 00 00 00 02 26 00 + 39 01 00 00 00 00 02 35 00 + 39 01 00 00 00 00 05 3B 00 18 00 10 + 39 01 00 00 00 00 02 53 20 + 39 01 00 00 00 00 07 51 07 FF 07 FF 0F + FF + 39 01 00 00 00 00 02 5A 01 + 39 01 00 00 00 00 02 5F 00 + 39 01 00 00 00 00 02 9C 01 + 05 01 00 00 00 00 01 2C + 39 01 00 00 00 00 02 2f 00 + 39 01 00 00 00 00 02 26 01 + 39 01 00 00 00 00 02 5a 01 + 39 01 00 00 00 00 02 2f 30 + 39 01 00 00 00 00 06 f0 55 aa 52 08 00 + 39 01 00 00 00 00 02 6f 1c + 39 01 00 00 00 00 09 ba 91 01 01 00 01 + 01 01 00 + 39 01 00 00 00 00 06 f0 55 aa 52 08 00 + 39 01 00 00 00 00 06 c0 54 c0 00 21 43 + 39 01 00 00 00 00 06 f0 55 aa 52 08 02 + 39 01 00 00 00 00 02 cc 30 + 39 01 00 00 00 00 02 ce 01 + 39 01 00 00 20 00 02 cc 00 + 39 01 00 00 00 00 06 F0 55 AA 52 08 01 + 39 01 00 00 00 00 05 B2 55 01 FF 03 + 05 01 00 00 78 00 01 11 + 05 01 00 00 14 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 = <40>; + 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@3 { + cell-index = <3>; + qcom,mdss-dsi-panel-framerate = <40>; + qcom,mdss-dsi-panel-width = <1080>; + qcom,mdss-dsi-panel-height = <2400>; + qcom,mdss-dsi-h-front-porch = <20>; + qcom,mdss-dsi-h-back-porch = <20>; + qcom,mdss-dsi-h-pulse-width = <4>; + qcom,mdss-dsi-h-sync-skew = <0>; + qcom,mdss-dsi-v-back-porch = <18>; + qcom,mdss-dsi-v-front-porch = <20>; + qcom,mdss-dsi-v-pulse-width = <2>; + 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-panel-clockrate = <680000000>; + + qcom,mdss-dsi-timing-switch-command = [ + 39 01 00 00 00 00 05 2a 00 00 04 37 + 39 01 00 00 00 00 05 2b 00 00 09 5f + 39 01 00 00 00 00 02 8f 01 + 39 01 00 00 00 00 02 2f 00 + 39 01 00 00 00 00 02 26 01 + 39 01 00 00 00 00 02 5a 01 + 39 01 00 00 00 00 02 2f 30 + 39 01 00 00 00 00 06 f0 55 aa 52 08 00 + 39 01 00 00 00 00 02 6f 1c + 39 01 00 00 00 00 09 ba 91 02 02 00 01 + 02 02 00 + 39 01 00 00 00 00 06 f0 55 aa 52 08 00 + 39 01 00 00 00 00 06 c0 54 c0 00 21 43 + 39 01 00 00 00 00 06 f0 55 aa 52 08 02 + 39 01 00 00 00 00 02 cc 30 + 39 01 00 00 00 00 02 ce 01 + 39 01 00 00 20 00 02 cc 00 + ]; + + qcom,mdss-dsi-on-command = [ + 39 01 00 00 00 00 06 F0 55 AA 52 08 01 + 39 01 00 00 00 00 02 6F 01 + 39 01 00 00 00 00 04 C5 0B 0B 0B + 39 01 00 00 00 00 05 FF AA 55 A5 80 + 39 01 00 00 00 00 02 6F 02 + 39 01 00 00 00 00 02 F5 10 + 39 01 00 00 00 00 02 6F 1B + 39 01 00 00 00 00 02 F4 55 + 39 01 00 00 00 00 02 6F 18 + 39 01 00 00 00 00 02 F8 19 + 39 01 00 00 00 00 02 6F 0F + 39 01 00 00 00 00 02 FC 00 + 39 01 00 00 00 00 05 2a 00 00 04 37 + 39 01 00 00 00 00 05 2b 00 00 09 5f + 39 01 00 00 00 00 03 90 03 03 + 39 01 00 00 00 00 13 91 89 28 00 32 d2 + 00 02 25 04 a7 00 07 02 20 02 09 10 + f0 + 39 01 00 00 00 00 02 6F 06 + 39 01 00 00 00 00 02 F3 DC + 39 01 00 00 00 00 02 26 00 + 39 01 00 00 00 00 02 35 00 + 39 01 00 00 00 00 05 3B 00 18 00 10 + 39 01 00 00 00 00 02 53 20 + 39 01 00 00 00 00 07 51 07 FF 07 FF 0F + FF + 39 01 00 00 00 00 02 5A 01 + 39 01 00 00 00 00 02 5F 00 + 39 01 00 00 00 00 02 9C 01 + 05 01 00 00 00 00 01 2C + 39 01 00 00 00 00 02 2f 00 + 39 01 00 00 00 00 02 26 01 + 39 01 00 00 00 00 02 5a 01 + 39 01 00 00 00 00 02 2f 30 + 39 01 00 00 00 00 06 f0 55 aa 52 08 00 + 39 01 00 00 00 00 02 6f 1c + 39 01 00 00 00 00 09 ba 91 02 02 00 01 + 02 02 00 + 39 01 00 00 00 00 06 f0 55 aa 52 08 00 + 39 01 00 00 00 00 06 c0 54 c0 00 21 43 + 39 01 00 00 00 00 06 f0 55 aa 52 08 02 + 39 01 00 00 00 00 02 cc 30 + 39 01 00 00 00 00 02 ce 01 + 39 01 00 00 20 00 02 cc 00 + 39 01 00 00 00 00 06 F0 55 AA 52 08 01 + 39 01 00 00 00 00 05 B2 55 01 FF 03 + 05 01 00 00 78 00 01 11 + 05 01 00 00 14 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 = <40>; + 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@4 { + cell-index = <4>; + qcom,mdss-dsi-panel-framerate = <30>; + qcom,mdss-dsi-panel-width = <1080>; + qcom,mdss-dsi-panel-height = <2400>; + qcom,mdss-dsi-h-front-porch = <20>; + qcom,mdss-dsi-h-back-porch = <20>; + qcom,mdss-dsi-h-pulse-width = <4>; + qcom,mdss-dsi-h-sync-skew = <0>; + qcom,mdss-dsi-v-back-porch = <18>; + qcom,mdss-dsi-v-front-porch = <20>; + qcom,mdss-dsi-v-pulse-width = <2>; + 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-panel-clockrate = <680000000>; + + qcom,mdss-dsi-timing-switch-command = [ + 39 01 00 00 00 00 05 2a 00 00 04 37 + 39 01 00 00 00 00 05 2b 00 00 09 5f + 39 01 00 00 00 00 02 8f 01 + 39 01 00 00 00 00 02 2f 00 + 39 01 00 00 00 00 02 26 01 + 39 01 00 00 00 00 02 5a 01 + 39 01 00 00 00 00 02 2f 30 + 39 01 00 00 00 00 06 f0 55 aa 52 08 00 + 39 01 00 00 00 00 02 6f 1c + 39 01 00 00 00 00 09 ba 91 03 03 00 01 + 03 03 00 + 39 01 00 00 00 00 06 f0 55 aa 52 08 00 + 39 01 00 00 00 00 06 c0 54 c0 00 21 43 + 39 01 00 00 00 00 06 f0 55 aa 52 08 02 + 39 01 00 00 00 00 02 cc 30 + 39 01 00 00 00 00 02 ce 01 + 39 01 00 00 20 00 02 cc 00 + ]; + + qcom,mdss-dsi-on-command = [ + 39 01 00 00 00 00 06 F0 55 AA 52 08 01 + 39 01 00 00 00 00 02 6F 01 + 39 01 00 00 00 00 04 C5 0B 0B 0B + 39 01 00 00 00 00 05 FF AA 55 A5 80 + 39 01 00 00 00 00 02 6F 02 + 39 01 00 00 00 00 02 F5 10 + 39 01 00 00 00 00 02 6F 1B + 39 01 00 00 00 00 02 F4 55 + 39 01 00 00 00 00 02 6F 18 + 39 01 00 00 00 00 02 F8 19 + 39 01 00 00 00 00 02 6F 0F + 39 01 00 00 00 00 02 FC 00 + 39 01 00 00 00 00 05 2a 00 00 04 37 + 39 01 00 00 00 00 05 2b 00 00 09 5f + 39 01 00 00 00 00 03 90 03 03 + 39 01 00 00 00 00 13 91 89 28 00 32 d2 + 00 02 25 04 a7 00 07 02 20 02 09 10 + f0 + 39 01 00 00 00 00 02 6F 06 + 39 01 00 00 00 00 02 F3 DC + 39 01 00 00 00 00 02 26 00 + 39 01 00 00 00 00 02 35 00 + 39 01 00 00 00 00 05 3B 00 18 00 10 + 39 01 00 00 00 00 02 53 20 + 39 01 00 00 00 00 07 51 07 FF 07 FF 0F + FF + 39 01 00 00 00 00 02 5A 01 + 39 01 00 00 00 00 02 5F 00 + 39 01 00 00 00 00 02 9C 01 + 05 01 00 00 00 00 01 2C + 39 01 00 00 00 00 02 2f 00 + 39 01 00 00 00 00 02 26 01 + 39 01 00 00 00 00 02 5a 01 + 39 01 00 00 00 00 02 2f 30 + 39 01 00 00 00 00 06 f0 55 aa 52 08 00 + 39 01 00 00 00 00 02 6f 1c + 39 01 00 00 00 00 09 ba 91 03 03 00 01 + 03 03 00 + 39 01 00 00 00 00 06 f0 55 aa 52 08 00 + 39 01 00 00 00 00 06 c0 54 c0 00 21 43 + 39 01 00 00 00 00 06 f0 55 aa 52 08 02 + 39 01 00 00 00 00 02 cc 30 + 39 01 00 00 00 00 02 ce 01 + 39 01 00 00 20 00 02 cc 00 + 39 01 00 00 00 00 06 F0 55 AA 52 08 01 + 39 01 00 00 00 00 05 B2 55 01 FF 03 + 05 01 00 00 78 00 01 11 + 05 01 00 00 14 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 = <40>; + 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/dsi-panel-nt37801-dsc-wqhd-plus-cmd.dtsi b/display/dsi-panel-nt37801-dsc-wqhd-plus-cmd.dtsi index 753f24b1..185acbbf 100644 --- a/display/dsi-panel-nt37801-dsc-wqhd-plus-cmd.dtsi +++ b/display/dsi-panel-nt37801-dsc-wqhd-plus-cmd.dtsi @@ -130,93 +130,6 @@ timing@1 { cell-index = <1>; - qcom,mdss-dsi-panel-framerate = <120>; - qcom,mdss-dsi-panel-width = <1080>; - qcom,mdss-dsi-panel-height = <2400>; - qcom,mdss-dsi-h-front-porch = <20>; - qcom,mdss-dsi-h-back-porch = <20>; - qcom,mdss-dsi-h-pulse-width = <4>; - qcom,mdss-dsi-h-sync-skew = <0>; - qcom,mdss-dsi-v-back-porch = <18>; - qcom,mdss-dsi-v-front-porch = <20>; - qcom,mdss-dsi-v-pulse-width = <2>; - 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 05 2A 00 00 04 37 - 39 01 00 00 00 00 05 2B 00 00 09 5F - 39 01 00 00 00 00 02 8F 01 - 39 01 00 00 00 00 02 2f 00 - 39 01 00 00 00 00 02 26 00 - 39 01 00 00 00 00 06 f0 55 aa 52 08 00 - 39 01 00 00 00 00 06 c0 54 c0 00 21 43 - 39 01 00 00 00 00 06 f0 55 aa 52 08 02 - 39 01 00 00 00 00 02 cc 30 - 39 01 00 00 00 00 02 ce 01 - 39 01 00 00 20 00 02 cc 00 - ]; - - qcom,mdss-dsi-on-command = [ - 39 01 00 00 00 00 06 F0 55 AA 52 08 01 - 39 01 00 00 00 00 02 6F 01 - 39 01 00 00 00 00 04 C5 0B 0B 0B - 39 01 00 00 00 00 05 FF AA 55 A5 80 - 39 01 00 00 00 00 02 6F 02 - 39 01 00 00 00 00 02 F5 10 - 39 01 00 00 00 00 02 6F 1B - 39 01 00 00 00 00 02 F4 55 - 39 01 00 00 00 00 02 6F 18 - 39 01 00 00 00 00 02 F8 19 - 39 01 00 00 00 00 02 6F 0F - 39 01 00 00 00 00 02 FC 00 - 39 01 00 00 00 00 05 2A 00 00 04 37 - 39 01 00 00 00 00 05 2B 00 00 09 5F - 39 01 00 00 00 00 03 90 03 03 - 39 01 00 00 00 00 13 91 89 28 00 28 D2 00 02 86 04 3A 00 0A 02 AB 01 E9 10 F0 - 39 01 00 00 00 00 13 93 89 28 00 28 D2 00 02 25 03 B6 00 07 02 AB 02 8B 10 F0 - 39 01 00 00 00 00 13 95 89 28 00 28 D2 00 01 C3 02 FC 00 05 02 AB 03 D1 10 F0 - 39 01 00 00 00 00 02 03 00 - 39 01 00 00 00 00 02 8F 01 - 39 01 00 00 00 00 02 6F 06 - 39 01 00 00 00 00 02 F3 DC - 39 01 00 00 00 00 02 26 00 - 39 01 00 00 00 00 02 35 00 - 39 01 00 00 00 00 05 3B 00 18 00 10 - 39 01 00 00 00 00 02 53 20 - 39 01 00 00 00 00 07 51 07 FF 07 FF 0F FF - 39 01 00 00 00 00 02 5A 01 - 39 01 00 00 00 00 02 5F 00 - 39 01 00 00 00 00 02 9C 01 - 05 01 00 00 00 00 01 2C - 39 01 00 00 00 00 02 2F 00 - - 05 01 00 00 78 00 01 11 - 05 01 00 00 14 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 = <40>; - 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 { - cell-index = <2>; qcom,mdss-dsi-panel-framerate = <90>; qcom,mdss-dsi-panel-width = <1440>; qcom,mdss-dsi-panel-height = <3200>; @@ -310,8 +223,8 @@ qcom,mdss-dsc-block-prediction-enable; }; - timing@3 { - cell-index = <3>; + timing@2 { + cell-index = <2>; qcom,mdss-dsi-panel-framerate = <60>; qcom,mdss-dsi-panel-width = <1440>; qcom,mdss-dsi-panel-height = <3200>; @@ -417,8 +330,8 @@ qcom,mdss-dsc-block-prediction-enable; }; - timing@4 { - cell-index = <4>; + timing@3 { + cell-index = <3>; qcom,mdss-dsi-panel-framerate = <40>; qcom,mdss-dsi-panel-width = <1440>; qcom,mdss-dsi-panel-height = <3200>; @@ -524,8 +437,8 @@ qcom,mdss-dsc-block-prediction-enable; }; - timing@5 { - cell-index = <5>; + timing@4 { + cell-index = <4>; qcom,mdss-dsi-panel-framerate = <30>; qcom,mdss-dsi-panel-width = <1440>; qcom,mdss-dsi-panel-height = <3200>; @@ -631,8 +544,8 @@ qcom,mdss-dsc-block-prediction-enable; }; - timing@6 { - cell-index = <6>; + timing@5 { + cell-index = <5>; qcom,mdss-dsi-panel-framerate = <24>; qcom,mdss-dsi-panel-width = <1440>; qcom,mdss-dsi-panel-height = <3200>; @@ -738,8 +651,8 @@ qcom,mdss-dsc-block-prediction-enable; }; - timing@7 { - cell-index = <7>; + timing@6 { + cell-index = <6>; qcom,mdss-dsi-panel-framerate = <20>; qcom,mdss-dsi-panel-width = <1440>; qcom,mdss-dsi-panel-height = <3200>; diff --git a/display/sun-sde-display-cdp.dtsi b/display/sun-sde-display-cdp.dtsi index 3004b6c7..7bd984d2 100644 --- a/display/sun-sde-display-cdp.dtsi +++ b/display/sun-sde-display-cdp.dtsi @@ -126,6 +126,19 @@ qcom,platform-sec-reset-gpio = <&tlmm 97 0>; }; +&dsi_nt37801_amoled_fhd_plus_cmd { + qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; + qcom,panel-sec-supply-entries = <&dsi_panel_pwr_supply>; + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; + qcom,mdss-dsi-sec-bl-pmic-control-type = "bl_ctrl_dcs"; + qcom,mdss-dsi-bl-min-level = <10>; + qcom,mdss-dsi-bl-max-level = <4095>; + qcom,mdss-brightness-max-level = <8191>; + qcom,mdss-dsi-bl-inverted-dbv; + qcom,platform-reset-gpio = <&tlmm 98 0>; + qcom,platform-sec-reset-gpio = <&tlmm 97 0>; +}; + &dsi_vtdr6130_amoled_120hz_video { qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; @@ -239,7 +252,8 @@ &dsi_nt37801_amoled_video_cphy &dsi_nt37801_amoled_cmd_spr &dsi_nt37801_amoled_qsync_cmd - &dsi_nt37801_amoled_qsync_video>; + &dsi_nt37801_amoled_qsync_video + &dsi_nt37801_amoled_fhd_plus_cmd>; }; }; diff --git a/display/sun-sde-display-common.dtsi b/display/sun-sde-display-common.dtsi index 7d774992..f37ea9a0 100644 --- a/display/sun-sde-display-common.dtsi +++ b/display/sun-sde-display-common.dtsi @@ -14,6 +14,7 @@ #include "dsi-panel-nt37801-qsync-dsc-wqhd-plus-cmd-cphy.dtsi" #include "dsi-panel-nt37801-qsync-dsc-wqhd-plus-video.dtsi" #include "dsi-panel-nt37801-qsync-dsc-wqhd-plus-video-cphy.dtsi" +#include "dsi-panel-nt37801-dsc-fhd-plus-cmd.dtsi" #include "dsi-panel-sharp-dsc-4k-cmd.dtsi" #include "dsi-panel-sharp-dsc-4k-video.dtsi" #include "dsi-panel-sim-cmd-au.dtsi" @@ -373,48 +374,41 @@ }; timing@1 { - qcom,mdss-dsi-panel-phy-timings = [00 28 0a 0b 1b 1a 0a - 0b 0a 02 04 00 21 0f]; - qcom,display-topology = <2 2 1>; - qcom,default-topology-index = <0>; - }; - - timing@2 { qcom,mdss-dsi-panel-phy-timings = [00 1f 08 07 18 22 08 08 08 08 02 04 1a 0d]; qcom,display-topology = <2 2 1>; qcom,default-topology-index = <0>; }; - timing@3 { + timing@2 { qcom,mdss-dsi-panel-phy-timings = [00 16 05 05 14 1f 06 06 06 06 02 04 13 0b]; qcom,display-topology = <2 2 1>; qcom,default-topology-index = <0>; }; - timing@4 { + timing@3 { qcom,mdss-dsi-panel-phy-timings = [00 11 03 04 12 1e 04 04 04 03 02 04 0e 09]; qcom,display-topology = <2 2 1>; qcom,default-topology-index = <0>; }; - timing@5 { + timing@4 { qcom,mdss-dsi-panel-phy-timings = [00 0d 03 03 10 1d 03 03 03 02 02 04 0c 08]; qcom,display-topology = <2 2 1>; qcom,default-topology-index = <0>; }; - timing@6 { + timing@5 { qcom,mdss-dsi-panel-phy-timings = [00 0c 02 02 10 1c 03 03 03 02 02 04 0b 08]; qcom,display-topology = <2 2 1>; qcom,default-topology-index = <0>; }; - timing@7 { + timing@6 { qcom,mdss-dsi-panel-phy-timings = [00 0a 02 02 0f 1c 02 02 02 02 02 04 0a 07]; qcom,display-topology = <2 2 1>; @@ -644,6 +638,54 @@ }; }; +&dsi_nt37801_amoled_fhd_plus_cmd { + qcom,dsi-select-clocks = "pll_byte_clk0", "pll_dsi_clk0"; + qcom,dsi-select-sec-clocks = "pll_byte_clk1", "pll_dsi_clk1"; + 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 = <0x9c>; + qcom,mdss-dsi-panel-status-read-length = <1>; + + qcom,mdss-dsi-display-timings { + timing@0 { + qcom,mdss-dsi-panel-phy-timings = [00 28 0a 0b 1b 1a 0a + 0b 0a 02 04 00 21 0f]; + qcom,display-topology = <2 2 1>; + qcom,default-topology-index = <0>; + }; + + timing@1 { + qcom,mdss-dsi-panel-phy-timings = [00 19 06 06 15 14 07 + 06 06 07 02 04 16 0b]; + qcom,display-topology = <2 2 1>; + qcom,default-topology-index = <0>; + }; + + timing@2 { + qcom,mdss-dsi-panel-phy-timings = [00 19 06 06 15 14 07 + 06 06 07 02 04 16 0b]; + qcom,display-topology = <2 2 1>; + qcom,default-topology-index = <0>; + }; + + timing@3 { + qcom,mdss-dsi-panel-phy-timings = [00 19 06 06 15 14 07 + 06 06 07 02 04 16 0b]; + qcom,display-topology = <2 2 1>; + qcom,default-topology-index = <0>; + }; + + timing@4 { + qcom,mdss-dsi-panel-phy-timings = [00 19 06 06 15 14 07 + 06 06 07 02 04 16 0b]; + qcom,display-topology = <2 2 1>; + qcom,default-topology-index = <0>; + }; + }; +}; + &dsi_ext_bridge_1080p { qcom,dsi-select-clocks = "pll_byte_clk0", "pll_dsi_clk0"; qcom,mdss-dsi-display-timings { diff --git a/display/sun-sde-display-mtp.dtsi b/display/sun-sde-display-mtp.dtsi index 17cbb9cc..14343117 100644 --- a/display/sun-sde-display-mtp.dtsi +++ b/display/sun-sde-display-mtp.dtsi @@ -111,6 +111,16 @@ qcom,platform-reset-gpio = <&tlmm 98 0>; }; +&dsi_nt37801_amoled_fhd_plus_cmd { + qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; + qcom,mdss-dsi-bl-min-level = <10>; + qcom,mdss-dsi-bl-max-level = <4095>; + qcom,mdss-brightness-max-level = <8191>; + qcom,mdss-dsi-bl-inverted-dbv; + qcom,platform-reset-gpio = <&tlmm 98 0>; +}; + &dsi_vtdr6130_amoled_120hz_video { qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; @@ -223,7 +233,8 @@ &dsi_nt37801_amoled_dsc_10b_video &dsi_nt37801_amoled_cmd_spr &dsi_nt37801_amoled_qsync_cmd - &dsi_nt37801_amoled_qsync_video>; + &dsi_nt37801_amoled_qsync_video + &dsi_nt37801_amoled_fhd_plus_cmd>; }; }; diff --git a/display/sun-sde-display.dtsi b/display/sun-sde-display.dtsi index ad74108e..5fcf1262 100644 --- a/display/sun-sde-display.dtsi +++ b/display/sun-sde-display.dtsi @@ -174,7 +174,7 @@ timing@1 { qcom,partial-update-enabled = "single_roi"; - qcom,panel-roi-alignment = <540 40 540 40 1080 40>; + qcom,panel-roi-alignment = <720 40 720 40 1440 40>; }; timing@2 { @@ -201,11 +201,6 @@ qcom,partial-update-enabled = "single_roi"; qcom,panel-roi-alignment = <720 40 720 40 1440 40>; }; - - timing@7 { - qcom,partial-update-enabled = "single_roi"; - qcom,panel-roi-alignment = <720 40 720 40 1440 40>; - }; }; }; @@ -228,6 +223,35 @@ }; }; +&dsi_nt37801_amoled_fhd_plus_cmd { + qcom,mdss-dsi-display-timings { + timing@0 { + qcom,partial-update-enabled = "single_roi"; + qcom,panel-roi-alignment = <540 40 540 40 1080 40>; + }; + + timing@1 { + qcom,partial-update-enabled = "single_roi"; + qcom,panel-roi-alignment = <540 40 540 40 1080 40>; + }; + + timing@2 { + qcom,partial-update-enabled = "single_roi"; + qcom,panel-roi-alignment = <540 40 540 40 1080 40>; + }; + + timing@3 { + qcom,partial-update-enabled = "single_roi"; + qcom,panel-roi-alignment = <540 40 540 40 1080 40>; + }; + + timing@4 { + qcom,partial-update-enabled = "single_roi"; + qcom,panel-roi-alignment = <540 40 540 40 1080 40>; + }; + }; +}; + &dsi_sharp_4k_dsc_cmd { qcom,ulps-enabled; };