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) */ +<9611_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
