diff --git a/qcom/bangkk-display.dtsi b/qcom/bangkk-display.dtsi index 554c87e6aeaf..5f5a198d5b1c 100644 --- a/qcom/bangkk-display.dtsi +++ b/qcom/bangkk-display.dtsi @@ -1,7 +1,5 @@ #include "dsi-panel-mot-dummy-qhd-video.dtsi" -#include "dsi-panel-mot-tm-nt36672e-678-1080x2460-video.dtsi" -#include "dsi-panel-mot-csot-nt36672e-678-1080x2460-video.dtsi" -#include "dsi-panel-mot-tm-nt36672e-678-1080x2460-video-v1.dtsi" +#include "dsi-panel-mot-csot-vtdr6115-655-1080x2400-video.dtsi" &display_panel_avdd { /delete-property/ gpio; @@ -10,28 +8,42 @@ &tlmm { - lcd_bias_vsp_en_default: lcd_bias_vsp_en_default { + display_panel_vddio_default: display_panel_vddio_default { mux { - pins = "gpio85"; + pins = "gpio102"; function = "gpio"; }; config { - pins = "gpio85"; + pins = "gpio102"; drive-strength = <8>; bias-disable = <0>; output-high; }; }; - lcd_bias_vsn_en_default: lcd_bias_vsn_en_default { + display_panel_vci_default: display_panel_vci_default { mux { - pins = "gpio86"; + pins = "gpio84"; function = "gpio"; }; config { - pins = "gpio86"; + pins = "gpio84"; + drive-strength = <8>; + bias-disable = <0>; + output-high; + }; + }; + + display_panel_dvdd_default: display_panel_dvdd_default { + mux { + pins = "gpio85"; + function = "gpio"; + }; + + config { + pins = "gpio85"; drive-strength = <8>; bias-disable = <0>; output-high; @@ -40,69 +52,93 @@ }; &soc { - lcd_panel_avdd: lcd_gpio_regulator@1 { + display_panel_vddio: display_gpio_regulator@1 { compatible = "qti-regulator-fixed"; - regulator-name = "lcd_panel_avdd"; - regulator-min-microvolt = <5500000>; - regulator-max-microvolt = <5500000>; + regulator-name = "display_panel_vddio"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-enable-ramp-delay = <233>; + gpio = <&tlmm 102 0>; + enable-active-high; + regulator-boot-on; + proxy-supply = <&display_panel_vddio>; + qcom,proxy-consumer-enable; + pinctrl-names = "default"; + pinctrl-0 = <&display_panel_vddio_default>; + }; + + display_panel_vci: display_gpio_regulator@2 { + compatible = "qti-regulator-fixed"; + regulator-name = "display_panel_vci"; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3000000>; + regulator-enable-ramp-delay = <233>; + gpio = <&tlmm 84 0>; + enable-active-high; + regulator-boot-on; + proxy-supply = <&display_panel_vci>; + qcom,proxy-consumer-enable; + pinctrl-names = "default"; + pinctrl-0 = <&display_panel_vci_default>; + }; + + display_panel_dvdd: display_gpio_regulator@3 { + compatible = "qti-regulator-fixed"; + regulator-name = "display_panel_dvdd"; + regulator-min-microvolt = <1250000>; + regulator-max-microvolt = <1250000>; regulator-enable-ramp-delay = <233>; gpio = <&tlmm 85 0>; enable-active-high; regulator-boot-on; - proxy-supply = <&lcd_panel_avdd>; + proxy-supply = <&display_panel_dvdd>; + qcom,proxy-consumer-enable; pinctrl-names = "default"; - pinctrl-0 = <&lcd_bias_vsp_en_default>; - }; - - lcd_panel_avee: lcd_gpio_regulator@2 { - compatible = "qti-regulator-fixed"; - regulator-name = "lcd_panel_avee"; - regulator-min-microvolt = <5500000>; - regulator-max-microvolt = <5500000>; - regulator-enable-ramp-delay = <233>; - gpio = <&tlmm 86 0>; - enable-active-high; - regulator-boot-on; - proxy-supply = <&lcd_panel_avee>; - pinctrl-names = "default"; - pinctrl-0 = <&lcd_bias_vsn_en_default>; + pinctrl-0 = <&display_panel_dvdd_default>; }; dsi_panel_pwr_supply_ext_bias: dsi_panel_pwr_supply_ext_bias { #address-cells = <1>; #size-cells = <0>; - qcom,panel-supply-entry@0 { - reg = <0>; - qcom,supply-name = "vddio"; - qcom,supply-min-voltage = <1800000>; - qcom,supply-max-voltage = <1800000>; - qcom,supply-enable-load = <62000>; - qcom,supply-disable-load = <80>; - qcom,supply-post-on-sleep = <2>; - qcom,supply-pre-off-sleep = <2>; - qcom,supply-post-off-sleep = <30>; - }; + qcom,panel-supply-entry@0 { + reg = <0>; + qcom,supply-name = "vddio"; + qcom,supply-min-voltage = <1800000>; + qcom,supply-max-voltage = <1800000>; + qcom,supply-enable-load = <300000>; + qcom,supply-disable-load = <0>; + qcom,supply-pre-on-sleep = <0>; + qcom,supply-post-on-sleep = <2>; + qcom,supply-pre-off-sleep = <3>; + qcom,supply-post-off-sleep = <1>; + }; - qcom,panel-supply-entry@1 { - reg = <1>; - qcom,supply-name = "lab"; - qcom,supply-min-voltage = <5500000>; - qcom,supply-max-voltage = <6000000>; - qcom,supply-enable-load = <100000>; - qcom,supply-disable-load = <100>; - qcom,supply-pre-off-sleep = <2>; - }; + qcom,panel-supply-entry@1 { + reg = <1>; + qcom,supply-name = "vci"; + qcom,supply-min-voltage = <3000000>; + qcom,supply-max-voltage = <3000000>; + qcom,supply-enable-load = <300000>; + qcom,supply-disable-load = <0>; + qcom,supply-pre-on-sleep = <0>; + qcom,supply-post-on-sleep = <2>; + qcom,supply-pre-off-sleep = <0>; + qcom,supply-post-off-sleep = <2>; + }; - qcom,panel-supply-entry@2 { - reg = <2>; - qcom,supply-name = "ibb"; - qcom,supply-min-voltage = <5500000>; - qcom,supply-max-voltage = <6000000>; - qcom,supply-enable-load = <100000>; - qcom,supply-disable-load = <100>; - qcom,supply-post-on-sleep = <10>; - }; + qcom,panel-supply-entry@2 { + reg = <2>; + qcom,supply-name = "dvdd"; + qcom,supply-min-voltage = <1250000>; + qcom,supply-max-voltage = <1250000>; + qcom,supply-enable-load = <300000>; + qcom,supply-disable-load = <0>; + qcom,supply-pre-on-sleep = <1>; + qcom,supply-post-on-sleep = <2>; + qcom,supply-pre-off-sleep = <0>; + qcom,supply-post-off-sleep = <2>; + }; }; }; @@ -113,52 +149,46 @@ /delete-property/ qcom,dsi-default-panel; /delete-property/ avdd-supply; - vddio-supply = <&L13A>; - lab-supply = <&lcd_panel_avdd>; - ibb-supply = <&lcd_panel_avee>; + vddio-supply = <&display_panel_vddio>; + vci-supply = <&display_panel_vci>; + dvdd-supply = <&display_panel_dvdd>; - qcom,dsi-default-panel = <&dsi_nt36672e_fhd_plus_144_video>; + qcom,dsi-default-panel = <&mot_csot_vtdr6115_655_1080x2400_dsc_vid>; }; -&dsi_tm_nt36672e_678_fhdp_120_video { + +&mot_csot_vtdr6115_655_1080x2400_dsc_vid{ qcom,platform-te-gpio = <&tlmm 23 0>; qcom,platform-reset-gpio = <&pmr735a_gpios 2 0>; qcom,panel-supply-entries = <&dsi_panel_pwr_supply_ext_bias>; - - qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_i2c"; + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; qcom,mdss-dsi-bl-min-level = <1>; - qcom,mdss-dsi-bl-max-level = <2047>; - qcom,mdss-dsi-bl-default-level = <1024>; - qcom,mdss-brightness-max-level = <2047>; + qcom,mdss-dsi-bl-max-level = <4095>; + qcom,mdss-brightness-max-level = <4095>; + qcom,mdss-dsi-bl-inverted-dbv; - qcom,dsi-supported-dfps-list = <120 90 60>; - qcom,mdss-dsi-pan-enable-dynamic-fps; - qcom,mdss-dsi-pan-fps-update = "dfps_immediate_porch_mode_vfp"; + qcom,mdss-dsi-no-panel-on-read-support; + qcom,mdss-dsi-bl-is-exponent; - qcom,esd-check-enabled; + qcom,mdss-dsi-panel-hdr-enable; + qcom,mdss-dsi-panel-hdr-color-primaries = <14950 15750 34000 + 16000 13000 35500 7000 2500>; + qcom,mdss-dsi-panel-peak-brightness = <5000000>; + qcom,mdss-dsi-panel-blackness-level = <100>; + + //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-command-state = "dsi_hs_mode"; qcom,mdss-dsi-panel-status-value = <0x9c>; qcom,mdss-dsi-panel-status-read-length = <1>; - qcom,mdss-dsi-no-panel-on-read-support; - qcom,mdss-dsi-panel-supplier = "tm"; - - qcom,tp_state_check_enable; - - qcom,mdss-dsi-hbm-on-command = [39 01 00 00 00 00 02 51 FF]; - qcom,mdss-dsi-hbm-on-command-state = "dsi_lp_mode"; - qcom,mdss-dsi-hbm-off-command = [39 01 00 00 00 00 02 51 CC]; - qcom,mdss-dsi-hbm-off-command-state = "dsi_lp_mode"; - qcom,mdss-dsi-hbm-type = "lcd-dcs-wled"; qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0"; - qcom,mdss-dsi-display-timings { timing@0 { - qcom,mdss-dsi-panel-phy-timings = [00 1A 07 06 22 21 07 - 07 07 02 04 00 1A 0C]; + qcom,mdss-dsi-panel-phy-timings = [00 21 08 08 19 23 08 + 08 09 02 04 00 1C 0D]; qcom,display-topology = <1 1 1>; qcom,default-topology-index = <0>; }; @@ -183,97 +213,6 @@ }; }; -&dsi_csot_nt36672e_678_fhdp_120_video { - qcom,platform-te-gpio = <&tlmm 23 0>; - qcom,platform-reset-gpio = <&pmr735a_gpios 2 0>; - - qcom,panel-supply-entries = <&dsi_panel_pwr_supply_ext_bias>; - - qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_i2c"; - qcom,mdss-dsi-bl-min-level = <1>; - qcom,mdss-dsi-bl-max-level = <2047>; - qcom,mdss-dsi-bl-default-level = <1024>; - qcom,mdss-brightness-max-level = <2047>; - - qcom,dsi-supported-dfps-list = <120 90 60>; - qcom,mdss-dsi-pan-enable-dynamic-fps; - qcom,mdss-dsi-pan-fps-update = "dfps_immediate_porch_mode_vfp"; - - 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-no-panel-on-read-support; - qcom,mdss-dsi-panel-supplier = "csot"; - - qcom,tp_state_check_enable; - - qcom,mdss-dsi-hbm-on-command = [39 01 00 00 00 00 02 51 FF]; - qcom,mdss-dsi-hbm-on-command-state = "dsi_lp_mode"; - qcom,mdss-dsi-hbm-off-command = [39 01 00 00 00 00 02 51 CC]; - qcom,mdss-dsi-hbm-off-command-state = "dsi_lp_mode"; - qcom,mdss-dsi-hbm-type = "lcd-dcs-wled"; - - qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0"; - - qcom,mdss-dsi-display-timings { - timing@0 { - qcom,mdss-dsi-panel-phy-timings = [00 1A 07 06 22 21 07 - 07 07 02 04 00 1A 0C]; - qcom,display-topology = <1 1 1>; - qcom,default-topology-index = <0>; - }; - }; -}; - - -&dsi_tianma_nt36672e_678_fhdp_120_video_v1 { - qcom,platform-te-gpio = <&tlmm 23 0>; - qcom,platform-reset-gpio = <&pmr735a_gpios 2 0>; - - qcom,panel-supply-entries = <&dsi_panel_pwr_supply_ext_bias>; - - qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_i2c"; - qcom,mdss-dsi-bl-min-level = <1>; - qcom,mdss-dsi-bl-max-level = <2047>; - qcom,mdss-dsi-bl-default-level = <1024>; - qcom,mdss-brightness-max-level = <2047>; - - qcom,dsi-supported-dfps-list = <120 90 60>; - qcom,mdss-dsi-pan-enable-dynamic-fps; - qcom,mdss-dsi-pan-fps-update = "dfps_immediate_porch_mode_vfp"; - - 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-no-panel-on-read-support; - qcom,mdss-dsi-panel-supplier = "tm"; - - qcom,tp_state_check_enable; - - qcom,mdss-dsi-hbm-on-command = [39 01 00 00 00 00 02 51 FF]; - qcom,mdss-dsi-hbm-on-command-state = "dsi_lp_mode"; - qcom,mdss-dsi-hbm-off-command = [39 01 00 00 00 00 02 51 CC]; - qcom,mdss-dsi-hbm-off-command-state = "dsi_lp_mode"; - qcom,mdss-dsi-hbm-type = "lcd-dcs-wled"; - - qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0"; - - qcom,mdss-dsi-display-timings { - timing@0 { - qcom,mdss-dsi-panel-phy-timings = [00 1A 07 06 22 21 07 - 07 07 02 04 00 1A 0C]; - qcom,display-topology = <1 1 1>; - qcom,default-topology-index = <0>; - }; - }; -}; - &qupv3_se10_i2c { status = "ok"; diff --git a/qcom/bangkk-touchscreen.dtsi b/qcom/bangkk-touchscreen.dtsi index 02bc5dd7c72f..9cc71ced18c3 100755 --- a/qcom/bangkk-touchscreen.dtsi +++ b/qcom/bangkk-touchscreen.dtsi @@ -86,7 +86,7 @@ novatek,usb_charger; novatek,edge_cmd = /bits/ 8 <0x72 0x01 0x00>; novatek,panel-supplier = "tianma","tm","csot"; - panel = <&dsi_tianma_nt36672e_678_fhdp_120_video_v1 &dsi_tm_nt36672e_678_fhdp_120_video &dsi_csot_nt36672e_678_fhdp_120_video>; + panel = <&mot_csot_vtdr6115_655_1080x2400_dsc_vid>; status = "ok"; }; diff --git a/qcom/dsi-panel-mot-csot-vtdr6115-655-1080x2400-video.dtsi b/qcom/dsi-panel-mot-csot-vtdr6115-655-1080x2400-video.dtsi new file mode 100644 index 000000000000..54003ead5ba1 --- /dev/null +++ b/qcom/dsi-panel-mot-csot-vtdr6115-655-1080x2400-video.dtsi @@ -0,0 +1,108 @@ +/* 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_vtdr6115_655_1080x2400_dsc_vid: qcom,mdss_dsi_mot_csot_vtdr6115_655_1080x2400_dsc_vid { + qcom,mdss-dsi-panel-name = + "mipi_moto_vid_csot_1080p_dsc_667"; + qcom,mdss-dsi-panel-type = "dsi_video_mode"; + qcom,mdss-dsi-panel-physical-type = "oled"; + qcom,mdss-dsi-virtual-channel-id = <0>; + qcom,mdss-dsi-stream = <0>; + qcom,dsi-ctrl-num = <0>; + qcom,dsi-phy-num = <0>; + qcom,mdss-pan-physical-width-dimension = <69>; + qcom,mdss-pan-physical-height-dimension = <154>; + qcom,mdss-dsi-bpp = <30>; + qcom,mdss-dsi-underflow-color = <0xff>; + qcom,mdss-dsi-border-color = <0>; + + 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-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 = <5000000>;//4200000 + + qcom,mdss-dsi-panel-blackness-level = <3515>;//3230 + + qcom,mdss-dsi-display-timings { + timing@0 { + cell-index = <0>; + 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-v-back-porch = <8>; + qcom,mdss-dsi-v-front-porch = <3444>; + 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-on-command = [ + 39 01 00 00 00 00 02 03 01 + 39 01 00 00 00 00 02 53 20 + 39 01 00 00 00 00 03 51 0D BA + 39 01 00 00 00 00 02 6F 01 + 39 01 00 00 00 00 02 35 00 + 39 01 00 00 00 00 02 55 10 + 39 01 00 00 00 00 02 59 09 + 39 01 00 00 00 00 02 6C 00 + 39 01 00 00 00 00 03 FF 5A 80 + 39 01 00 00 00 00 02 65 0E + 39 01 00 00 00 00 02 F9 B9 + 39 01 00 00 00 00 03 FF 5A 81 + 39 01 00 00 00 00 02 65 03 + 39 01 00 00 00 00 02 F4 03 + 39 01 00 00 00 00 02 65 08 + 39 01 00 00 00 00 03 F6 51 44 + 39 01 00 00 00 00 03 FF 5A 00 + 39 01 00 00 00 00 03 F0 AA 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_lp_mode"; + qcom,mdss-dsi-h-sync-pulse = <0>; + qcom,compression-mode = "dsc"; + qcom,mdss-dsc-slice-height = <12>; + qcom,mdss-dsc-slice-width = <540>; + qcom,mdss-dsc-slice-per-pkt = <2>; + qcom,mdss-dsc-bit-per-component = <10>; + qcom,mdss-dsc-bit-per-pixel = <8>; + qcom,mdss-dsc-block-prediction-enable; + }; + }; + }; +};