[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190815004854.19860-12-masneyb@onstation.org>
Date: Wed, 14 Aug 2019 20:48:54 -0400
From: Brian Masney <masneyb@...tation.org>
To: bjorn.andersson@...aro.org, robh+dt@...nel.org, agross@...nel.org,
a.hajda@...sung.com, narmstrong@...libre.com, robdclark@...il.com,
sean@...rly.run
Cc: airlied@...ux.ie, daniel@...ll.ch, mark.rutland@....com,
Laurent.pinchart@...asonboard.com, jonas@...boo.se,
jernej.skrabec@...l.net, linus.walleij@...aro.org,
enric.balletbo@...labora.com, dri-devel@...ts.freedesktop.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-arm-msm@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org,
freedreno@...ts.freedesktop.org
Subject: [PATCH RFC 11/11] ARM: dts: qcom: msm8974-hammerhead: add support for external display
Add HDMI nodes and other supporting infrastructure in order to support
the external display. This is based on work from Jonathan Marek.
Signed-off-by: Brian Masney <masneyb@...tation.org>
---
The hdmi-tx node in the downstream MSM sources:
https://github.com/AICP/kernel_lge_hammerhead/blob/n7.1/arch/arm/boot/dts/msm8974-mdss.dtsi#L101
.../qcom-msm8974-lge-nexus5-hammerhead.dts | 140 ++++++++++++++++++
1 file changed, 140 insertions(+)
diff --git a/arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dts b/arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dts
index 3487daf98e81..83416b6d6634 100644
--- a/arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dts
+++ b/arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dts
@@ -234,6 +234,34 @@
pinctrl-names = "default";
pinctrl-0 = <&wlan_regulator_pin>;
};
+
+ anx_avdd33: avdd33 {
+ compatible = "regulator-fixed";
+
+ regulator-name = "avdd-3p3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+
+ gpio = <&pm8941_gpios 26 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&anx_avdd33_pin>;
+ };
+
+ anx_vdd10: vdd10 {
+ compatible = "regulator-fixed";
+
+ regulator-name = "vdd-1p0";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+
+ gpio = <&pm8941_gpios 8 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&anx_vdd10_pin>;
+ };
};
&soc {
@@ -355,6 +383,40 @@
bias-disable;
};
};
+
+ hdmi_pin: hdmi {
+ cec {
+ pins = "gpio31";
+ function = "hdmi_cec";
+ };
+
+ ddc {
+ pins = "gpio32", "gpio33";
+ function = "hdmi_ddc";
+ };
+
+ hpd {
+ pins = "gpio34";
+ function = "hdmi_hpd";
+ };
+ };
+
+ anx_msm_pin: anx {
+ irq {
+ pins = "gpio28";
+ function = "gpio";
+ drive-strength = <8>;
+ bias-pull-up;
+ input-enable;
+ };
+
+ reset {
+ pins = "gpio68";
+ function = "gpio";
+ drive-strength = <8>;
+ bias-pull-up;
+ };
+ };
};
sdhci@...24900 {
@@ -440,6 +502,28 @@
default-brightness = <200>;
};
};
+
+ anx7808@72 {
+ compatible = "analogix,anx7808";
+ reg = <0x72>;
+ interrupts-extended = <&msmgpio 28 IRQ_TYPE_EDGE_RISING>;
+
+ hpd-gpios = <&pm8941_gpios 13 GPIO_ACTIVE_HIGH>;
+ pd-gpios = <&pm8941_gpios 14 GPIO_ACTIVE_HIGH>;
+ reset-gpios = <&msmgpio 68 GPIO_ACTIVE_LOW>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&anx_msm_pin>, <&anx_pin>;
+
+ dvdd10-supply = <&anx_vdd10>;
+ avdd33-supply = <&anx_avdd33>;
+
+ port {
+ anx7808_in: endpoint {
+ remote-endpoint = <&hdmi_out>;
+ };
+ };
+ };
};
i2c@...68000 {
@@ -621,6 +705,29 @@
vddio-supply = <&pm8941_l12>;
};
+
+ hdmi-tx@...22100 {
+ status = "ok";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&hdmi_pin>;
+
+ qcom,hdmi-tx-ddc-clk = <&msmgpio 32 GPIO_ACTIVE_HIGH>;
+ qcom,hdmi-tx-ddc-data = <&msmgpio 33 GPIO_ACTIVE_HIGH>;
+ qcom,hdmi-tx-hpd = <&msmgpio 34 GPIO_ACTIVE_HIGH>;
+
+ ports {
+ port@1 {
+ hdmi_out: endpoint {
+ remote-endpoint = <&anx7808_in>;
+ };
+ };
+ };
+ };
+
+ hdmi-phy@...22500 {
+ status = "ok";
+ };
};
};
@@ -657,6 +764,39 @@
output-high;
line-name = "otg-gpio";
};
+
+ anx_pin: anx {
+ cbldet {
+ pins = "gpio13";
+ function = "normal";
+ input-enable;
+ bias-pull-down;
+ power-source = <PM8941_GPIO_S3>;
+ };
+
+ pd {
+ pins = "gpio14";
+ function = "normal";
+ bias-disable;
+ power-source = <PM8941_GPIO_S3>;
+ };
+ };
+
+ anx_avdd33_pin: anxvdd3 {
+ pins = "gpio26";
+ function = "normal";
+
+ bias-disable;
+ power-source = <PM8941_GPIO_S3>;
+ };
+
+ anx_vdd10_pin: anxvdd1 {
+ pins = "gpio8";
+ function = "normal";
+
+ bias-disable;
+ power-source = <PM8941_GPIO_S3>;
+ };
};
};
};
--
2.21.0
Powered by blists - more mailing lists