/* 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. */ #include "dsi-panel-rm69299-visionox-amoled-fhd-plus-video.dtsi" #include "dsi-panel-rm69299-visionox-amoled-fhd-plus-cmd.dtsi" #include "dsi-panel-sim-video.dtsi" #include "dsi-panel-sim-cmd.dtsi" #include "dsi-panel-sim-dsc375-cmd.dtsi" #include "dsi-panel-nt36672c-fhd-plus-video.dtsi" #include &soc { dsi_panel_pwr_supply: dsi_panel_pwr_supply { #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 = <1904000>; qcom,supply-enable-load = <32000>; qcom,supply-disable-load = <80>; }; qcom,panel-supply-entry@1 { reg = <1>; qcom,supply-name = "lab"; qcom,supply-min-voltage = <4600000>; 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 = <4600000>; qcom,supply-max-voltage = <6000000>; qcom,supply-enable-load = <100000>; qcom,supply-disable-load = <100>; qcom,supply-post-on-sleep = <20>; }; }; dsi_panel_pwr_supply_no_labibb: dsi_panel_pwr_supply_no_labibb { #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 = <1904000>; qcom,supply-enable-load = <32000>; qcom,supply-disable-load = <80>; }; }; dsi_panel_pwr_supply_labibb_amoled: dsi_panel_pwr_supply_labibb_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 = <1904000>; qcom,supply-enable-load = <32000>; qcom,supply-disable-load = <80>; }; qcom,panel-supply-entry@1 { reg = <1>; qcom,supply-name = "vdda-3p3"; qcom,supply-min-voltage = <3000000>; qcom,supply-max-voltage = <3000000>; qcom,supply-enable-load = <13200>; qcom,supply-disable-load = <80>; }; }; dsi_rm69299_visionox_amoled_vid_display: qcom,dsi-display@0 { label = "dsi_rm69299_visionox_amoled_vid_display"; qcom,display-type = "primary"; qcom,dsi-ctrl-num = <0>; qcom,dsi-phy-num = <0>; qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0", "src_byte_clk0", "src_pixel_clk0", "shadow_byte_clk0", "shadow_pixel_clk0"; qcom,dsi-panel = <&dsi_rm69299_visionox_amoled_video>; }; dsi_rm69299_visionox_amoled_cmd_display: qcom,dsi-display@1 { label = "dsi_rm69299_visionox_amoled_cmd_display"; qcom,display-type = "primary"; qcom,dsi-ctrl-num = <0>; qcom,dsi-phy-num = <0>; qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0"; qcom,dsi-panel = <&dsi_rm69299_visionox_amoled_cmd>; }; dsi_sim_vid_display: qcom,dsi-display@2 { label = "dsi_sim_vid_display"; qcom,display-type = "primary"; qcom,dsi-ctrl-num = <0>; qcom,dsi-phy-num = <0>; qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0"; qcom,dsi-panel = <&dsi_sim_vid>; }; dsi_sim_cmd_display: qcom,dsi-display@3 { label = "dsi_sim_cmd_display"; qcom,display-type = "primary"; qcom,dsi-ctrl-num = <0>; qcom,dsi-phy-num = <0>; qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0"; qcom,dsi-panel = <&dsi_sim_cmd>; }; dsi_sim_dsc_375_cmd_display: qcom,dsi-display@4 { label = "dsi_sim_dsc_375_cmd_display"; qcom,display-type = "primary"; qcom,dsi-ctrl-num = <0>; qcom,dsi-phy-num = <0>; qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0"; qcom,dsi-panel = <&dsi_sim_dsc_375_cmd>; }; dsi_nt36672c_video_display: qcom,dsi-display@5 { label = "dsi_nt36672c_video_display"; qcom,display-type = "primary"; qcom,dsi-ctrl-num = <0>; qcom,dsi-phy-num = <0>; qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0", "cphy_byte_clk0", "cphy_pixel_clk0", "shadow_cphybyte_clk0", "shadow_cphypixel_clk0"; qcom,dsi-panel = <&dsi_nt36672c_video>; }; sde_dsi: qcom,dsi-display { compatible = "qcom,dsi-display"; qcom,dsi-ctrl = <&mdss_dsi0>; qcom,dsi-phy = <&mdss_dsi_phy0>; clocks = <&mdss_dsi0_pll BYTECLK_MUX_0_CLK>, <&mdss_dsi0_pll PCLK_MUX_0_CLK>, <&mdss_dsi0_pll BYTECLK_SRC_0_CLK>, <&mdss_dsi0_pll PCLK_SRC_0_CLK>, <&mdss_dsi0_pll CPHY_BYTECLK_SRC_0_CLK>, <&mdss_dsi0_pll CPHY_PCLK_SRC_0_CLK>, <&mdss_dsi0_pll SHADOW_BYTECLK_SRC_0_CLK>, <&mdss_dsi0_pll SHADOW_PCLK_SRC_0_CLK>, <&mdss_dsi0_pll SHADOW_CPHY_BYTECLK_SRC_0_CLK>, <&mdss_dsi0_pll SHADOW_CPHY_PCLK_SRC_0_CLK>; clock-names = "mux_byte_clk0", "mux_pixel_clk0", "src_byte_clk0", "src_pixel_clk0", "cphy_byte_clk0", "cphy_pixel_clk0", "shadow_byte_clk0", "shadow_pixel_clk0", "shadow_cphybyte_clk0", "shadow_cphypixel_clk0"; pinctrl-names = "panel_active", "panel_suspend"; pinctrl-0 = <&sde_te_active &disp_pins_default>; pinctrl-1 = <&sde_te_suspend>; qcom,platform-te-gpio = <&tlmm 10 0>; qcom,platform-reset-gpio = <&pm6150l_gpios 3 0>; qcom,panel-te-source = <0>; vddio-supply = <&L13A>; vdda-3p3-supply = <&L18A>; lab-supply = <&lcdb_ldo_vreg>; ibb-supply = <&lcdb_ncp_vreg>; qcom,dsi-display-list = <&dsi_rm69299_visionox_amoled_vid_display &dsi_rm69299_visionox_amoled_cmd_display &dsi_sim_vid_display &dsi_sim_cmd_display &dsi_sim_dsc_375_cmd_display &dsi_nt36672c_video_display>; }; sde_wb: qcom,wb-display@0 { compatible = "qcom,wb-display"; cell-index = <0>; label = "wb_display"; }; ext_disp: qcom,msm-ext-disp { compatible = "qcom,msm-ext-disp"; ext_disp_audio_codec: qcom,msm-ext-disp-audio-codec-rx { compatible = "qcom,msm-ext-disp-audio-codec-rx"; }; }; }; &sde_dp { qcom,dp-usbpd-detection = <&pm6150_pdphy>; qcom,ext-disp = <&ext_disp>; qcom,usbplug-cc-gpio = <&tlmm 104 0>; pinctrl-name = "mdss_dp_active", "mdss_dp_sleep"; pinctrl-0 = <&sde_dp_usbplug_cc_active>; pinctrl-1 = <&sde_dp_usbplug_cc_suspend>; }; &mdss_mdp { connectors = <&sde_wb &sde_dsi &sde_dp &sde_rscc>; }; &dsi_rm69299_visionox_amoled_video { 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_hs_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,dsi-supported-dfps-list = <60 55 48>; qcom,mdss-dsi-pan-enable-dynamic-fps; qcom,mdss-dsi-pan-fps-update = "dfps_immediate_porch_mode_vfp"; qcom,dsi-dyn-clk-enable; qcom,dsi-dyn-clk-list = <950938560 935089584 939051832 943014072 946976320>; qcom,mdss-dsi-t-clk-post = <0x0E>; qcom,mdss-dsi-t-clk-pre = <0x31>; qcom,mdss-dsi-display-timings { timing@0{ qcom,mdss-dsi-panel-phy-timings = [00 20 08 08 24 23 08 08 05 02 04 00]; qcom,display-topology = <1 0 1>; qcom,default-topology-index = <0>; }; }; }; &dsi_rm69299_visionox_amoled_cmd { qcom,ulps-enabled; 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_hs_mode"; qcom,mdss-dsi-panel-status-value = <0x9c>; qcom,mdss-dsi-panel-on-check-value = <0x9c>; qcom,dsi-dyn-clk-enable; qcom,dsi-dyn-clk-list = <1034259840 1017022176 1021331592 1025641008 1029950424>; qcom,mdss-dsi-panel-status-read-length = <1>; qcom,mdss-dsi-t-clk-post = <0x0E>; qcom,mdss-dsi-t-clk-pre = <0x31>; qcom,mdss-dsi-display-timings { timing@0{ qcom,mdss-dsi-panel-phy-timings = [00 20 08 08 24 23 08 08 05 02 04 00]; qcom,display-topology = <1 0 1>; qcom,default-topology-index = <0>; }; }; }; &dsi_sim_vid { qcom,mdss-dsi-t-clk-post = <0x0d>; qcom,mdss-dsi-t-clk-pre = <0x2d>; qcom,mdss-dsi-display-timings { timing@0{ qcom,mdss-dsi-panel-phy-timings = [00 1c 07 07 23 21 07 07 05 02 04 00]; qcom,display-topology = <1 0 1>, <2 0 1>; qcom,default-topology-index = <0>; }; timing@1{ qcom,mdss-dsi-panel-phy-timings = [00 1c 07 07 23 21 07 07 05 02 04 00]; qcom,display-topology = <1 0 1>; qcom,default-topology-index = <0>; }; }; }; &dsi_sim_cmd { qcom,mdss-dsi-t-clk-post = <0x0c>; qcom,mdss-dsi-t-clk-pre = <0x29>; qcom,ulps-enabled; qcom,mdss-dsi-display-timings { timing@0{ qcom,mdss-dsi-panel-phy-timings = [00 1a 06 06 22 20 07 07 04 02 04 00]; qcom,display-topology = <1 1 1>, <2 2 1>; qcom,default-topology-index = <1>; qcom,panel-roi-alignment = <720 40 720 40 720 40>; qcom,partial-update-enabled = "single_roi"; }; timing@1{ qcom,mdss-dsi-panel-phy-timings = [00 1a 06 06 22 20 07 07 04 02 04 00]; qcom,display-topology = <1 1 1>, <2 2 1>; qcom,default-topology-index = <1>; qcom,panel-roi-alignment = <540 40 540 40 540 40>; qcom,partial-update-enabled = "single_roi"; }; timing@2{ qcom,mdss-dsi-panel-phy-timings = [00 1a 06 06 22 20 07 07 04 02 04 00]; qcom,display-topology = <1 1 1>, <2 2 1>; qcom,default-topology-index = <1>; qcom,panel-roi-alignment = <360 40 360 40 360 40>; qcom,partial-update-enabled = "single_roi"; }; }; }; &dsi_sim_dsc_375_cmd { qcom,mdss-dsi-t-clk-post = <0x0d>; qcom,mdss-dsi-t-clk-pre = <0x2d>; qcom,ulps-enabled; qcom,mdss-dsi-display-timings { timing@0 { /* 1080p */ qcom,mdss-dsi-panel-phy-timings = [00 1a 06 06 22 20 07 07 04 02 04 00]; qcom,display-topology = <1 1 1>; qcom,default-topology-index = <0>; }; timing@1 { /* qhd */ qcom,mdss-dsi-panel-phy-timings = [00 15 05 05 20 1f 05 05 03 02 04 00]; qcom,display-topology = <1 1 1>, <2 2 1>, /* dsc merge */ <2 1 1>; /* 3d mux */ qcom,default-topology-index = <0>; }; }; }; &dsi_nt36672c_video { qcom,mdss-dsi-t-clk-post = <0x00>; qcom,mdss-dsi-t-clk-pre = <0x00>; 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_hs_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,dsi-supported-dfps-list = <60 90 50>; qcom,mdss-dsi-pan-enable-dynamic-fps; qcom,mdss-dsi-pan-fps-update = "dfps_immediate_porch_mode_vfp"; qcom,dsi-dyn-clk-enable; qcom,dsi-dyn-clk-skip-timing-update; qcom,dsi-dyn-clk-list = <1052068500 1047684883 1043301259 1038917642 1034534025>; qcom,dsi-dyn-clk-type = "constant-fps-adjust-hfp"; qcom,mdss-dsi-display-timings { timing@0{ qcom,mdss-dsi-panel-phy-timings = [00 23 09 09 26 24 09 09 09 06 02 04]; qcom,display-topology = <1 0 1>; qcom,default-topology-index = <0>; }; }; };