From bcb11f5e92fd01367c2f11b20a1a45d160e3897d Mon Sep 17 00:00:00 2001 From: houdz1 Date: Wed, 17 Nov 2021 16:46:27 +0800 Subject: [PATCH] Rhodep: dts/panel: Support for csot and tianma panel csot + nt37701 + dsc + 10bits tianma + nt37701 + dsc + 10bits Change-Id: If61a47d5e3ce6e05adb662455d47a346b1981236 Signed-off-by: houdz1 Reviewed-on: https://gerrit.mot.com/2119030 SME-Granted: SME Approvals Granted SLTApproved: Slta Waiver Tested-by: Jira Key Reviewed-by: Yeqing Wang Reviewed-by: Huosheng Liao Submit-Approved: Jira Key --- qcom/rhodep-display.dtsi | 333 +++++++++++++++++++++------------------ 1 file changed, 180 insertions(+), 153 deletions(-) diff --git a/qcom/rhodep-display.dtsi b/qcom/rhodep-display.dtsi index f0fe93701d03..b3c7a677cab0 100644 --- a/qcom/rhodep-display.dtsi +++ b/qcom/rhodep-display.dtsi @@ -1,35 +1,37 @@ +#include "dsi-panel-mot-csot-nt37701-655-1080x2400-dsc-cmd-common.dtsi" +#include "dsi-panel-mot-tianma-nt37701-655-1080x2400-dsc-cmd-common.dtsi" #include "dsi-panel-mot-dummy-qhd-video.dtsi" -#include "dsi-panel-mot-tm-nt36672e-678-1080x2460-video.dtsi" &display_panel_avdd { /delete-property/ gpio; /delete-property/ pinctrl-0; }; +&display_panel_avdd { + status = "disabled"; +}; + +&display_panel_ibb { + status = "disabled"; +}; + +&qupv3_se2_spi { + status = "disabled"; +}; + +&qupv3_se2_i2c { + status = "disabled"; +}; &tlmm { - lcd_bias_vsp_en_default: lcd_bias_vsp_en_default { + panel_vci_en_default: panel_vci_en_default { mux { - pins = "gpio85"; + pins = "gpio46"; function = "gpio"; }; config { - pins = "gpio85"; - drive-strength = <8>; - bias-disable = <0>; - output-high; - }; - }; - - lcd_bias_vsn_en_default: lcd_bias_vsn_en_default { - mux { - pins = "gpio86"; - function = "gpio"; - }; - - config { - pins = "gpio86"; + pins = "gpio46"; drive-strength = <8>; bias-disable = <0>; output-high; @@ -38,66 +40,57 @@ }; &soc { - lcd_panel_avdd: lcd_gpio_regulator@1 { - compatible = "qti-regulator-fixed"; - regulator-name = "lcd_panel_avdd"; - regulator-min-microvolt = <5500000>; - regulator-max-microvolt = <5500000>; - regulator-enable-ramp-delay = <233>; - gpio = <&tlmm 85 0>; - enable-active-high; - regulator-boot-on; - proxy-supply = <&lcd_panel_avdd>; - pinctrl-names = "default"; - pinctrl-0 = <&lcd_bias_vsp_en_default>; + dsi_panel_pwr_supply_amoled: dsi_panel_pwr_supply_amoled { + #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 = <60700>; + qcom,supply-disable-load = <80>; + qcom,supply-post-on-sleep = <2>; + qcom,supply-post-off-sleep = <0>; + }; + + qcom,panel-supply-entry@1 { + reg = <1>; + qcom,supply-name = "dvdd"; + qcom,supply-min-voltage = <1250000>; + qcom,supply-max-voltage = <1250000>; + qcom,supply-enable-load = <60700>; + qcom,supply-disable-load = <10>; + qcom,supply-post-on-sleep = <2>; + qcom,supply-post-off-sleep = <2>; + }; + + qcom,panel-supply-entry@2 { + reg = <2>; + qcom,supply-name = "vci"; + qcom,supply-min-voltage = <3000000>; + qcom,supply-max-voltage = <3000000>; + qcom,supply-enable-load = <30000>; + qcom,supply-disable-load = <0>; + qcom,supply-post-on-sleep = <0>; + qcom,supply-post-off-sleep = <2>; + }; }; - lcd_panel_avee: lcd_gpio_regulator@2 { + panel_vci: panel_gpio_regulator@1 { compatible = "qti-regulator-fixed"; - regulator-name = "lcd_panel_avee"; - regulator-min-microvolt = <5500000>; - regulator-max-microvolt = <5500000>; + regulator-name = "panel_vci"; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3000000>; regulator-enable-ramp-delay = <233>; - gpio = <&tlmm 86 0>; + gpio = <&tlmm 46 0>; enable-active-high; regulator-boot-on; - proxy-supply = <&lcd_panel_avee>; + proxy-supply = <&panel_vci>; pinctrl-names = "default"; - pinctrl-0 = <&lcd_bias_vsn_en_default>; + pinctrl-0 = <&panel_vci_en_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,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,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>; - }; - }; }; &sde_dsi { @@ -107,55 +100,141 @@ /delete-property/ qcom,dsi-default-panel; /delete-property/ avdd-supply; + vci-supply = <&panel_vci>; vddio-supply = <&L13A>; - lab-supply = <&lcd_panel_avdd>; - ibb-supply = <&lcd_panel_avee>; - - qcom,dsi-default-panel = <&dsi_nt36672e_fhd_plus_144_video>; + dvdd-supply = <&L3A>; + qcom,dsi-default-panel = <&mot_csot_nt37701_655_1080x2400_dsc_cmd_v0>; }; -&dsi_tm_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"; - +&mot_csot_nt37701_655_1080x2400_dsc_cmd_v0 { qcom,esd-check-enabled; - qcom,mdss-dsi-panel-status-check-mode = "reg_read"; + qcom,mdss-dsi-panel-status-check-mode = "te_chk_reg_rd"; 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,panel-supply-entries = <&dsi_panel_pwr_supply_amoled>; qcom,mdss-dsi-no-panel-on-read-support; - qcom,mdss-dsi-panel-supplier = "tm"; + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; + qcom,mdss-dsi-bl-min-level = <9>; + qcom,mdss-dsi-bl-max-level = <3514>; + qcom,mdss-dsi-bl-default-level = <1757>; + qcom,mdss-brightness-max-level = <3514>; + qcom,platform-te-gpio = <&tlmm 23 0>; + qcom,platform-reset-gpio = <&pmr735a_gpios 2 0>; - qcom,tp_state_check_enable; + qcom,bl-dsc-cmd-state = "dsi_hs_mode"; - 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,mdss-dsi-panel-hdr-enabled; + 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,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0"; qcom,mdss-dsi-display-timings { timing@0 { - qcom,mdss-dsi-panel-clockrate = <900000000>; - qcom,mdss-dsi-panel-phy-timings = [00 1A 07 06 22 21 07 - 07 07 02 04 00 1A 0C]; + //qcom,mdss-dsi-panel-clockrate = <320000000>; qcom,display-topology = <1 1 1>; qcom,default-topology-index = <0>; + qcom,mdss-dsi-panel-phy-timings = [00 0D 03 03 10 1D 04 + 03 02 02 04 00 0C 08]; + }; + timing@1 { + //qcom,mdss-dsi-panel-clockrate = <400000000>; + qcom,display-topology = <1 1 1>; + qcom,default-topology-index = <0>; + qcom,mdss-dsi-panel-phy-timings = [00 10 03 03 11 1E 04 + 04 03 02 04 00 0E 08]; + }; + timing@2 { + //qcom,mdss-dsi-panel-clockrate = <601000000>; + qcom,display-topology = <1 1 1>; + qcom,default-topology-index = <0>; + qcom,mdss-dsi-panel-phy-timings = [00 16 05 05 14 1F 06 + 06 06 02 04 00 13 0A]; + }; + timing@3 { + //qcom,mdss-dsi-panel-clockrate = <801000000>; + qcom,display-topology = <1 1 1>; + qcom,default-topology-index = <0>; + qcom,mdss-dsi-panel-phy-timings = [00 1C 07 07 17 15 07 + 07 08 02 04 00 18 0C]; + }; + timing@4 { + //qcom,mdss-dsi-panel-clockrate = <961000000>; + qcom,display-topology = <1 1 1>; + qcom,default-topology-index = <0>; + qcom,mdss-dsi-panel-phy-timings = [00 21 08 08 19 17 08 + 08 09 02 04 00 1C 0D]; + }; + }; +}; + +&mot_tm_nt37701_655_1080x2400_dsc_cmd_v0 { + qcom,esd-check-enabled; + qcom,mdss-dsi-panel-status-check-mode = "te_chk_reg_rd"; + 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,panel-supply-entries = <&dsi_panel_pwr_supply_amoled>; + qcom,mdss-dsi-no-panel-on-read-support; + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; + qcom,mdss-dsi-bl-min-level = <9>; + qcom,mdss-dsi-bl-max-level = <3514>; + qcom,mdss-dsi-bl-default-level = <1757>; + qcom,mdss-brightness-max-level = <3514>; + qcom,platform-te-gpio = <&tlmm 23 0>; + qcom,platform-reset-gpio = <&pmr735a_gpios 2 0>; + qcom,bl-dsc-cmd-state = "dsi_hs_mode"; + + qcom,mdss-dsi-panel-hdr-enabled; + 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,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0"; + + qcom,mdss-dsi-display-timings { + timing@0 { + //qcom,mdss-dsi-panel-clockrate = <320000000>; + qcom,display-topology = <1 1 1>; + qcom,default-topology-index = <0>; + qcom,mdss-dsi-panel-phy-timings = [00 0D 03 03 10 1D 04 + 03 02 02 04 00 0C 08]; + }; + timing@1 { + //qcom,mdss-dsi-panel-clockrate = <400000000>; + qcom,display-topology = <1 1 1>; + qcom,default-topology-index = <0>; + qcom,mdss-dsi-panel-phy-timings = [00 10 03 03 11 1E 04 + 04 03 02 04 00 0E 08]; + }; + timing@2 { + //qcom,mdss-dsi-panel-clockrate = <601000000>; + qcom,display-topology = <1 1 1>; + qcom,default-topology-index = <0>; + qcom,mdss-dsi-panel-phy-timings = [00 16 05 05 14 1F 06 + 06 06 02 04 00 13 0A]; + }; + timing@3 { + //qcom,mdss-dsi-panel-clockrate = <801000000>; + qcom,display-topology = <1 1 1>; + qcom,default-topology-index = <0>; + qcom,mdss-dsi-panel-phy-timings = [00 1C 07 07 17 15 07 + 07 08 02 04 00 18 0C]; + }; + timing@4 { + //qcom,mdss-dsi-panel-clockrate = <961000000>; + qcom,display-topology = <1 1 1>; + qcom,default-topology-index = <0>; + qcom,mdss-dsi-panel-phy-timings = [00 21 08 08 19 17 08 + 08 09 02 04 00 1C 0D]; }; }; }; @@ -178,55 +257,3 @@ }; }; - -&qupv3_se10_i2c { - status = "ok"; - - lcd_backlight@36 { - compatible = "awinic,aw99703-bl","ti,lm3697"; - reg = <0x36>; - - /* Awinic, aw99703 */ - aw99703,hwen-gpio = <&tlmm 13 0>; - aw99703,bl-map = <3>; /* brightness map level 1:256,2:1024,3:2048 */ - aw99703,using-lsb; - aw99703,ovp-level = <2>; /* 31V */ - aw99703,ocp-level = <1>; /* 1.8A */ - aw99703,switch-freq = <1>; /* 1000kHz(default) */ - aw99703,auto-freq-high = <0x10>; - aw99703,auto-freq-low = <0x05>; - aw99703,bl-fscal-led = <0x19>; /* 24.8mA */ - aw99703,bl-channel = <3>; - aw99703,turn-on-ramp = <0x09>; /* 256ms */ - aw99703,turn-off-ramp = <0x04>; /* 8ms */ - aw99703,pwm-trans-dim = <0>; /* 2ms */ - aw99703,i2c-trans-dim = <0x07>; /* 512ms */ - aw99703,pwm-mode = <1>; /* 1 pwm enable,0 PWM disable */ - aw99703,map-type = <1>; /* linear */ - aw99703,work-mode = <1>; /* backlight */ - - /* TI, lm3697*/ - enable-gpios = <&tlmm 13 0>; - backlight { - compatible = "ti,lm3697-backlight"; - lcd { - led-sources = <0 1 2>; - ramp-up-msec = <200>; - ramp-down-msec = <200>; - pwm-period = <0>; - current-mode = <2>; /*2: 25mA*/ - boost-ovp = <2>; /*0:16v 1:24v 2:32v 3:40v*/ - boost-freq = <1>; /*0:500Khz 1:1Mhz*/ - default-brightness-level = <255>; - }; - }; - }; -}; - -&qupv3_se10_i2c_sleep { - config { - /delete-property/ bias-disable; - bias-pull-up; - input-enable; - }; -};