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

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

Merge "msm: mdss: add hdmi support on apq8017 smart audio platform"

parents fa50d319 15238d74
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -107,6 +107,8 @@ Optional properties:
- qcom,platform-bklight-en-gpio:	Specifies the gpio used to enable display back-light
- qcom,platform-mode-gpio:		Select video/command mode of panel through gpio when it supports
					both modes.
- qcom,platform-intf-mux-gpio:		Select dsi/external(hdmi) interface through gpio when it supports
					either dsi or external interface.
- pinctrl-names:			List of names to assign mdss pin states defined in pinctrl device node
					Refer to pinctrl-bindings.txt
- pinctrl-<0..n>:			Lists phandles each pointing to the pin configuration node within a pin
@@ -246,6 +248,7 @@ Example:
			qcom,platform-enable-gpio = <&msmgpio 58 1>;
			qcom,platform-bklight-en-gpio = <&msmgpio 86 0>;
			qcom,platform-mode-gpio = <&msmgpio 7 0>;
			qcom,platform-intf-mux-gpio = <&tlmm 115 0>;
			qcom,dsi-irq-line;
			qcom,lane-map = "lane_map_3012";
			qcom,display-id = "primary";
+36 −1
Original line number Diff line number Diff line
/*
 * Copyright (c) 2016, The Linux Foundation. All rights reserved.
 * Copyright (c) 2016-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
@@ -45,3 +45,38 @@
		status = "disabled";
	};
};

&i2c_2 {
	/* DSI_TO_HDMI I2C configuration */
	adv7533@39 {
		compatible = "adv7533";
		reg = <0x39>;
		instance_id = <0>;
		adi,video-mode = <3>; /* 3 = 1080p */
		adi,main-addr = <0x39>;
		adi,cec-dsi-addr = <0x3C>;
		adi,enable-audio;
		adi,irq-gpio = <&tlmm 0x7E 0x2002>;
		adi,power-down-gpio = <&tlmm 0x7D 0x0>;
		adi,switch-gpio = <&pm8937_gpios 0x8 0x1>;
		pinctrl-names = "pmx_adv7533_active",
					"pmx_adv7533_suspend";
		pinctrl-0 = <&adv7533_int_active>;
		pinctrl-1 = <&adv7533_int_suspend>;
	};
};

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

&mdss_dsi0 {
	qcom,dsi-pref-prim-pan = <&dsi_adv7533_720p>;
	qcom,platform-intf-mux-gpio = <&tlmm 115 0>;
	status = "ok";
	qcom,bridge-index = <0>;
};

&dsi_adv7533_720p {
	qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
};
+35 −0
Original line number Diff line number Diff line
@@ -26,3 +26,38 @@
&blsp1_uart1 {
	status = "ok";
};

&i2c_2 {
	/* DSI_TO_HDMI I2C configuration */
	adv7533@39 {
		compatible = "adv7533";
		reg = <0x39>;
		instance_id = <0>;
		adi,video-mode = <3>; /* 3 = 1080p */
		adi,main-addr = <0x39>;
		adi,cec-dsi-addr = <0x3C>;
		adi,enable-audio;
		adi,irq-gpio = <&tlmm 0x7E 0x2002>;
		adi,power-down-gpio = <&tlmm 0x7D 0x0>;
		adi,switch-gpio = <&pm8937_gpios 0x8 0x1>;
		pinctrl-names = "pmx_adv7533_active",
					"pmx_adv7533_suspend";
		pinctrl-0 = <&adv7533_int_active>;
		pinctrl-1 = <&adv7533_int_suspend>;
	};
};

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

&mdss_dsi0 {
	qcom,dsi-pref-prim-pan = <&dsi_adv7533_720p>;
	qcom,platform-intf-mux-gpio = <&tlmm 115 0>;
	status = "ok";
	qcom,bridge-index = <0>;
};

&dsi_adv7533_720p {
	qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
};
+59 −1
Original line number Diff line number Diff line
/*
 * Copyright (c) 2015-2016, The Linux Foundation. All rights reserved.
 * Copyright (c) 2015-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
@@ -17,3 +17,61 @@
	compatible = "qcom,apq8017";
	qcom,msm-id = <307 0x0>;
};

&tlmm {
	pmx_adv7533_int: pmx_adv7533_int {
		adv7533_int_active: adv7533_int_active {
			mux {
				pins = "gpio125", "gpio126";
				function = "gpio";
			};

			config {
				pins = "gpio125", "gpio126";
				function = "gpio";
				drive-strength = <16>;
				bias-pull-up; /* pull up */
			};
		};

		adv7533_int_suspend: adv7533_int_suspend {
			mux {
				pins = "gpio125", "gpio126";
				function = "gpio";
			};

			config {
				pins = "gpio125", "gpio126";
				drive-strength = <16>;
				bias-disable;
			};
		};
	};
};

&mdss_dsi_active {
	mux {
		pins = "gpio60", "gpio98", "gpio115", "gpio133";
		function = "gpio";
	};

	config {
		pins = "gpio60", "gpio98", "gpio115", "gpio133";
		drive-strength = <8>; /* 8 mA */
		bias-disable = <0>; /* no pull */
		output-high;
	};
};

&mdss_dsi_suspend {
	mux {
		pins = "gpio60", "gpio98", "gpio115", "gpio133";
		function = "gpio";
	};

	config {
		pins = "gpio60", "gpio98", "gpio115", "gpio133";
		drive-strength = <2>; /* 2 mA */
		bias-pull-down; /* pull down */
	};
};
+6 −0
Original line number Diff line number Diff line
@@ -3953,6 +3953,12 @@ static int mdss_dsi_parse_gpio_params(struct platform_device *ctrl_pdev,
		ctrl_pdata->mode_gpio = -EINVAL;
	}

	ctrl_pdata->intf_mux_gpio = of_get_named_gpio(ctrl_pdev->dev.of_node,
			 "qcom,platform-intf-mux-gpio", 0);
	if (!gpio_is_valid(ctrl_pdata->intf_mux_gpio))
		pr_debug("%s:%d, intf mux gpio not specified\n",
						__func__, __LINE__);

	return 0;
}

Loading