/* Copyright (c) 2019-2020, 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 { mot_csot_vtdr6130_655_1080x2400_dsc_cmd_v0: qcom,mdss_dsi_mot_csot_vtdr6130_655_1080x2400_dsc_cmd_v0 { compatible = "qcom,mdss-dsi-panel"; qcom,mdss-dsi-panel-name = "mipi_mot_cmd_csot_1080p_dsc_655"; qcom,mdss-dsi-panel-supplier = "csot"; qcom,mdss-dsi-panel-type = "dsi_cmd_mode"; qcom,mdss-dsi-virtual-channel-id = <0>; qcom,mdss-dsi-stream = <0>; qcom,mdss-pan-physical-width-dimension = <68>; qcom,mdss-pan-physical-height-dimension = <152>; qcom,mdss-dsi-bpp = <30>; qcom,mdss-dsi-underflow-color = <0xff>; qcom,mdss-dsi-border-color = <0>; qcom,mdss-dsi-panel-param-verision = <121201>; qcom,mdss-dsi-panel-param-num = <5>; qcom,dsi-ctrl-num = <0>; qcom,dsi-phy-num = <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 = <0 5>, <1 5>, <0 5>, <1 20>; qcom,mdss-dsi-lp11-init; qcom,mdss-dsi-tx-eot-append; qcom,mdss-dsi-te-pin-select = <1>; qcom,mdss-dsi-te-dcs-command = <1>; qcom,mdss-dsi-te-using-te-pin; qcom,bklt-dcs-2bytes-enabled; qcom,mdss-dsi-bl-min-level = <3>; qcom,mdss-dsi-bl-max-level = <4095>; qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; /*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-hbm-on-command = [ 39 01 00 00 00 00 03 51 0F FF]; qcom,mdss-dsi-hbm-off-command = [ 39 01 00 00 00 00 03 51 0D BA]; qcom,mdss-dsi-hbm-fod; qcom,mdss-dsi-hbm-fod-on-command = [ 39 01 00 00 00 00 03 51 0F FF]; qcom,mdss-dsi-dc-off-command = [ 15 00 00 00 00 00 02 62 00 15 00 00 00 00 00 02 6C 01]; qcom,mdss-dsi-dc-off-command-state = "dsi_lp_mode"; qcom,mdss-dsi-dc-on-command = [ 15 00 00 00 00 00 02 62 00 15 00 00 00 00 00 02 6C 02]; qcom,mdss-dsi-dc-on-command-state = "dsi_lp_mode"; qcom,mdss-dsi-display-timings { timing@0{ qcom,mdss-dsi-cmd-mode; qcom,mdss-dsi-panel-framerate = <48>; qcom,mdss-dsi-panel-width = <1080>; qcom,mdss-dsi-panel-height = <2400>; qcom,mdss-dsi-h-front-porch = <32>; qcom,mdss-dsi-h-back-porch = <32>; qcom,mdss-dsi-h-pulse-width = <32>; qcom,mdss-dsi-h-sync-skew = <0>; qcom,mdss-dsi-h-sync-pulse = <0>; qcom,mdss-dsi-v-back-porch = <20>; qcom,mdss-dsi-v-front-porch = <1248>; qcom,mdss-dsi-v-pulse-width = <4>; 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 = <0x20 0xa>; /* 90fps +/- 2 */ qcom,mdss-dsi-timing-switch-command = [ 39 01 00 00 00 00 02 62 00 39 01 00 00 00 00 02 6C 00 39 01 00 00 00 00 02 6D 00 05 01 00 00 00 00 01 39 //08:48Hz 03:60Hz 07:90Hz 02:120Hz 04:144Hz ]; qcom,mdss-dsi-on-command = [ 39 01 00 00 00 00 02 03 01 39 01 00 00 00 00 02 35 00 39 01 00 00 00 00 02 53 20 39 01 00 00 00 00 03 51 00 00 39 01 00 00 00 00 02 59 09 39 01 00 00 00 00 02 62 00 39 01 00 00 00 00 02 6C 00 39 01 00 00 00 00 02 6F 02 39 01 00 00 00 00 5F 70 11 00 00 AB 30 80 09 60 04 38 00 0C 04 38 04 38 02 00 03 1C 00 20 01 7E 00 0F 00 0C 08 BB 04 3D 18 00 10 F0 07 10 20 00 06 0F 0F 33 0E 1C 2A 38 46 54 62 69 70 77 79 7B 7D 7E 02 02 22 00 2A 40 2A BE 3A FC 3A FA 3A F8 3B 38 3B 78 3B B6 4B B6 4B F4 4B F4 6C 34 84 74 00 00 00 00 00 00 39 01 00 00 00 00 03 F0 AA 10 39 01 00 00 00 00 02 B3 C6 39 01 00 00 00 00 03 F0 AA 14 39 01 00 00 00 00 03 B2 03 33 39 01 00 00 00 00 0D B4 00 6C 00 00 00 6C 00 00 00 6C 00 00 39 01 00 00 00 00 0A B5 00 18 18 18 18 18 18 06 01 39 01 00 00 00 00 07 B9 00 00 0A 18 18 18 39 01 00 00 00 00 0C BC 10 00 00 0A 11 18 78 18 78 18 78 39 01 00 00 00 00 0C BE 10 10 00 0A 22 18 48 18 48 18 48 39 01 00 00 00 00 03 FF 5A 80 39 01 00 00 00 00 02 65 13 39 01 00 00 00 00 02 FD 01 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 F3 0F 39 01 00 00 00 00 03 FF 5A 82 39 01 00 00 00 00 02 F9 00 39 01 00 00 00 00 03 FF 5A 83 39 01 00 00 00 00 02 65 04 39 01 00 00 00 00 02 F8 00 05 01 00 00 00 00 01 39 39 01 00 00 82 00 01 11 39 01 00 00 14 00 01 29 39 01 00 00 00 00 03 F0 AA 10 39 01 00 00 00 00 02 65 03 39 01 00 00 00 00 02 EB 18 39 01 00 00 00 00 03 F0 AA 00 39 01 00 00 00 00 03 FF 5A 00]; /* display on */ qcom,mdss-dsi-off-command = [ 05 01 00 00 14 00 01 28 /* display_off */ 05 01 00 00 78 00 01 10]; /* enter sleep mode */ qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; qcom,mdss-dsi-off-command-state = "dsi_lp_mode"; qcom,mdss-dsi-timing-switch-command-state = "dsi_lp_mode"; qcom,compression-mode = "dsc"; /* Why QCOM doesn't use this, even it used 2 encoder * as for that dsi_sw43404_amoled_cmd, for ex */ /* qcom,mdss-dsc-encoders = <2>; */ qcom,mdss-dsc-version = <0x11>; qcom,mdss-dsc-slice-height = <12>; qcom,mdss-dsc-slice-width = <1080>; 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-cmd-mode; qcom,mdss-dsi-panel-framerate = <60>; qcom,mdss-dsi-panel-width = <1080>; qcom,mdss-dsi-panel-height = <2400>; qcom,mdss-dsi-h-front-porch = <32>; qcom,mdss-dsi-h-back-porch = <32>; qcom,mdss-dsi-h-pulse-width = <32>; qcom,mdss-dsi-h-sync-skew = <0>; qcom,mdss-dsi-h-sync-pulse = <0>; qcom,mdss-dsi-v-back-porch = <20>; qcom,mdss-dsi-v-front-porch = <1248>; qcom,mdss-dsi-v-pulse-width = <4>; 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 = <0x20 0xa>; /* 90fps +/- 2 */ qcom,mdss-dsi-timing-switch-command = [ 05 01 00 00 00 00 01 38 //08:48Hz 03:60Hz 07:90Hz 02:120Hz 04:144Hz 15 01 00 00 00 00 02 62 00 15 01 00 00 00 00 02 6C 01 ]; qcom,mdss-dsi-on-command = [ 39 01 00 00 00 00 02 03 01 39 01 00 00 00 00 02 35 00 39 01 00 00 00 00 02 53 20 39 01 00 00 00 00 03 51 00 00 39 01 00 00 00 00 02 59 09 39 01 00 00 00 00 02 62 00 39 01 00 00 00 00 02 6C 01 39 01 00 00 00 00 02 6F 02 39 01 00 00 00 00 5F 70 11 00 00 AB 30 80 09 60 04 38 00 0C 04 38 04 38 02 00 03 1C 00 20 01 7E 00 0F 00 0C 08 BB 04 3D 18 00 10 F0 07 10 20 00 06 0F 0F 33 0E 1C 2A 38 46 54 62 69 70 77 79 7B 7D 7E 02 02 22 00 2A 40 2A BE 3A FC 3A FA 3A F8 3B 38 3B 78 3B B6 4B B6 4B F4 4B F4 6C 34 84 74 00 00 00 00 00 00 39 01 00 00 00 00 03 F0 AA 10 39 01 00 00 00 00 02 B3 C6 39 01 00 00 00 00 03 F0 AA 14 39 01 00 00 00 00 03 B2 03 33 39 01 00 00 00 00 0D B4 00 6C 00 00 00 6C 00 00 00 6C 00 00 39 01 00 00 00 00 0A B5 00 18 18 18 18 18 18 06 01 39 01 00 00 00 00 07 B9 00 00 0A 18 18 18 39 01 00 00 00 00 0C BC 10 00 00 0A 11 18 78 18 78 18 78 39 01 00 00 00 00 0C BE 10 10 00 0A 22 18 48 18 48 18 48 39 01 00 00 00 00 03 FF 5A 80 39 01 00 00 00 00 02 65 13 39 01 00 00 00 00 02 FD 01 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 F3 0F 39 01 00 00 00 00 03 FF 5A 82 39 01 00 00 00 00 02 F9 00 39 01 00 00 00 00 03 FF 5A 83 39 01 00 00 00 00 02 65 04 39 01 00 00 00 00 02 F8 00 39 01 00 00 82 00 01 11 39 01 00 00 14 00 01 29 39 01 00 00 00 00 03 F0 AA 10 39 01 00 00 00 00 02 65 03 39 01 00 00 00 00 02 EB 18 39 01 00 00 00 00 03 F0 AA 00 39 01 00 00 00 00 03 FF 5A 00]; /* display on */ qcom,mdss-dsi-off-command = [ 05 01 00 00 14 00 01 28 /* display_off */ 05 01 00 00 82 00 01 10]; /* enter sleep mode */ qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; qcom,mdss-dsi-off-command-state = "dsi_lp_mode"; qcom,mdss-dsi-timing-switch-command-state = "dsi_lp_mode"; qcom,compression-mode = "dsc"; /* Why QCOM doesn't use this, even it used 2 encoder * as for that dsi_sw43404_amoled_cmd, for ex */ /* qcom,mdss-dsc-encoders = <2>; */ qcom,mdss-dsc-version = <0x11>; qcom,mdss-dsc-slice-height = <12>; qcom,mdss-dsc-slice-width = <1080>; 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-cmd-mode; qcom,mdss-dsi-panel-framerate = <90>; qcom,mdss-dsi-panel-width = <1080>; qcom,mdss-dsi-panel-height = <2400>; qcom,mdss-dsi-h-front-porch = <32>; qcom,mdss-dsi-h-back-porch = <32>; qcom,mdss-dsi-h-pulse-width = <32>; qcom,mdss-dsi-h-sync-skew = <0>; qcom,mdss-dsi-h-sync-pulse = <0>; qcom,mdss-dsi-v-back-porch = <20>; qcom,mdss-dsi-v-front-porch = <24>; qcom,mdss-dsi-v-pulse-width = <4>; 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 = <0x20 0xa>; /* 90fps +/- 2 */ qcom,mdss-dsi-timing-switch-command = [ 05 01 00 00 00 00 01 38 15 01 00 00 00 00 02 62 00 15 01 00 00 0b 00 02 6C 00 //08:48Hz 03:60Hz 07:90Hz 02:120Hz 04:144Hz ]; qcom,mdss-dsi-on-command = [ 39 01 00 00 00 00 02 03 01 39 01 00 00 00 00 02 35 00 39 01 00 00 00 00 02 53 20 39 01 00 00 00 00 03 51 00 00 39 01 00 00 00 00 02 59 09 39 01 00 00 00 00 02 62 00 39 01 00 00 00 00 02 6C 00 39 01 00 00 00 00 02 6F 02 39 01 00 00 00 00 5F 70 11 00 00 AB 30 80 09 60 04 38 00 0C 04 38 04 38 02 00 03 1C 00 20 01 7E 00 0F 00 0C 08 BB 04 3D 18 00 10 F0 07 10 20 00 06 0F 0F 33 0E 1C 2A 38 46 54 62 69 70 77 79 7B 7D 7E 02 02 22 00 2A 40 2A BE 3A FC 3A FA 3A F8 3B 38 3B 78 3B B6 4B B6 4B F4 4B F4 6C 34 84 74 00 00 00 00 00 00 39 01 00 00 00 00 03 F0 AA 10 39 01 00 00 00 00 02 B3 C6 39 01 00 00 00 00 03 F0 AA 14 39 01 00 00 00 00 03 B2 03 33 39 01 00 00 00 00 0D B4 00 6C 00 00 00 6C 00 00 00 6C 00 00 39 01 00 00 00 00 0A B5 00 18 18 18 18 18 18 06 01 39 01 00 00 00 00 07 B9 00 00 0A 18 18 18 39 01 00 00 00 00 0C BC 10 00 00 0A 11 18 78 18 78 18 78 39 01 00 00 00 00 0C BE 10 10 00 0A 22 18 48 18 48 18 48 39 01 00 00 00 00 03 FF 5A 80 39 01 00 00 00 00 02 65 13 39 01 00 00 00 00 02 FD 01 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 F3 0F 39 01 00 00 00 00 03 FF 5A 82 39 01 00 00 00 00 02 F9 00 39 01 00 00 00 00 03 FF 5A 83 39 01 00 00 00 00 02 65 04 39 01 00 00 00 00 02 F8 00 39 01 00 00 82 00 01 11 39 01 00 00 14 00 01 29 39 01 00 00 00 00 03 F0 AA 10 39 01 00 00 00 00 02 65 03 39 01 00 00 00 00 02 EB 18 39 01 00 00 00 00 03 F0 AA 00 39 01 00 00 00 00 03 FF 5A 00]; /* display on */ qcom,mdss-dsi-off-command = [ 05 01 00 00 14 00 01 28 /* display_off */ 05 01 00 00 82 00 01 10]; /* enter sleep mode */ qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; qcom,mdss-dsi-off-command-state = "dsi_lp_mode"; qcom,mdss-dsi-timing-switch-command-state = "dsi_lp_mode"; qcom,compression-mode = "dsc"; /* Why QCOM doesn't use this, even it used 2 encoder * as for that dsi_sw43404_amoled_cmd, for ex */ /* qcom,mdss-dsc-encoders = <2>; */ qcom,mdss-dsc-version = <0x11>; qcom,mdss-dsc-slice-height = <12>; qcom,mdss-dsc-slice-width = <1080>; 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; }; }; }; };