aboutsummaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
diff options
context:
space:
mode:
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>2020-07-09 18:35:01 +0300
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>2020-12-28 03:36:12 +0300
commitdc600ef3bf9ab32dd6b5c742f1be4088db549fd0 (patch)
tree62b51b550e8d654fb2ad6d55ff789b677cb54519 /arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
parentf3dde974e29ae19173ba901b9bd0c4edde8454d5 (diff)
arm64: dts: qcom: qrb5165-rb5: add lt9611 HDMI bridge
Add device tree node for the lontium lt9611ux DSI-HDMI bridge. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Diffstat (limited to 'arch/arm64/boot/dts/qcom/qrb5165-rb5.dts')
-rw-r--r--arch/arm64/boot/dts/qcom/qrb5165-rb5.dts108
1 files changed, 107 insertions, 1 deletions
diff --git a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
index dc8d413c16ec..7ae8c91c8e9e 100644
--- a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
+++ b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
@@ -42,6 +42,17 @@
regulator-always-on;
};
+ hdmi-out {
+ compatible = "hdmi-connector";
+ type = "a";
+
+ port {
+ hdmi_con: endpoint {
+ remote-endpoint = <&lt9611_out>;
+ };
+ };
+ };
+
leds {
compatible = "gpio-leds";
@@ -68,6 +79,37 @@
};
+ lt9611_1v2: lt9611-vdd12-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "LT9611_1V2";
+
+ vin-supply = <&vdc_3v3>;
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+
+ /* not connected on the board
+ gpio = <&pm8150l_gpios 7 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ */
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ lt9611_3v3: lt9611-3v3 {
+ compatible = "regulator-fixed";
+ regulator-name = "LT9611_3V3";
+
+ vin-supply = <&vdc_3v3>;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-boot-on;
+ regulator-always-on;
+
+ // TODO: make it possible to drive same GPIO from two clients
+ // gpio = <&pm8150l_gpios 7 GPIO_ACTIVE_HIGH>;
+ // enable-active-high;
+ };
+
vbat: vbat-regulator {
compatible = "regulator-fixed";
regulator-name = "VBAT";
@@ -467,7 +509,7 @@
ports {
port@1 {
endpoint {
- //remote-endpoint = <&lt9611_a>;
+ remote-endpoint = <&lt9611_a>;
data-lanes = <0 1 2 3>;
};
};
@@ -493,6 +535,55 @@
&i2c5 {
status = "okay";
+ clock-frequency = <400000>;
+
+ lt9611_codec: hdmi-bridge@2b {
+ compatible = "lontium,lt9611uxc";
+ reg = <0x2b>;
+ #sound-dai-cells = <1>;
+
+ interrupts-extended = <&tlmm 63 IRQ_TYPE_EDGE_FALLING>;
+
+ reset-gpios = <&pm8150l_gpios 5 GPIO_ACTIVE_HIGH>;
+
+ vdd-supply = <&lt9611_1v2>;
+ vcc-supply = <&lt9611_3v3>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&lt9611_irq_pin &lt9611_rst_pin>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ lt9611_a: endpoint {
+ remote-endpoint = <&dsi0_out>;
+ };
+ };
+
+#if 0
+ port@1 {
+ reg = <1>;
+
+ lt9611_b: endpoint {
+ remote-endpoint = <&dsi1_out>;
+ };
+ };
+#endif
+
+ port@2 {
+ reg = <2>;
+
+ lt9611_out: endpoint {
+ remote-endpoint = <&hdmi_con>;
+ };
+ };
+
+ };
+ };
};
/* LS-I2C1 */
@@ -553,6 +644,15 @@
"PM_GPIO-B",
"NC",
"PM3003A_MODE";
+
+ lt9611_rst_pin: lt9611-rst-pin {
+ pins = "gpio5";
+ function = "normal";
+
+ output-high;
+ input-disable;
+ power-source = <0>;
+ };
};
&pm8150_rtc {
@@ -784,6 +884,12 @@
"HST_WLAN_UART_TX",
"HST_WLAN_UART_RX";
+ lt9611_irq_pin: lt9611-irq {
+ pins = "gpio63";
+ function = "gpio";
+ bias-disable;
+ };
+
sdc2_default_state: sdc2-default {
clk {
pins = "sdc2_clk";