The SDM845 HDK can be fitted with the same display card as the SM8150
HDK, carrying a Truly NT36850 WQHD dual-DSI panel. Here it is powered
by the PMI8998 LAB/IBB and WLED, and it is mutually exclusive with the
on-board LT9611 HDMI bridge.

The configuration follows the vendor kernel, with the bias rails at the
5.5 V default of the LCD mode.

Assisted-by: LLM
Signed-off-by: Dmitry Baryshkov <[email protected]>
---
 arch/arm64/boot/dts/qcom/Makefile                  |   4 +
 .../boot/dts/qcom/sdm845-hdk-display-card.dtso     | 109 +++++++++++++++++++++
 2 files changed, 113 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/Makefile 
b/arch/arm64/boot/dts/qcom/Makefile
index 5be99934cf9f..85d06a950b4a 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -356,6 +356,10 @@ dtb-$(CONFIG_ARCH_QCOM)    += 
sdm845-db845c-navigation-mezzanine.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += sdm845-google-crosshatch.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += sdm845-google-blueline.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += sdm845-hdk.dtb
+
+sdm845-hdk-display-card-dtbs   := sdm845-hdk.dtb sdm845-hdk-display-card.dtbo
+
+dtb-$(CONFIG_ARCH_QCOM)        += sdm845-hdk-display-card.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += sdm845-lg-judyln.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += sdm845-lg-judyp.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += sdm845-mtp.dtb
diff --git a/arch/arm64/boot/dts/qcom/sdm845-hdk-display-card.dtso 
b/arch/arm64/boot/dts/qcom/sdm845-hdk-display-card.dtso
new file mode 100644
index 000000000000..1022ab096170
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/sdm845-hdk-display-card.dtso
@@ -0,0 +1,109 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+/*
+ * Display Card kit overlay.
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+
+/dts-v1/;
+/plugin/;
+
+/* Disable HDMI bridge related nodes (mutually exclusive with the display 
card) */
+&lt9611_codec {
+       status = "disabled";
+};
+
+&ibb {
+       regulator-min-microvolt = <5500000>;
+       regulator-max-microvolt = <5500000>;
+};
+
+&lab {
+       regulator-min-microvolt = <5500000>;
+       regulator-max-microvolt = <5500000>;
+};
+
+&mdss_dsi0 {
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       panel@0 {
+               compatible = "truly,wqhd60-nt36850";
+               reg = <0>;
+
+               reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>;
+
+               vddio-supply = <&vreg_l14a_1p8>;
+               avdd-supply = <&lab>;
+               avee-supply = <&ibb>;
+
+               backlight = <&pmi8998_wled>;
+
+               pinctrl-0 = <&disp0_reset_n_active>, <&mdp_vsync>;
+               pinctrl-1 = <&disp0_reset_n_suspend>, <&mdp_vsync>;
+               pinctrl-names = "default", "sleep";
+
+               ports {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       port@0 {
+                               reg = <0>;
+
+                               panel0_in: endpoint {
+                                       remote-endpoint = <&mdss_dsi0_out>;
+                               };
+                       };
+
+                       port@1 {
+                               reg = <1>;
+
+                               panel1_in: endpoint {
+                                       remote-endpoint = <&mdss_dsi1_out>;
+                               };
+                       };
+               };
+       };
+};
+
+&mdss_dsi0_out {
+       remote-endpoint = <&panel0_in>;
+};
+
+&mdss_dsi1_out {
+       remote-endpoint = <&panel1_in>;
+};
+
+&pmi8998_wled {
+       qcom,num-strings = <2>;
+       qcom,external-pfet;
+
+       status = "okay";
+};
+
+&tlmm {
+       disp0_reset_n_active: disp0-reset-n-active-state {
+               pins = "gpio6";
+               function = "gpio";
+               drive-strength = <8>;
+               bias-disable;
+       };
+
+       disp0_reset_n_suspend: disp0-reset-n-suspend-state {
+               pins = "gpio6";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-pull-down;
+       };
+
+       mdp_vsync: mdp-vsync-state {
+               pins = "gpio10";
+               function = "mdp_vsync";
+               drive-strength = <2>;
+               bias-pull-down;
+       };
+};

-- 
2.47.3

Reply via email to