* [PATCH 1/7] arm64: dts: qcom: lemans-draco-evk: Add LT9611UXD HDMI bridge support
2026-11-13 10:55 [PATCH 0/7] arm64: dts: qcom: lemans-draco-evk: Add display panel overlays Mohit Dsor
@ 2026-11-13 10:55 ` Mohit Dsor
2026-11-13 10:55 ` [PATCH 2/7] arm64: dts: qcom: lemans-draco-evk: Add hdmi-dual-dsi overlay Mohit Dsor
` (5 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Mohit Dsor @ 2026-11-13 10:55 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Florian Fainelli,
Broadcom internal kernel review list
Cc: linux-arm-msm, devicetree, linux-kernel, linux-rpi-kernel,
linux-arm-kernel, Mohit Dsor, venkata.valluru
Add support for the Lontium LT9611UXD DSI-to-HDMI bridge on the base
board DT to provide HDMI output via the LT9611UXD daughter card.
LT9611UXD is connected through I2C mux channel 0 on i2c1, with reset
and interrupt on GPIO39 and GPIO97 respectively, powered by fixed
regulators on expander2. DIP Switch SW2.4 need to be ON for this to
work.
Signed-off-by: Mohit Dsor <mohit.dsor@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/lemans-draco-evk.dts | 118 ++++++++++++++++++++++++++
1 file changed, 118 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/lemans-draco-evk.dts b/arch/arm64/boot/dts/qcom/lemans-draco-evk.dts
index 5238157ad002..89beed7de36b 100644
--- a/arch/arm64/boot/dts/qcom/lemans-draco-evk.dts
+++ b/arch/arm64/boot/dts/qcom/lemans-draco-evk.dts
@@ -16,6 +16,7 @@ / {
aliases {
ethernet0 = ðernet0;
ethernet1 = ðernet1;
+ i2c1 = &i2c1;
};
dp0-connector {
@@ -74,6 +75,34 @@ dp3_connector_in: endpoint {
};
};
+ hdmi_connector: hdmi-connector {
+ compatible = "hdmi-connector";
+ type = "a";
+
+ port {
+ hdmi_connector_out: endpoint {
+ remote-endpoint = <&hdmi_bridge_out>;
+ };
+ };
+ };
+
+ vreg_bridge_1p2: regulator-bridge-1p2 {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_bridge_1p2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ vin-supply = <&vreg_bridge_3p3>;
+ };
+
+ vreg_bridge_3p3: regulator-bridge-3p3 {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_bridge_3p3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&expander2 1 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
vreg_dp0_pwr: regulator-dp0-pwr {
compatible = "regulator-fixed";
regulator-name = "VREG_DP0_PWR_3P3";
@@ -115,6 +144,63 @@ vreg_dp3_pwr: regulator-dp3-pwr {
};
};
+&i2c1 {
+ status = "okay";
+
+ i2c-mux@70 {
+ compatible = "nxp,pca9548";
+ reg = <0x70>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ vdd-supply = <&vreg_s4a>;
+
+ i2c@0 {
+ reg = <0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ hdmi_bridge: hdmi-bridge@41 {
+ compatible = "lontium,lt9611uxd";
+ reg = <0x41>;
+
+ interrupts-extended = <&tlmm 97 IRQ_TYPE_EDGE_FALLING>;
+ reset-gpios = <&tlmm 39 GPIO_ACTIVE_LOW>;
+
+ vcc-supply = <&vreg_bridge_3p3>;
+ vdd-supply = <&vreg_bridge_1p2>;
+
+ pinctrl-0 = <&bridge_rst_pin &bridge_irq_pin>;
+ pinctrl-names = "default";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ hdmi_bridge_in0: endpoint {
+ remote-endpoint = <&mdss0_dsi0_out>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ hdmi_bridge_in1: endpoint {
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+ hdmi_bridge_out: endpoint {
+ remote-endpoint = <&hdmi_connector_out>;
+ };
+ };
+ };
+ };
+ };
+ };
+};
+
&i2c2 {
status = "okay";
@@ -156,6 +242,21 @@ expander4: gpio@38 {
&tlmm {
+ bridge_rst_pin: bridge-rst-state {
+ pins = "gpio39";
+ function = "gpio";
+ drive-strength = <8>;
+ bias-disable;
+ output-high;
+ };
+
+ bridge_irq_pin: bridge-irq-state {
+ pins = "gpio97";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
dp2_hot_plug_det: dp2-hot-plug-det-state {
pins = "gpio104";
function = "edp2_hot";
@@ -308,6 +409,23 @@ &mdss0_dp1_phy {
status = "okay";
};
+&mdss0_dsi0 {
+ vdda-supply = <&vreg_l1c>;
+
+ status = "okay";
+};
+
+&mdss0_dsi0_out {
+ data-lanes = <0 1 2 3>;
+ remote-endpoint = <&hdmi_bridge_in0>;
+};
+
+&mdss0_dsi0_phy {
+ vdds-supply = <&vreg_l4a>;
+
+ status = "okay";
+};
+
&mdss1 {
status = "okay";
};
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread* [PATCH 2/7] arm64: dts: qcom: lemans-draco-evk: Add hdmi-dual-dsi overlay
2026-11-13 10:55 [PATCH 0/7] arm64: dts: qcom: lemans-draco-evk: Add display panel overlays Mohit Dsor
2026-11-13 10:55 ` [PATCH 1/7] arm64: dts: qcom: lemans-draco-evk: Add LT9611UXD HDMI bridge support Mohit Dsor
@ 2026-11-13 10:55 ` Mohit Dsor
2026-11-13 10:55 ` [PATCH 3/7] arm64: dts: qcom: lemans-draco-evk: Add DLC DLC0697 DSI panel overlay mohit.dsor
` (4 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Mohit Dsor @ 2026-11-13 10:55 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Florian Fainelli,
Broadcom internal kernel review list
Cc: linux-arm-msm, devicetree, linux-kernel, linux-rpi-kernel,
linux-arm-kernel, Mohit Dsor, venkata.valluru
Enables dual-DSI mode for the LT9611UXD HDMI bridge on top of the
single-DSI base DT.
Enables DSI1 with dual-DSI clock parents and power supplies, and
reconnects the LT9611UXD bridge port@1 to mdss0_dsi1_out. DIP Switch
SW2.5 need to be ON for this to work.
Signed-off-by: Mohit Dsor <mohit.dsor@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/Makefile | 4 +++
.../dts/qcom/lemans-draco-evk-hdmi-dual-dsi.dtso | 38 ++++++++++++++++++++++
2 files changed, 42 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 23fd910b2c95..3262604ffb05 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -57,6 +57,10 @@ dtb-$(CONFIG_ARCH_QCOM) += lemans-evk-el2.dtb
lemans-evk-ifp-mezzanine-dtbs := lemans-evk.dtb lemans-evk-ifp-mezzanine.dtbo
dtb-$(CONFIG_ARCH_QCOM) += lemans-evk-ifp-mezzanine.dtb
dtb-$(CONFIG_ARCH_QCOM) += lemans-draco-evk.dtb
+
+lemans-draco-evk-hdmi-dual-dsi-dtbs := lemans-draco-evk.dtb lemans-draco-evk-hdmi-dual-dsi.dtbo
+dtb-$(CONFIG_ARCH_QCOM) += lemans-draco-evk-hdmi-dual-dsi.dtb
+dtb-$(CONFIG_ARCH_QCOM) += lemans-draco-evk-hdmi-dual-dsi.dtbo
dtb-$(CONFIG_ARCH_QCOM) += mahua-crd.dtb
dtb-$(CONFIG_ARCH_QCOM) += milos-fairphone-fp6.dtb
dtb-$(CONFIG_ARCH_QCOM) += milos-nothing-asteroids.dtb
diff --git a/arch/arm64/boot/dts/qcom/lemans-draco-evk-hdmi-dual-dsi.dtso b/arch/arm64/boot/dts/qcom/lemans-draco-evk-hdmi-dual-dsi.dtso
new file mode 100644
index 000000000000..ea72bfcd8224
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/lemans-draco-evk-hdmi-dual-dsi.dtso
@@ -0,0 +1,38 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/clock/qcom,dsi-phy-28nm.h>
+
+&mdss0_dsi0 {
+ qcom,dual-dsi-mode;
+ qcom,master-dsi;
+};
+
+&mdss0_dsi1 {
+ assigned-clock-parents = <&mdss0_dsi0_phy DSI_BYTE_PLL_CLK>,
+ <&mdss0_dsi0_phy DSI_PIXEL_PLL_CLK>;
+ qcom,dual-dsi-mode;
+ vdda-supply = <&vreg_l1c>;
+
+ status = "okay";
+};
+
+&mdss0_dsi1_out {
+ data-lanes = <0 1 2 3>;
+ remote-endpoint = <&hdmi_bridge_in1>;
+};
+
+&mdss0_dsi1_phy {
+ vdds-supply = <&vreg_l4a>;
+
+ status = "okay";
+};
+
+&hdmi_bridge_in1 {
+ remote-endpoint = <&mdss0_dsi1_out>;
+};
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread* [PATCH 3/7] arm64: dts: qcom: lemans-draco-evk: Add DLC DLC0697 DSI panel overlay
2026-11-13 10:55 [PATCH 0/7] arm64: dts: qcom: lemans-draco-evk: Add display panel overlays Mohit Dsor
2026-11-13 10:55 ` [PATCH 1/7] arm64: dts: qcom: lemans-draco-evk: Add LT9611UXD HDMI bridge support Mohit Dsor
2026-11-13 10:55 ` [PATCH 2/7] arm64: dts: qcom: lemans-draco-evk: Add hdmi-dual-dsi overlay Mohit Dsor
@ 2026-11-13 10:55 ` mohit.dsor
2026-11-13 10:55 ` [PATCH 4/7] arm64: defconfig: Enable PCA9685 PWM controller Mohit Dsor
` (3 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: mohit.dsor @ 2026-11-13 10:55 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Florian Fainelli,
Broadcom internal kernel review list
Cc: linux-arm-msm, devicetree, linux-kernel, linux-rpi-kernel,
linux-arm-kernel, Mohit Dsor, venkata.valluru, Vishnu Saini
From: Vishnu Saini <vishnu.saini@oss.qualcomm.com>
Add a DT overlay to enable DLC0697 panel when DLC daughter card is
connected to DSI0_B2B on carrier card.
The card plugs into the display B2B connector shared with the LT9611UXD
HDMI bridge, so the bridge and HDMI connector are disabled when this
overlay is applied. DSI0 must be routed to the B2B connector with
DIPSW2.4 set to ON.
Signed-off-by: Vishnu Saini <vishnu.saini@oss.qualcomm.com>
Signed-off-by: Mohit Dsor <mohit.dsor@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/Makefile | 4 ++
.../dts/qcom/lemans-draco-evk-dlc0697-dsi.dtso | 81 ++++++++++++++++++++++
2 files changed, 85 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 3262604ffb05..90a00ab40c1a 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -61,6 +61,10 @@ dtb-$(CONFIG_ARCH_QCOM) += lemans-draco-evk.dtb
lemans-draco-evk-hdmi-dual-dsi-dtbs := lemans-draco-evk.dtb lemans-draco-evk-hdmi-dual-dsi.dtbo
dtb-$(CONFIG_ARCH_QCOM) += lemans-draco-evk-hdmi-dual-dsi.dtb
dtb-$(CONFIG_ARCH_QCOM) += lemans-draco-evk-hdmi-dual-dsi.dtbo
+
+lemans-draco-evk-dlc0697-dsi-dtbs := lemans-draco-evk.dtb lemans-draco-evk-dlc0697-dsi.dtbo
+dtb-$(CONFIG_ARCH_QCOM) += lemans-draco-evk-dlc0697-dsi.dtb
+dtb-$(CONFIG_ARCH_QCOM) += lemans-draco-evk-dlc0697-dsi.dtbo
dtb-$(CONFIG_ARCH_QCOM) += mahua-crd.dtb
dtb-$(CONFIG_ARCH_QCOM) += milos-fairphone-fp6.dtb
dtb-$(CONFIG_ARCH_QCOM) += milos-nothing-asteroids.dtb
diff --git a/arch/arm64/boot/dts/qcom/lemans-draco-evk-dlc0697-dsi.dtso b/arch/arm64/boot/dts/qcom/lemans-draco-evk-dlc0697-dsi.dtso
new file mode 100644
index 000000000000..00845b6207a4
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/lemans-draco-evk-dlc0697-dsi.dtso
@@ -0,0 +1,81 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
+
+&{/} {
+ dlc_backlight: backlight {
+ compatible = "gpio-backlight";
+ gpios = <&expander2 2 GPIO_ACTIVE_HIGH>;
+ default-on;
+ };
+};
+
+&hdmi_bridge {
+ status = "disabled";
+};
+
+&hdmi_connector {
+ status = "disabled";
+};
+
+&mdss0_dsi0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ panel@0 {
+ compatible = "dlc,dlc0697", "ilitek,ili7807s";
+ reg = <0>;
+
+ avdd-supply = <&vreg_bridge_3p3>;
+ avee-supply = <&vreg_bridge_3p3>;
+ backlight = <&dlc_backlight>;
+ pinctrl-0 = <&panel_rst_n &panel_te_pin>;
+ pinctrl-1 = <&panel_rst_n_suspend>;
+ pinctrl-names = "default", "sleep";
+ reset-gpios = <&pmm8654au_1_gpios 4 GPIO_ACTIVE_LOW>;
+ vddi-supply = <&vreg_s4a>;
+
+ port {
+ dlc_panel_in: endpoint {
+ remote-endpoint = <&mdss0_dsi0_out>;
+ };
+ };
+ };
+};
+
+&mdss0_dsi0_out {
+ remote-endpoint = <&dlc_panel_in>;
+ data-lanes = <0 1 2 3>;
+};
+
+&pmm8654au_1_gpios {
+ panel_rst_n: panel-rst-n-state {
+ pins = "gpio4";
+ function = PMIC_GPIO_FUNC_NORMAL;
+ qcom,drive-strength = <PMIC_GPIO_STRENGTH_HIGH>;
+ bias-disable;
+ };
+
+ panel_rst_n_suspend: panel-rst-n-suspend-state {
+ pins = "gpio4";
+ function = PMIC_GPIO_FUNC_NORMAL;
+ qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
+ bias-pull-down;
+ };
+};
+
+&tlmm {
+ panel_te_pin: panel-te-pin-state {
+ pins = "gpio84";
+ function = "mdp_vsync";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+};
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread* [PATCH 4/7] arm64: defconfig: Enable PCA9685 PWM controller
2026-11-13 10:55 [PATCH 0/7] arm64: dts: qcom: lemans-draco-evk: Add display panel overlays Mohit Dsor
` (2 preceding siblings ...)
2026-11-13 10:55 ` [PATCH 3/7] arm64: dts: qcom: lemans-draco-evk: Add DLC DLC0697 DSI panel overlay mohit.dsor
@ 2026-11-13 10:55 ` Mohit Dsor
2026-11-13 13:00 ` Krzysztof Kozlowski
2026-11-13 10:55 ` [PATCH 5/7] arm64: dts: qcom: lemans-draco-evk: Add AUO G133HAN01 LVDS panel overlay mohit.dsor
` (2 subsequent siblings)
6 siblings, 1 reply; 9+ messages in thread
From: Mohit Dsor @ 2026-11-13 10:55 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Florian Fainelli,
Broadcom internal kernel review list
Cc: linux-arm-msm, devicetree, linux-kernel, linux-rpi-kernel,
linux-arm-kernel, Mohit Dsor, venkata.valluru
Enable CONFIG_PWM_PCA9685 as a module to support the NXP PCA9685
16-channel PWM controller used for backlight control in the
lemans-draco-evk LVDS panel overlay.
Signed-off-by: Mohit Dsor <mohit.dsor@oss.qualcomm.com>
---
arch/arm64/configs/defconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index dfc52e32802e..7e381899f3c6 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -614,6 +614,7 @@ CONFIG_I2C=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_MUX=y
CONFIG_I2C_MUX_PCA954x=y
+CONFIG_PWM_PCA9685=m
CONFIG_I2C_MUX_PINCTRL=m
CONFIG_I2C_BCM2835=m
CONFIG_I2C_CADENCE=m
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread* Re: [PATCH 4/7] arm64: defconfig: Enable PCA9685 PWM controller
2026-11-13 10:55 ` [PATCH 4/7] arm64: defconfig: Enable PCA9685 PWM controller Mohit Dsor
@ 2026-11-13 13:00 ` Krzysztof Kozlowski
0 siblings, 0 replies; 9+ messages in thread
From: Krzysztof Kozlowski @ 2026-11-13 13:00 UTC (permalink / raw)
To: Mohit Dsor, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Florian Fainelli,
Broadcom internal kernel review list
Cc: linux-arm-msm, devicetree, linux-kernel, linux-rpi-kernel,
linux-arm-kernel, venkata.valluru
On 13/11/2026 11:55, Mohit Dsor wrote:
> Enable CONFIG_PWM_PCA9685 as a module to support the NXP PCA9685
> 16-channel PWM controller used for backlight control in the
> lemans-draco-evk LVDS panel overlay.
git grep lemans-draco-evk
Also there is no such file, so maybe you want to use full model name?
Qualcomm foo bar?
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 5/7] arm64: dts: qcom: lemans-draco-evk: Add AUO G133HAN01 LVDS panel overlay
2026-11-13 10:55 [PATCH 0/7] arm64: dts: qcom: lemans-draco-evk: Add display panel overlays Mohit Dsor
` (3 preceding siblings ...)
2026-11-13 10:55 ` [PATCH 4/7] arm64: defconfig: Enable PCA9685 PWM controller Mohit Dsor
@ 2026-11-13 10:55 ` mohit.dsor
2026-11-13 10:55 ` [PATCH 6/7] arm64: dts: qcom: lemans-draco-evk: Add RPi 7-inch DSI " mohit.dsor
2026-11-13 10:55 ` [PATCH 7/7] arm64: dts: qcom: lemans-draco-evk: Add Waveshare 8-inch " mohit.dsor
6 siblings, 0 replies; 9+ messages in thread
From: mohit.dsor @ 2026-11-13 10:55 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Florian Fainelli,
Broadcom internal kernel review list
Cc: linux-arm-msm, devicetree, linux-kernel, linux-rpi-kernel,
linux-arm-kernel, Mohit Dsor, venkata.valluru, Anand Tiwari
From: Anand Tiwari <anand.tiwari@oss.qualcomm.com>
Add a DT overlay for Lemans Draco EVK, to enable LVDS interface when
LVDS daughter card is connected to DSI0_B2B on carrier card.
There is SN65DSI84 DSI-to-LVDS bridge on the daughter card which is
connected through I2C mux channel 1 on i2c1, with reset and interrupt
connected to GPIO39 and GPIO97. Backlight is driven by a PCA9685 PWM
controller on i2c4.
Disable the default HDMI bridge and connector in favour of the LVDS
panel.
Signed-off-by: Anand Tiwari <anand.tiwari@oss.qualcomm.com>
Signed-off-by: Mohit Dsor <mohit.dsor@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/Makefile | 4 +
.../qcom/lemans-draco-evk-lvds-auo,g133han01.dtso | 131 +++++++++++++++++++++
arch/arm64/boot/dts/qcom/lemans-draco-evk-som.dtsi | 5 +
arch/arm64/boot/dts/qcom/lemans-draco-evk.dts | 1 +
4 files changed, 141 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 90a00ab40c1a..b50b38c15c6b 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -65,6 +65,10 @@ dtb-$(CONFIG_ARCH_QCOM) += lemans-draco-evk-hdmi-dual-dsi.dtbo
lemans-draco-evk-dlc0697-dsi-dtbs := lemans-draco-evk.dtb lemans-draco-evk-dlc0697-dsi.dtbo
dtb-$(CONFIG_ARCH_QCOM) += lemans-draco-evk-dlc0697-dsi.dtb
dtb-$(CONFIG_ARCH_QCOM) += lemans-draco-evk-dlc0697-dsi.dtbo
+
+lemans-draco-evk-lvds-auo,g133han01-dtbs := lemans-draco-evk.dtb lemans-draco-evk-lvds-auo,g133han01.dtbo
+dtb-$(CONFIG_ARCH_QCOM) += lemans-draco-evk-lvds-auo,g133han01.dtb
+dtb-$(CONFIG_ARCH_QCOM) += lemans-draco-evk-lvds-auo,g133han01.dtbo
dtb-$(CONFIG_ARCH_QCOM) += mahua-crd.dtb
dtb-$(CONFIG_ARCH_QCOM) += milos-fairphone-fp6.dtb
dtb-$(CONFIG_ARCH_QCOM) += milos-nothing-asteroids.dtb
diff --git a/arch/arm64/boot/dts/qcom/lemans-draco-evk-lvds-auo,g133han01.dtso b/arch/arm64/boot/dts/qcom/lemans-draco-evk-lvds-auo,g133han01.dtso
new file mode 100644
index 000000000000..a9d245ae86a1
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/lemans-draco-evk-lvds-auo,g133han01.dtso
@@ -0,0 +1,131 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+&{/} {
+ backlight_lvds: backlight {
+ compatible = "pwm-backlight";
+ pwms = <&pca9685 2 1000000>;
+ power-supply = <&vreg_bridge_3p3>;
+ enable-gpios = <&expander2 2 GPIO_ACTIVE_HIGH>;
+ };
+
+ panel-lvds {
+ compatible = "auo,g133han01";
+ power-supply = <&vreg_bridge_3p3>;
+ backlight = <&backlight_lvds>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /* LVDS Channel A - odd pixels */
+ port@0 {
+ reg = <0>;
+ dual-lvds-odd-pixels;
+
+ lvds_panel_out_a: endpoint {
+ remote-endpoint = <&sn65dsi84_out_a>;
+ };
+ };
+
+ /* LVDS Channel B - even pixels */
+ port@1 {
+ reg = <1>;
+ dual-lvds-even-pixels;
+
+ lvds_panel_out_b: endpoint {
+ remote-endpoint = <&sn65dsi84_out_b>;
+ };
+ };
+ };
+ };
+};
+
+&hdmi_bridge {
+ status = "disabled";
+};
+
+&hdmi_connector {
+ status = "disabled";
+};
+
+&i2c1 {
+ i2c-mux@70 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ i2c@1 {
+ reg = <1>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ bridge@2c {
+ compatible = "ti,sn65dsi84";
+ reg = <0x2c>;
+
+ enable-gpios = <&tlmm 39 GPIO_ACTIVE_HIGH>;
+ interrupts-extended = <&tlmm 97 IRQ_TYPE_EDGE_FALLING>;
+
+ vcc-supply = <&vreg_bridge_3p3>;
+
+ pinctrl-0 = <&bridge_rst_pin &bridge_irq_pin>;
+ pinctrl-names = "default";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ sn65dsi84_in: endpoint {
+ data-lanes = <1 2 3 4>;
+ remote-endpoint = <&mdss0_dsi0_out>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ sn65dsi84_out_a: endpoint {
+ data-lanes = <1 2 3 4>;
+ remote-endpoint = <&lvds_panel_out_a>;
+ };
+ };
+
+ port@3 {
+ reg = <3>;
+
+ sn65dsi84_out_b: endpoint {
+ data-lanes = <1 2 3 4>;
+ remote-endpoint = <&lvds_panel_out_b>;
+ };
+ };
+ };
+ };
+ };
+ };
+};
+
+&i2c4 {
+ clock-frequency = <100000>;
+ status = "okay";
+
+ pca9685: pwm@42 {
+ compatible = "nxp,pca9685-pwm";
+ reg = <0x42>;
+ #pwm-cells = <2>;
+ };
+};
+
+&mdss0_dsi0_out {
+ remote-endpoint = <&sn65dsi84_in>;
+};
diff --git a/arch/arm64/boot/dts/qcom/lemans-draco-evk-som.dtsi b/arch/arm64/boot/dts/qcom/lemans-draco-evk-som.dtsi
index 6b7971bcdc93..dac4d4c7ab9c 100644
--- a/arch/arm64/boot/dts/qcom/lemans-draco-evk-som.dtsi
+++ b/arch/arm64/boot/dts/qcom/lemans-draco-evk-som.dtsi
@@ -267,6 +267,11 @@ &pmm8654au_0_pon_resin {
status = "okay";
};
+&qup_i2c4_default {
+ drive-strength = <6>;
+ bias-pull-up;
+};
+
&qupv3_id_0 {
firmware-name = "qcom/sa8775p/qupv3fw.elf";
diff --git a/arch/arm64/boot/dts/qcom/lemans-draco-evk.dts b/arch/arm64/boot/dts/qcom/lemans-draco-evk.dts
index 89beed7de36b..49a8c568a2ae 100644
--- a/arch/arm64/boot/dts/qcom/lemans-draco-evk.dts
+++ b/arch/arm64/boot/dts/qcom/lemans-draco-evk.dts
@@ -17,6 +17,7 @@ aliases {
ethernet0 = ðernet0;
ethernet1 = ðernet1;
i2c1 = &i2c1;
+ i2c4 = &i2c4;
};
dp0-connector {
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread* [PATCH 6/7] arm64: dts: qcom: lemans-draco-evk: Add RPi 7-inch DSI panel overlay
2026-11-13 10:55 [PATCH 0/7] arm64: dts: qcom: lemans-draco-evk: Add display panel overlays Mohit Dsor
` (4 preceding siblings ...)
2026-11-13 10:55 ` [PATCH 5/7] arm64: dts: qcom: lemans-draco-evk: Add AUO G133HAN01 LVDS panel overlay mohit.dsor
@ 2026-11-13 10:55 ` mohit.dsor
2026-11-13 10:55 ` [PATCH 7/7] arm64: dts: qcom: lemans-draco-evk: Add Waveshare 8-inch " mohit.dsor
6 siblings, 0 replies; 9+ messages in thread
From: mohit.dsor @ 2026-11-13 10:55 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Florian Fainelli,
Broadcom internal kernel review list
Cc: linux-arm-msm, devicetree, linux-kernel, linux-rpi-kernel,
linux-arm-kernel, Mohit Dsor, venkata.valluru, Vishnu Saini
From: Vishnu Saini <vishnu.saini@oss.qualcomm.com>
Add a DT overlay to enable Raspberry Pi 7-inch DSI panel connected
to JDSIP1 22pin connector on the carrier card.
DSI0 from SoC is routed through MUX which can be selected by DIP
switch for enabling this 22pin connector. Add the regulator and
backlight controller at I2C1 mux channel 0 address 0x45, panel power
and reset control, and a 2-lane DSI connection. DIP Switch SW2.4 need
to be OFF for this to work.
Disable the default HDMI bridge and connector in favour of the RPi
DSI panel.
Signed-off-by: Vishnu Saini <vishnu.saini@oss.qualcomm.com>
Signed-off-by: Mohit Dsor <mohit.dsor@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/Makefile | 4 +
.../lemans-draco-evk-raspberrypi-dsi-7inch.dtso | 98 ++++++++++++++++++++++
2 files changed, 102 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index b50b38c15c6b..b100340e61d1 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -69,6 +69,10 @@ dtb-$(CONFIG_ARCH_QCOM) += lemans-draco-evk-dlc0697-dsi.dtbo
lemans-draco-evk-lvds-auo,g133han01-dtbs := lemans-draco-evk.dtb lemans-draco-evk-lvds-auo,g133han01.dtbo
dtb-$(CONFIG_ARCH_QCOM) += lemans-draco-evk-lvds-auo,g133han01.dtb
dtb-$(CONFIG_ARCH_QCOM) += lemans-draco-evk-lvds-auo,g133han01.dtbo
+
+lemans-draco-evk-raspberrypi-dsi-7inch-dtbs := lemans-draco-evk.dtb lemans-draco-evk-raspberrypi-dsi-7inch.dtbo
+dtb-$(CONFIG_ARCH_QCOM) += lemans-draco-evk-raspberrypi-dsi-7inch.dtb
+dtb-$(CONFIG_ARCH_QCOM) += lemans-draco-evk-raspberrypi-dsi-7inch.dtbo
dtb-$(CONFIG_ARCH_QCOM) += mahua-crd.dtb
dtb-$(CONFIG_ARCH_QCOM) += milos-fairphone-fp6.dtb
dtb-$(CONFIG_ARCH_QCOM) += milos-nothing-asteroids.dtb
diff --git a/arch/arm64/boot/dts/qcom/lemans-draco-evk-raspberrypi-dsi-7inch.dtso b/arch/arm64/boot/dts/qcom/lemans-draco-evk-raspberrypi-dsi-7inch.dtso
new file mode 100644
index 000000000000..ec172be7ce5f
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/lemans-draco-evk-raspberrypi-dsi-7inch.dtso
@@ -0,0 +1,98 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+
+&{/} {
+ display_bl: backlight {
+ compatible = "pwm-backlight";
+ power-supply = <®_dsi_panel>;
+ pwms = <&mcu 0 255 0>;
+ };
+
+ reg_dsi_panel: regulator-dsi-panel {
+ compatible = "regulator-fixed";
+ regulator-name = "rpi-dsi-panel";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ };
+
+ reg_dsi_touch: regulator-dsi-touch {
+ compatible = "regulator-fixed";
+ gpio = <&mcu 1 GPIO_ACTIVE_HIGH>;
+ regulator-name = "rpi-touch";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ startup-delay-us = <50000>;
+ enable-active-high;
+ };
+};
+
+&hdmi_bridge {
+ status = "disabled";
+};
+
+&hdmi_connector {
+ status = "disabled";
+};
+
+
+&i2c1 {
+ i2c-mux@70 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ i2c@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ mcu: gpio@45 {
+ compatible = "raspberrypi,touchscreen-panel-regulator-v2";
+ reg = <0x45>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ #pwm-cells = <3>;
+ };
+
+ touchscreen@5d {
+ compatible = "goodix,gt911";
+ reg = <0x5d>;
+ AVDD28-supply = <®_dsi_touch>;
+ touchscreen-size-x = <720>;
+ touchscreen-size-y = <1280>;
+ };
+ };
+ };
+};
+
+&mdss0_dsi0 {
+ status = "okay";
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ panel@0 {
+ compatible = "raspberrypi,dsi-7inch", "ilitek,ili9881c";
+ reg = <0>;
+
+ backlight = <&display_bl>;
+ power-supply = <®_dsi_panel>;
+ reset-gpios = <&mcu 0 GPIO_ACTIVE_LOW>;
+
+ port {
+ panel0_in: endpoint {
+ remote-endpoint = <&mdss0_dsi0_out>;
+ };
+ };
+ };
+};
+
+&mdss0_dsi0_out {
+ remote-endpoint = <&panel0_in>;
+ data-lanes = <0 1>;
+};
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread* [PATCH 7/7] arm64: dts: qcom: lemans-draco-evk: Add Waveshare 8-inch DSI panel overlay
2026-11-13 10:55 [PATCH 0/7] arm64: dts: qcom: lemans-draco-evk: Add display panel overlays Mohit Dsor
` (5 preceding siblings ...)
2026-11-13 10:55 ` [PATCH 6/7] arm64: dts: qcom: lemans-draco-evk: Add RPi 7-inch DSI " mohit.dsor
@ 2026-11-13 10:55 ` mohit.dsor
6 siblings, 0 replies; 9+ messages in thread
From: mohit.dsor @ 2026-11-13 10:55 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Florian Fainelli,
Broadcom internal kernel review list
Cc: linux-arm-msm, devicetree, linux-kernel, linux-rpi-kernel,
linux-arm-kernel, Mohit Dsor, venkata.valluru, Vishnu Saini
From: Vishnu Saini <vishnu.saini@oss.qualcomm.com>
Add a DT overlay to enable Waveshare 8-inch DSI panel connected to
JDISP1 22pin connector on the carrier card.
DSI0 from SoC is routed through MUX which can be selected by DIP
switch for enabling this 22pin connector. Add the JD9365DA-H3 panel,
GPIO expander at I2C1 mux channel 0 address 0x45 for panel power,
reset and backlight, and the Goodix GT9271 touch controller. DIP Switch
SW2.4 need to be OFF for this to work.
Disable the default HDMI bridge and connector in favour of the
Waveshare DSI panel.
Signed-off-by: Vishnu Saini <vishnu.saini@oss.qualcomm.com>
Signed-off-by: Mohit Dsor <mohit.dsor@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/Makefile | 4 +
.../qcom/lemans-draco-evk-waveshare-dsi-8inch.dtso | 94 ++++++++++++++++++++++
2 files changed, 98 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index b100340e61d1..063b2aa4bca2 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -73,6 +73,10 @@ dtb-$(CONFIG_ARCH_QCOM) += lemans-draco-evk-lvds-auo,g133han01.dtbo
lemans-draco-evk-raspberrypi-dsi-7inch-dtbs := lemans-draco-evk.dtb lemans-draco-evk-raspberrypi-dsi-7inch.dtbo
dtb-$(CONFIG_ARCH_QCOM) += lemans-draco-evk-raspberrypi-dsi-7inch.dtb
dtb-$(CONFIG_ARCH_QCOM) += lemans-draco-evk-raspberrypi-dsi-7inch.dtbo
+
+lemans-draco-evk-waveshare-dsi-8inch-dtbs := lemans-draco-evk.dtb lemans-draco-evk-waveshare-dsi-8inch.dtbo
+dtb-$(CONFIG_ARCH_QCOM) += lemans-draco-evk-waveshare-dsi-8inch.dtb
+dtb-$(CONFIG_ARCH_QCOM) += lemans-draco-evk-waveshare-dsi-8inch.dtbo
dtb-$(CONFIG_ARCH_QCOM) += mahua-crd.dtb
dtb-$(CONFIG_ARCH_QCOM) += milos-fairphone-fp6.dtb
dtb-$(CONFIG_ARCH_QCOM) += milos-nothing-asteroids.dtb
diff --git a/arch/arm64/boot/dts/qcom/lemans-draco-evk-waveshare-dsi-8inch.dtso b/arch/arm64/boot/dts/qcom/lemans-draco-evk-waveshare-dsi-8inch.dtso
new file mode 100644
index 000000000000..31cd1a46c32b
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/lemans-draco-evk-waveshare-dsi-8inch.dtso
@@ -0,0 +1,94 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+
+&{/} {
+ panel_avdd: regulator-panel-avdd {
+ compatible = "regulator-fixed";
+ gpios = <&wsgpio 0 GPIO_ACTIVE_HIGH>;
+ regulator-name = "panel-avdd";
+ enable-active-high;
+ };
+
+ panel_iovcc: regulator-panel-iovcc {
+ compatible = "regulator-fixed";
+ gpios = <&wsgpio 4 GPIO_ACTIVE_HIGH>;
+ regulator-name = "panel-iovcc";
+ enable-active-high;
+ };
+
+ panel_vcc: regulator-panel-vcc {
+ compatible = "regulator-fixed";
+ gpios = <&wsgpio 8 GPIO_ACTIVE_HIGH>;
+ regulator-name = "panel-vcc";
+ enable-active-high;
+ regulator-always-on;
+ };
+};
+
+&hdmi_bridge {
+ status = "disabled";
+};
+
+&hdmi_connector {
+ status = "disabled";
+};
+
+&i2c1 {
+ i2c-mux@70 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ i2c@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ wsgpio: gpio@45 {
+ compatible = "waveshare,dsi-touch-gpio";
+ reg = <0x45>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
+
+ touch: goodix@5d {
+ compatible = "goodix,gt9271";
+ reg = <0x5d>;
+ reset-gpios = <&wsgpio 9 GPIO_ACTIVE_HIGH>;
+ };
+ };
+ };
+};
+
+&mdss0_dsi0 {
+ status = "okay";
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ panel@0 {
+ compatible = "waveshare,8.0-dsi-touch-a", "jadard,jd9365da-h3";
+ reg = <0>;
+
+ backlight = <&wsgpio>;
+ reset-gpios = <&wsgpio 1 GPIO_ACTIVE_LOW>;
+ vccio-supply = <&panel_iovcc>;
+ vdd-supply = <&panel_avdd>;
+
+ port {
+ panel0_in: endpoint {
+ remote-endpoint = <&mdss0_dsi0_out>;
+ };
+ };
+ };
+};
+
+&mdss0_dsi0_out {
+ remote-endpoint = <&panel0_in>;
+ data-lanes = <0 1 2 3>;
+};
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread