diff --git a/qcom/dsi-panel-mot-djn-nt36528-653-720x1600-video.dtsi b/qcom/dsi-panel-mot-djn-nt36528-653-720x1600-video.dtsi new file mode 100644 index 000000000000..464fda9f9668 --- /dev/null +++ b/qcom/dsi-panel-mot-djn-nt36528-653-720x1600-video.dtsi @@ -0,0 +1,88 @@ +&mdss_mdp { + dsi_nt36528_djn_video: qcom,mdss_dsi_nt36528_djn_720x1600_653_video { + qcom,mdss-dsi-panel-name = + "mipi_mot_vid_djn_hd_653_720p_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-color-order = "rgb_swap_rgb"; + qcom,mdss-dsi-underflow-color = <0xff>; + qcom,mdss-dsi-border-color = <0>; + qcom,mdss-dsi-h-sync-pulse = <0>; + qcom,mdss-dsi-traffic-mode = "burst_mode"; + qcom,mdss-dsi-lane-map = "lane_map_0123"; + qcom,mdss-dsi-bllp-eof-power-mode; + qcom,mdss-dsi-bllp-power-mode; + qcom,mdss-dsi-tx-eot-append; + 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-min-level = <1>; + qcom,mdss-dsi-bl-max-level = <255>; + qcom,mdss-dsi-reset-sequence = <0 3>, <1 3>, <0 3>, <1 11>; + qcom,mdss-pan-physical-width-dimension = <68>; + qcom,mdss-pan-physical-height-dimension = <151>; + + qcom,mdss-dsi-cabc-mv-command = [15 01 00 00 00 00 02 55 03]; + qcom,mdss-dsi-cabc-mv-command-state = "dsi_hs_mode"; + qcom,mdss-dsi-cabc-ui-command = [15 01 00 00 00 00 02 55 01]; + qcom,mdss-dsi-cabc-ui-command-state = "dsi_hs_mode"; + qcom,mdss-dsi-cabc-dis-command = [15 01 00 00 00 00 02 55 00]; + qcom,mdss-dsi-cabc-dis-command-state = "dsi_hs_mode"; + + qcom,mdss-dsi-display-timings { + timing@0 { + qcom,mdss-dsi-panel-width = <720>; + qcom,mdss-dsi-panel-height = <1600>; + qcom,mdss-dsi-h-front-porch = <20>; + qcom,mdss-dsi-h-back-porch = <100>; + qcom,mdss-dsi-h-pulse-width = <4>; + 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 = <341>; + qcom,mdss-dsi-v-pulse-width = <4>; + qcom,mdss-dsi-panel-framerate = <120>; + 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 = + [ + 15 00 00 00 00 00 02 FF 23 + 15 00 00 00 00 00 02 FB 01 + 15 00 00 00 00 00 02 00 60 + 15 00 00 00 00 00 02 07 00 + 15 00 00 00 00 00 02 08 01 + 15 00 00 00 00 00 02 09 AE + 15 00 00 00 00 00 02 FF 10 + 15 00 00 00 00 00 02 FB 01 + 15 00 00 00 00 00 02 51 FF + 15 00 00 00 00 00 02 53 2C + 15 00 00 00 00 00 02 55 01 + 05 01 00 00 78 00 01 11 + 05 01 00 00 14 00 01 29 + ]; + qcom,mdss-dsi-off-command = [ + 15 00 00 00 00 00 02 FF 10 + 15 00 00 00 00 00 02 FB 01 + 05 00 00 00 14 00 01 28 + 05 01 00 00 3C 00 01 10 + ]; + qcom,mdss-dsi-t-clk-post = <0x1A>; + qcom,mdss-dsi-t-clk-pre = <0x21>; + qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; + qcom,mdss-dsi-off-command-state = "dsi_lp_mode"; + }; + }; + + }; +}; diff --git a/qcom/penang-display.dtsi b/qcom/penang-display.dtsi index f533c8a22b49..8ba53917017d 100644 --- a/qcom/penang-display.dtsi +++ b/qcom/penang-display.dtsi @@ -1,27 +1,196 @@ #include "dsi-panel-mot-dummy-qhd-video.dtsi" +#include "dsi-panel-mot-djn-nt36528-653-720x1600-video.dtsi" + +&mdss_dsi_phy0 { + qcom,platform-strength-ctrl = [55 03 30 30 + 55 03 30 30 + 55 03 30 30 + 55 03 30 30 + 55 00 30 30]; +}; + + +&tlmm { + lcd_panel_avdd_default: lcd_panel_avdd_default { + mux { + pins = "gpio84"; + function = "gpio"; + }; + + config { + pins = "gpio84"; + drive-strength = <8>; + bias-disable = <0>; + output-high; + }; + }; + + lcd_panel_avee_default: lcd_panel_avee_default { + mux { + pins = "gpio85"; + function = "gpio"; + }; + + config { + pins = "gpio85"; + drive-strength = <8>; + bias-disable = <0>; + output-high; + }; + }; +}; + + +&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 84 0>; + enable-active-high; + regulator-boot-on; + proxy-supply = <&lcd_panel_avdd>; + pinctrl-names = "default"; + pinctrl-0 = <&lcd_panel_avdd_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 85 0>; + enable-active-high; + regulator-boot-on; + proxy-supply = <&lcd_panel_avee>; + pinctrl-names = "default"; + pinctrl-0 = <&lcd_panel_avee_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 = <32000>; + qcom,supply-disable-load = <80>; + qcom,supply-pre-off-sleep = <2>; + }; + + qcom,panel-supply-entry@1 { + reg = <1>; + qcom,supply-name = "lab"; + qcom,supply-min-voltage = <5500000>; + qcom,supply-max-voltage = <5500000>; + qcom,supply-enable-load = <100000>; + qcom,supply-disable-load = <100>; + qcom,supply-pre-on-sleep = <3>; + }; + + qcom,panel-supply-entry@2 { + reg = <2>; + qcom,supply-name = "ibb"; + qcom,supply-min-voltage = <5500000>; + qcom,supply-max-voltage = <5500000>; + qcom,supply-enable-load = <100000>; + qcom,supply-disable-load = <100>; + qcom,supply-pre-off-sleep = <3>; + qcom,supply-post-on-sleep = <3>; + }; + + }; +}; &sde_dsi { + /delete-property/ lab-supply; + /delete-property/ ibb-supply; + /delete-property/ vddio-supply; + /delete-property/ qcom,dsi-default-panel; + /delete-property/ avdd-supply; - qcom,dsi-default-panel = <&mot_dummy_vid_qhd>; + lab-supply = <&lcd_panel_avdd>; + ibb-supply = <&lcd_panel_avee>; + vddio-supply = <&L13A>; + + qcom,dsi-default-panel = <&dsi_nt36528_djn_video>; }; +&dsi_nt36528_djn_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_dcs"; + qcom,bklt-dcs-2bytes-enabled; + + qcom,mdss-dsi-bl-min-level = <1>; + qcom,mdss-dsi-bl-max-level = <255>; + qcom,mdss-dsi-bl-default-level = <128>; + qcom,mdss-brightness-max-level = <255>; + + /*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-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-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 02 51 FF]; + qcom,mdss-dsi-hbm-off-command = [39 01 00 00 00 00 02 51 FF]; + + qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0"; + qcom,mdss-dsi-t-clk-post = <0x1A>; + qcom,mdss-dsi-t-clk-pre = <0x21>; + qcom,mdss-dsi-display-timings { + timing@0 { + qcom,mdss-dsi-panel-phy-drive-strength = <0x8C>; + qcom,mdss-dsi-panel-phy-timings = [00 27 0A 0A 27 25 0A + 0B 0A 02 04 00]; + qcom,display-topology = <1 0 1>; + qcom,default-topology-index = <0>; + }; + }; +}; &mot_dummy_vid_qhd { - qcom,platform-te-gpio = <&tlmm 23 0>; - qcom,platform-reset-gpio = <&pmr735a_gpios 2 0>; + qcom,platform-te-gpio = <&tlmm 23 0>; + qcom,platform-reset-gpio = <&pmr735a_gpios 2 0>; - qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dummy"; - qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0"; - qcom,mdss-dsi-t-clk-post = <0x09>; - qcom,mdss-dsi-t-clk-pre = <0x15>; - qcom,mdss-dsi-display-timings { - timing@0 { - qcom,mdss-dsi-panel-phy-timings = [00 0B 02 02 1C 1C 03 - 02 01 02 04 00]; - qcom,display-topology = <1 0 1>; - qcom,default-topology-index = <0>; - }; - }; + qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0"; + qcom,mdss-dsi-t-clk-post = <0x09>; + qcom,mdss-dsi-t-clk-pre = <0x15>; + qcom,mdss-dsi-display-timings { + timing@0 { + qcom,mdss-dsi-panel-phy-timings = [00 0B 02 02 1C 1C 03 + 02 01 02 04 00]; + qcom,display-topology = <1 0 1>; + qcom,default-topology-index = <0>; + }; + }; }; + +