/* Copyright (c) 2017, 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.
 */


/dts-v1/;

#include "sdm845.dtsi"
#include "sdm845-mtp.dtsi"

/ {
	model = "Qualcomm Technologies, Inc. sdm845 4K Display Panel MTP";
	compatible = "qcom,sdm845-mtp", "qcom,sdm845", "qcom,mtp";
	qcom,board-id = <8 1>;
};

&dsi_dual_nt35597_truly_video_display {
	/delete-property/ qcom,dsi-display-active;
};

&mdss_mdp {
	connectors = <&sde_rscc &sde_wb &dsi_sharp_4k_dsc_video_display>;
};

&dsi_sharp_4k_dsc_video {
	qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
	qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
	qcom,mdss-dsi-bl-min-level = <1>;
	qcom,mdss-dsi-bl-max-level = <4095>;
	qcom,mdss-dsi-panel-mode-gpio-state = "dual_port";
	qcom,panel-mode-gpio = <&tlmm 52 0>;
	qcom,platform-te-gpio = <&tlmm 10 0>;
	qcom,platform-reset-gpio = <&tlmm 6 0>;
};

&dsi_sharp_4k_dsc_video_display {
	qcom,dsi-display-active;
};
