Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 631a04a0 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: Bringup 2 instances of ADV7533 for 8996"

parents af91ae31 4d1ca4c4
Loading
Loading
Loading
Loading
+99 −8
Original line number Diff line number Diff line
@@ -342,21 +342,67 @@
};

&mdss_dsi {
	hw-config = "single_dsi";
	hw-config = "split_dsi";
};

&mdss_dsi0 {
	qcom,dsi-pref-prim-pan = <&dsi_hx8379a_fwvga_truly_vid>;
	qcom,dsi-pref-prim-pan = <&dsi_adv7533_720p>;
	pinctrl-names = "mdss_default", "mdss_sleep";
	pinctrl-0 = <&mdss_dsi_active &mdss_te_active &mdss_disp_bkl_active>;
	pinctrl-1 = <&mdss_dsi_suspend &mdss_te_suspend &mdss_disp_bkl_suspend>;
	qcom,platform-te-gpio = <&tlmm 10 0>;
	qcom,platform-reset-gpio = <&tlmm 8 0>;
	qcom,platform-bklight-en-gpio = <&tlmm 135 0>;
	pinctrl-0 = <&mdss_dsi_active &mdss_te_active>;
	pinctrl-1 = <&mdss_dsi_suspend &mdss_te_suspend>;

	qcom,panel-supply-entries {
			#address-cells = <1>;
			#size-cells = <0>;

			qcom,panel-supply-entry@0 {
				reg = <0>;
				qcom,supply-name = "vdd";
				qcom,supply-min-voltage = <3300000>;
				qcom,supply-max-voltage = <3300000>;
				qcom,supply-enable-load = <100000>;
				qcom,supply-disable-load = <100>;
			};

			qcom,panel-supply-entry@1 {
				reg = <1>;
				qcom,supply-name = "vddio";
				qcom,supply-min-voltage = <1800000>;
				qcom,supply-max-voltage = <1800000>;
				qcom,supply-enable-load = <100000>;
				qcom,supply-disable-load = <100>;
			};
	};
};

&mdss_dsi1 {
	status = "disabled";
	qcom,dsi-pref-prim-pan = <&dsi_adv7533_720p>;
	pinctrl-names = "mdss_default", "mdss_sleep";
	pinctrl-0 = <&mdss_dsi_active &mdss_te_active>;
	pinctrl-1 = <&mdss_dsi_suspend &mdss_te_suspend>;

	qcom,panel-supply-entries {
		#address-cells = <1>;
		#size-cells = <0>;

			qcom,panel-supply-entry@0 {
				reg = <0>;
				qcom,supply-name = "vdd";
				qcom,supply-min-voltage = <3300000>;
				qcom,supply-max-voltage = <3300000>;
				qcom,supply-enable-load = <100000>;
				qcom,supply-disable-load = <100>;
			};

			qcom,panel-supply-entry@1 {
				reg = <1>;
				qcom,supply-name = "vddio";
				qcom,supply-min-voltage = <1800000>;
				qcom,supply-max-voltage = <1800000>;
				qcom,supply-enable-load = <100000>;
				qcom,supply-disable-load = <100>;
			};
	};
};

&labibb {
@@ -558,6 +604,51 @@
		};
	};

	i2c@75b6000 { /* BLSP8 */
		/* ADV7533 configuration */
		adv7533@3d {
			compatible = "adv7533";
			instance_id = <0>;
			reg = <0x3d>;
			adi,video-mode = <3>; /* 3 = 1080p */
			adi,main-addr = <0x3D>;
			adi,cec-dsi-addr = <0x3E>;
			adi,enable-audio;
			pinctrl-names = "pmx_adv7533_active",
				"pmx_adv7533_suspend";
			pinctrl-0 = <&adv7533_0_int_active
				&adv7533_0_hpd_int_active
				&adv7533_0_switch_active>;
			pinctrl-1 = <&adv7533_0_int_suspend
				&adv7533_0_hpd_int_suspend
				&adv7533_0_switch_suspend>;
			adi,irq-gpio = <&tlmm 106 0x2002>;
			adi,hpd-irq-gpio = <&tlmm 106 0x2003>;
			adi,switch-gpio = <&tlmm 105 0x0>;
		};

		adv7533@39 {
			compatible = "adv7533";
			instance_id = <1>;
			reg = <0x39>;
			adi,video-mode = <3>; /* 3 = 1080p */
			adi,main-addr = <0x39>;
			adi,cec-dsi-addr = <0x3C>;
			adi,enable-audio;
			pinctrl-names = "pmx_adv7533_active",
				"pmx_adv7533_suspend";
			pinctrl-0 = <&adv7533_1_int_active
				&adv7533_1_hpd_int_active
				&adv7533_1_switch_active>;
			pinctrl-1 = <&adv7533_1_int_suspend
				&adv7533_1_hpd_int_suspend
				&adv7533_1_switch_suspend>;
			adi,irq-gpio = <&tlmm 108 0x2002>;
			adi,hpd-irq-gpio = <&tlmm 106 0x2003>;
			adi,switch-gpio = <&tlmm 107 0x0>;
		};
	};

	gpio_keys {
		compatible = "gpio-keys";
		input-name = "gpio-keys";
+74 −0
Original line number Diff line number Diff line
/* Copyright (c) 2015, 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.
 */

&mdss_mdp {
		dsi_adv7533_1080p: qcom,mdss_dsi_adv7533_1080p {
		label = "adv7533 1080p video mode dsi panel";
		qcom,mdss-dsi-panel-name = "dsi_adv7533_1080p";
		qcom,mdss-dsi-panel-controller = <&mdss_dsi0>;
		qcom,mdss-dsi-panel-type = "dsi_video_mode";
		qcom,mdss-dsi-panel-destination = "display_1";
		qcom,mdss-dsi-panel-framerate = <60>;
		qcom,mdss-dsi-virtual-channel-id = <0>;
		qcom,mdss-dsi-stream = <0>;
		qcom,mdss-dsi-panel-width = <1920>;
		qcom,mdss-dsi-panel-height = <1080>;
		qcom,mdss-dsi-h-front-porch = <88>;
		qcom,mdss-dsi-h-back-porch = <148>;
		qcom,mdss-dsi-h-pulse-width = <44>;
		qcom,mdss-dsi-h-sync-skew = <0>;
		qcom,mdss-dsi-v-back-porch = <36>;
		qcom,mdss-dsi-v-front-porch = <4>;
		qcom,mdss-dsi-v-pulse-width = <5>;
		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-bpp = <24>;
		qcom,mdss-dsi-underflow-color = <0xff>;
		qcom,mdss-dsi-border-color = <0>;
		qcom,mdss-dsi-on-command = [
				05 01 00 00 c8 00 02 11 00
				05 01 00 00 0a 00 02 29 00];
		qcom,mdss-dsi-off-command = [05 01 00 00 00 00 02 28 00
				05 01 00 00 00 00 02 10 00];
		qcom,mdss-dsi-on-command-state = "dsi_lp_mode";
		qcom,mdss-dsi-off-command-state = "dsi_hs_mode";
		qcom,mdss-dsi-h-sync-pulse = <1>;
		qcom,mdss-dsi-traffic-mode = "non_burst_sync_pulse";
		qcom,mdss-dsi-bllp-eof-power-mode;
		qcom,mdss-dsi-bllp-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-panel-timings = [
				E6 38 26 00 68 6C 2A 3A 2C 03 04 00];
		qcom,mdss-dsi-t-clk-post = <0x02>;
		qcom,mdss-dsi-t-clk-pre = <0x2B>;
		qcom,mdss-dsi-bl-min-level = <1>;
		qcom,mdss-dsi-bl-max-level = <4095>;
		qcom,mdss-dsi-dma-trigger = "trigger_sw";
		qcom,mdss-dsi-mdp-trigger = "none";
		qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
		qcom,mdss-dsi-reset-sequence = <1 20>, <0 1>, <1 20>;
		qcom,mdss-pan-physical-width-dimension = <160>;
		qcom,mdss-pan-physical-height-dimension = <90>;
		qcom,mdss-dsi-force-clock-lane-hs;
		qcom,mdss-dsi-always-on;
		qcom,mdss-dsi-panel-timings-8996 = [1d 1a 03 05 01 03 04 a0
			1d 1a 03 05 01 03 04 a0
			1d 1a 03 05 01 03 04 a0
			1d 1a 03 05 01 03 04 a0
			1d 1a 03 05 01 03 04 a0];
	};
};
+73 −0
Original line number Diff line number Diff line
/* Copyright (c) 2015, 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.
 */

&mdss_mdp {
dsi_adv7533_720p: qcom,mdss_dsi_adv7533_720p {
		label = "adv7533 720p video mode dsi panel";
		qcom,mdss-dsi-panel-name = "dsi_adv7533_720p";
		qcom,mdss-dsi-panel-controller = <&mdss_dsi0>;
		qcom,mdss-dsi-panel-type = "dsi_video_mode";
		qcom,mdss-dsi-panel-destination = "display_1";
		qcom,mdss-dsi-panel-framerate = <60>;
		qcom,mdss-dsi-virtual-channel-id = <0>;
		qcom,mdss-dsi-stream = <0>;
		qcom,mdss-dsi-panel-width = <1280>;
		qcom,mdss-dsi-panel-height = <720>;
		qcom,mdss-dsi-h-front-porch = <110>;
		qcom,mdss-dsi-h-back-porch = <220>;
		qcom,mdss-dsi-h-pulse-width = <40>;
		qcom,mdss-dsi-h-sync-skew = <0>;
		qcom,mdss-dsi-v-back-porch = <20>;
		qcom,mdss-dsi-v-front-porch = <5>;
		qcom,mdss-dsi-v-pulse-width = <5>;
		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-bpp = <24>;
		qcom,mdss-dsi-underflow-color = <0xff>;
		qcom,mdss-dsi-border-color = <0>;
		qcom,mdss-dsi-on-command = [
				05 01 00 00 c8 00 02 11 00
				05 01 00 00 0a 00 02 29 00];
		qcom,mdss-dsi-off-command = [05 01 00 00 00 00 02 28 00
				05 01 00 00 00 00 02 10 00];
		qcom,mdss-dsi-on-command-state = "dsi_lp_mode";
		qcom,mdss-dsi-off-command-state = "dsi_hs_mode";
		qcom,mdss-dsi-h-sync-pulse = <1>;
		qcom,mdss-dsi-traffic-mode = "non_burst_sync_pulse";
		qcom,mdss-dsi-bllp-eof-power-mode;
		qcom,mdss-dsi-bllp-power-mode;
		qcom,mdss-dsi-lane-0-state;
		qcom,mdss-dsi-lane-1-state;
		qcom,mdss-dsi-lane-2-state;
		qcom,mdss-dsi-panel-timings = [
				A4 24 18 00 4E 52 1C 28 1C 03 04 00];
		qcom,mdss-dsi-t-clk-post = <0x03>;
		qcom,mdss-dsi-t-clk-pre = <0x20>;
		qcom,mdss-dsi-bl-min-level = <1>;
		qcom,mdss-dsi-bl-max-level = <4095>;
		qcom,mdss-dsi-dma-trigger = "trigger_sw";
		qcom,mdss-dsi-mdp-trigger = "none";
		qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
		qcom,mdss-dsi-reset-sequence = <1 20>, <0 1>, <1 20>;
		qcom,mdss-pan-physical-width-dimension = <160>;
		qcom,mdss-pan-physical-height-dimension = <90>;
		qcom,mdss-dsi-force-clock-lane-hs;
		qcom,mdss-dsi-always-on;
		qcom,mdss-dsi-panel-timings-8996 = [1c 19 02 03 01 03 04 a0
			1c 19 02 03 01 03 04 a0
			1c 19 02 03 01 03 04 a0
			1c 19 02 03 01 03 04 a0
			1c 08 02 03 01 03 04 a0];
	};
};
+2 −0
Original line number Diff line number Diff line
@@ -24,6 +24,8 @@
#include "dsi-panel-nt35597-dsc-wqxga-cmd.dtsi"
#include "dsi-panel-hx8379a-truly-fwvga-video.dtsi"
#include "dsi-panel-r69007-dualdsi-wqxga-cmd.dtsi"
#include "dsi-adv7533-720p.dtsi"
#include "dsi-adv7533-1080p.dtsi"

&soc {
	dsi_panel_pwr_supply: dsi_panel_pwr_supply {
+158 −0
Original line number Diff line number Diff line
@@ -20,6 +20,164 @@
		interrupt-controller;
		#interrupt-cells = <2>;

		/* add pingrp for adv7533 */
		pmx_adv7533: pmx_adv7533 {
			adv7533_0_int_active: adv7533_0_int_active {
				mux {
					pins = "gpio106";
					function = "gpio";
				};

				config {
					pins = "gpio106";
					drive-strength = <16>; /* 16 mA */
					bias-pull-down; /* pull down */
				};
			};

			adv7533_0_int_suspend: adv7533_0_int_suspend {
				mux {
					pins = "gpio106";
					function = "gpio";
				};

				config {
					pins = "gpio106";
					drive-strength = <16>; /* 16 mA */
					bias-pull-down; /* pull down */
				};
			};

			adv7533_0_hpd_int_active: adv7533_0_hpd_int_active {
				mux {
					pins = "gpio104";
					function = "gpio";
				};

				config {
					pins = "gpio104";
					drive-strength = <16>; /* 16 mA */
					bias-pull-down; /* pull down */
				};
			};

			adv7533_0_hpd_int_suspend: adv7533_0_hpd_int_suspend {
				mux {
					pins = "gpio104";
					function = "gpio";
				};

				config {
					pins = "gpio104";
					drive-strength = <16>; /* 16 mA */
					bias-pull-down; /* pull down */
				};
			};

			adv7533_0_switch_active: adv7533_0_switch_active {
				mux {
					pins = "gpio105";
					function = "gpio";
					bias-pull-down; /* pull down */
				};

				config {
					pins = "gpio105";
					drive-strength = <16>; /* 16 mA */
					bias-pull-down; /* pull down */
				};
			};

			adv7533_0_switch_suspend: adv7533_0_switch_suspend {
				mux {
					pins = "gpio105";
					function = "gpio";
				};

				config {
					pins = "gpio105";
					drive-strength = <16>; /* 16 mA */
				};
			};
			adv7533_1_int_active: adv7533_1_int_active {
				mux {
					pins = "gpio108";
					function = "gpio";
				};

				config {
					pins = "gpio108";
					drive-strength = <16>; /* 16 mA */
					bias-pull-down; /* pull down */
				};
			};

			adv7533_1_int_suspend: adv7533_1_int_suspend {
				mux {
					pins = "gpio108";
					function = "gpio";
				};

				config {
					pins = "gpio108";
					drive-strength = <16>; /* 16 mA */
					bias-pull-down; /* pull down */
				};
			};

			adv7533_1_hpd_int_active: adv7533_1_hpd_int_active {
				mux {
					pins = "gpio103";
					function = "gpio";
				};

				config {
					pins = "gpio103";
					drive-strength = <16>; /* 16 mA */
					bias-pull-down; /* pull down */
				};
			};

			adv7533_1_hpd_int_suspend: adv7533_1_hpd_int_suspend {
				mux {
					pins = "gpio103";
					function = "gpio";
				};

				config {
					pins = "gpio103";
					drive-strength = <16>; /* 16 mA */
					bias-pull-down; /* pull down */
				};
			};

			adv7533_1_switch_active: adv7533_1_switch_active {
				mux {
					pins = "gpio107";
					function = "gpio";
					bias-pull-down; /* pull down */
				};

				config {
					pins = "gpio107";
					drive-strength = <16>; /* 16 mA */
					bias-pull-down; /* pull down */
				};
			};

			adv7533_1_switch_suspend: adv7533_1_switch_suspend {
				mux {
					pins = "gpio107";
					function = "gpio";
				};

				config {
					pins = "gpio107";
					drive-strength = <16>; /* 16 mA */
				};
			};
		};

		uart_console_active: uart_console_active {
			mux {
				pins = "gpio4", "gpio5";
Loading