diff --git a/qcom/dsi-panel-mot-tianma-nt36672c-645-1080x2400-video.dtsi b/qcom/dsi-panel-mot-tianma-nt36672c-645-1080x2400-video.dtsi new file mode 100644 index 000000000000..9944e86345b6 --- /dev/null +++ b/qcom/dsi-panel-mot-tianma-nt36672c-645-1080x2400-video.dtsi @@ -0,0 +1,91 @@ +&mdss_mdp { + dsi_nt36672c_fhd_plus_120_video: qcom,mdss_dsi_tm_nt36672c_645_fhd_plus_120_video { + qcom,mdss-dsi-panel-name = + "mipi_mot_vid_tm_nt36672c_fhdp_645_120"; + qcom,mdss-dsi-panel-type = "dsi_video_mode"; + qcom,dsi-ctrl-num = <0>; + qcom,dsi-phy-num = <0>; + 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 = "burst_mode"; + qcom,mdss-dsi-bllp-power-mode; + qcom,mdss-dsi-bllp-eof-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-lp11-init; + //qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_i2c"; + qcom,mdss-dsi-reset-sequence = <1 10>, <0 10>, <1 10>; + qcom,mdss-dsi-tx-eot-append; + qcom,adjust-timer-wakeup-ms = <1>; + //qcom,mdss-dsi-panel-hdr-enabled; + //qcom,mdss-dsi-panel-hdr-color-primaries = <15000 16000 33750 + // 15800 13250 34450 7500 3000>; + //qcom,mdss-dsi-panel-peak-brightness = <6450000>; + //qcom,mdss-dsi-panel-blackness-level = <4961>; + + qcom,mdss-dsi-display-timings { + timing@0 { + qcom,mdss-dsi-panel-width = <1080>; + qcom,mdss-dsi-panel-height = <2400>; + qcom,mdss-dsi-h-front-porch = <100>; + qcom,mdss-dsi-h-back-porch = <40>; + qcom,mdss-dsi-h-pulse-width = <4>; + qcom,mdss-dsi-h-sync-skew = <0>; + qcom,mdss-dsi-v-back-porch = <20>; + qcom,mdss-dsi-v-front-porch = <54>; + qcom,mdss-dsi-v-pulse-width = <4>; + qcom,mdss-dsi-panel-framerate = <120>; + qcom,mdss-pan-physical-width-dimension = <68>; + qcom,mdss-pan-physical-height-dimension = <150>; + qcom,mdss-dsi-on-command = [ + 15 01 00 00 00 00 02 FF 10 + 15 01 00 00 00 00 02 FB 01 + 39 01 00 00 00 00 06 3B 03 14 36 04 04 + 15 01 00 00 00 00 02 B0 00 + 39 01 00 00 00 00 03 C2 1B A0 + + 15 01 00 00 00 00 02 FF F0 + 15 01 00 00 00 00 02 FB 01 + 15 01 00 00 00 00 02 1C 01 + 15 01 00 00 00 00 02 33 01 + 15 01 00 00 00 00 02 5A 00 + 15 01 00 00 00 00 02 FF D0 + 15 01 00 00 00 00 02 FB 01 + 15 01 00 00 00 00 02 53 22 + 15 01 00 00 00 00 02 54 02 + 15 01 00 00 00 00 02 FF C0 + 15 01 00 00 00 00 02 FB 01 + 15 01 00 00 00 00 02 9C 11 + 15 01 00 00 00 00 02 9D 11 + 15 01 00 00 00 00 02 FF 10 + 15 01 00 00 00 00 02 FB 01 + 15 01 00 00 00 00 02 C0 03 + 39 01 00 00 00 00 02 51 FF + 15 01 00 00 00 00 02 53 2C + 15 01 00 00 00 00 02 55 01 + 05 01 00 00 64 00 01 11 + 05 01 00 00 48 00 01 29 + ]; + qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; + qcom,mdss-dsi-off-command = [ + 05 01 00 00 10 00 01 28 + 05 01 00 00 32 00 01 10 + ]; + qcom,mdss-dsi-off-command-state = "dsi_lp_mode"; + qcom,compression-mode = "dsc"; + qcom,mdss-dsc-slice-height = <20>; + qcom,mdss-dsc-slice-width = <540>; + qcom,mdss-dsc-slice-per-pkt = <2>; + qcom,mdss-dsc-bit-per-component = <8>; + qcom,mdss-dsc-bit-per-pixel = <8>; + qcom,mdss-dsc-block-prediction-enable; + }; + }; + }; +}; diff --git a/qcom/rhodec-display.dtsi b/qcom/rhodec-display.dtsi index 550c5ec60a60..c3306f5c4920 100644 --- a/qcom/rhodec-display.dtsi +++ b/qcom/rhodec-display.dtsi @@ -1,6 +1,7 @@ #include "dsi-panel-mot-dummy-qhd-video.dtsi" #include "dsi-panel-mot-tianma-ili7807s-678-1080x2460-video.dtsi" #include "dsi-panel-mot-csot-ili7807s-678-1080x2460-video.dtsi" +#include "dsi-panel-mot-tianma-nt36672c-645-1080x2400-video.dtsi" &display_panel_avdd { /delete-property/ gpio; @@ -18,12 +19,12 @@ &tlmm { lcd_panel_avdd_default: lcd_panel_avdd_default { mux { - pins = "gpio84"; + pins = "gpio85"; function = "gpio"; }; config { - pins = "gpio84"; + pins = "gpio85"; drive-strength = <8>; bias-disable = <0>; output-high; @@ -32,12 +33,12 @@ lcd_panel_avee_default: lcd_panel_avee_default { mux { - pins = "gpio85"; + pins = "gpio86"; function = "gpio"; }; config { - pins = "gpio85"; + pins = "gpio86"; drive-strength = <8>; bias-disable = <0>; output-high; @@ -52,7 +53,7 @@ regulator-min-microvolt = <5500000>; regulator-max-microvolt = <5500000>; regulator-enable-ramp-delay = <233>; - gpio = <&tlmm 84 0>; + gpio = <&tlmm 85 0>; enable-active-high; regulator-boot-on; proxy-supply = <&lcd_panel_avdd>; @@ -66,7 +67,7 @@ regulator-min-microvolt = <5500000>; regulator-max-microvolt = <5500000>; regulator-enable-ramp-delay = <233>; - gpio = <&tlmm 85 0>; + gpio = <&tlmm 86 0>; enable-active-high; regulator-boot-on; proxy-supply = <&lcd_panel_avee>; @@ -86,7 +87,7 @@ ibb-supply = <&lcd_panel_avee>; vddio-supply = <&L13A>; - qcom,dsi-default-panel = <&dsi_tm_ili7807s_678_fhd_video>; + qcom,dsi-default-panel = <&dsi_nt36672c_fhd_plus_120_video>; }; &soc { @@ -101,7 +102,7 @@ qcom,supply-max-voltage = <1904000>; qcom,supply-enable-load = <32000>; qcom,supply-disable-load = <80>; - qcom,supply-pre-off-sleep = <2>; + qcom,supply-pre-off-sleep = <20>; }; qcom,panel-supply-entry@1 { @@ -129,57 +130,24 @@ }; -&dsi_tm_ili7807s_678_fhd_video { +&dsi_nt36672c_fhd_plus_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_rhodec>; - - qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; - qcom,bklt-dcs-2bytes-enabled; - + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_i2c"; qcom,mdss-dsi-bl-min-level = <8>; - qcom,mdss-dsi-bl-max-level = <1023>; - qcom,mdss-dsi-bl-default-level = <512>; - qcom,mdss-brightness-max-level = <1023>; - - 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-on-check-value = <0x9c>; - qcom,mdss-dsi-panel-status-read-length = <1>; + qcom,mdss-dsi-bl-max-level = <2047>; + qcom,mdss-dsi-bl-default-level = <1024>; + qcom,mdss-brightness-max-level = <2047>; qcom,mdss-dsi-no-panel-on-read-support; - qcom,mdss-dsi-panel-supplier = "tm"; - - qcom,suspend-ulps-enabled; - qcom,tp_state_check_enable; - qcom,platform-need-execute-shutdown; - - qcom,mdss-dsi-pan-enable-dynamic-fps; - qcom,mdss-dsi-pan-fps-update = "dfps_immediate_porch_mode_vfp"; - qcom,dsi-supported-dfps-list = <60 90 120>; - - //qcom,mdss-dsi-panel-hdr-enabled; - //qcom,mdss-dsi-panel-hdr-color-primaries = <15115 15895 32830 - // 16770 15010 32385 7770 1830>; - //qcom,mdss-dsi-panel-peak-brightness = <4500000>; - //qcom,mdss-dsi-panel-blackness-level = <3000>; - - qcom,mdss-dsi-hbm-type = "lcd-dcs-gpio"; - qcom,platform-hbm-en-gpio = <&tlmm 50 0>; - qcom,mdss-dsi-hbm-on-command = [39 01 00 00 00 00 03 51 03 33]; - qcom,mdss-dsi-hbm-off-command = [39 01 00 00 00 00 03 51 03 33]; - qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0"; - qcom,mdss-dsi-t-clk-post = <0x0C>; - qcom,mdss-dsi-t-clk-pre = <0x30>; + qcom,mdss-dsi-t-clk-post = <0x0D>; + qcom,mdss-dsi-t-clk-pre = <0x34>; qcom,mdss-dsi-display-timings { timing@0 { - qcom,mdss-dsi-panel-phy-timings = [00 1B 06 06 22 20 07 - 07 07 02 04 00]; + qcom,mdss-dsi-panel-phy-timings = [00 0E 08 08 24 22 08 08 08 02 04 00]; qcom,display-topology = <1 1 1>; qcom,default-topology-index = <0>; }; @@ -257,3 +225,50 @@ }; }; }; +&qupv3_se10_i2c { + status = "ok"; + + aw99703_backlight: sprd_backlight@36{ + compatible = "awinic,aw99703-bl"; + reg = <0x36>; + hwen-gpio = <&tlmm 60 1>; + /* brightness map level 1:256,2:1024,3:2048 */ + aw99703,bl-map = <3>; + 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 = <0x15>; /* 21.6mA */ + aw99703,bl-channel = <2>; + aw99703,turn-on-ramp = <0x04>; + aw99703,turn-off-ramp = <0x04>; + aw99703,pwm-trans-dim = <0>; /* 2ms */ + aw99703,i2c-trans-dim = <0x00>; + aw99703,pwm-mode = <0>; /* 0 pwm disble,1 PWM enable */ + aw99703,map-type = <1>; /* linear */ + aw99703,work-mode = <1>; /* backlight */ + aw99703,flash-timeout-time = <0x05>; /* 500ms(default) */ + aw99703,flash-current = <0x08>; /* 59.2mA(default) */ + aw99703,efuse-config = <0x1C 0x61 0x61 0x4C 0x2C 0xC0 0x08 0x00 0x01 0x80 0x00 0x00 0x00>; + + status = "okay"; + }; + + ocp2138@3e { + compatible = "ocp,i2c_lcd_bias"; + reg = <0x3e>; + i2c-pull-up; + ocp,lcd-bias-enn-gpio = <&tlmm 85 0>; + ocp,lcd-bias-enp-gpio = <&tlmm 86 0>; + }; +}; + +&qupv3_se10_i2c_sleep { + config { + /delete-property/ bias-disable; + bias-pull-up; + input-enable; + }; +};