On 8/18/2025 9:17 PM, Harikrishna Shenoy wrote:
Add support for R-Pi DSI Panel for BBAI64.
The RPi DSI panel[0] uses Toshiba TC358762 for decoding the DSI video
signals back to DPI for its consumption. It has an ATTINY88-based
regulator and backlight controller, and also features an EDT-FT5406
touch controller.
Fix DSS ports node in BeagkeBone AI-64 DTS by adding explicit `port@0`
Please post Fix as different patch and use Fixes tag
child node instead of an unlabelled port, to align with dss_ports schema
used in overlay.
[0]: https://www.raspberrypi.com/products/raspberry-pi-touch-display/
Signed-off-by: Rahul T R <r-raviku...@ti.com>
Signed-off-by: Jayesh Choudhary <j-choudh...@ti.com>
Signed-off-by: Harikrishna Shenoy <h-she...@ti.com>
---
arch/arm64/boot/dts/ti/Makefile | 4 +
...1e-beagleboneai64-dsi-rpi-7inch-panel.dtso | 141 ++++++++++++++++++
.../boot/dts/ti/k3-j721e-beagleboneai64.dts | 7 +-
3 files changed, 151 insertions(+), 1 deletion(-)
create mode 100644
arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64-dsi-rpi-7inch-panel.dtso
diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile
index aad9177930e6..25cf12ebccce 100644
--- a/arch/arm64/boot/dts/ti/Makefile
+++ b/arch/arm64/boot/dts/ti/Makefile
@@ -114,6 +114,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-j7200-evm-pcie1-ep.dtbo
# Boards with J721e SoC
k3-j721e-evm-dtbs := k3-j721e-common-proc-board.dtb
k3-j721e-evm-quad-port-eth-exp.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-j721e-beagleboneai64.dtb
+dtb-$(CONFIG_ARCH_K3) += k3-j721e-beagleboneai64-dsi-rpi-7inch-panel.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-j721e-common-proc-board-infotainment.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-j721e-evm.dtb
dtb-$(CONFIG_ARCH_K3) += k3-j721e-evm-gesi-exp-board.dtbo
@@ -220,6 +221,8 @@ k3-am69-sk-pcie0-ep-dtbs := k3-am69-sk.dtb \
k3-am69-sk-pcie0-ep.dtbo
k3-j7200-evm-pcie1-ep-dtbs := k3-j7200-common-proc-board.dtb \
k3-j7200-evm-pcie1-ep.dtbo
+k3-j721e-beagleboneai64-dsi-rpi-7inch-panel-dtbs :=
k3-j721e-beagleboneai64.dtb \
+ k3-j721e-beagleboneai64-dsi-rpi-7inch-panel.dtbo
k3-j721e-common-proc-board-infotainment-dtbs :=
k3-j721e-common-proc-board.dtb \
k3-j721e-common-proc-board-infotainment.dtbo
k3-j721e-evm-pcie0-ep-dtbs := k3-j721e-common-proc-board.dtb \
@@ -267,6 +270,7 @@ dtb- += k3-am625-beagleplay-csi2-ov5640.dtb \
k3-am69-sk-csi2-dual-imx219.dtb \
k3-am69-sk-pcie0-ep.dtb \
k3-j7200-evm-pcie1-ep.dtb \
+ k3-j721e-beagleboneai64-dsi-rpi-7inch-panel.dtb \
k3-j721e-common-proc-board-infotainment.dtb \
k3-j721e-evm-pcie0-ep.dtb \
k3-j721e-evm-pcie1-ep.dtb \
diff --git
a/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64-dsi-rpi-7inch-panel.dtso
b/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64-dsi-rpi-7inch-panel.dtso
new file mode 100644
index 000000000000..c3506ccf60a4
--- /dev/null
+++ b/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64-dsi-rpi-7inch-panel.dtso
@@ -0,0 +1,141 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/**
+ * DT Overlay for RPi 7inch touchscreen panel interfaced with DSI on
+ * J721E based BeagleBone AI-64 (BBAI-64) platform.
+ *
+ * BBAI-64: https://www.beagleboard.org/boards/beaglebone-ai-64
+ * RPi DSI Panel:
https://www.raspberrypi.com/products/raspberry-pi-touch-display/
+ *
+ * Copyright (C) 2024 Texas Instruments Incorporated - https://www.ti.com/
2025
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+#include "k3-pinctrl.h"
+
+&{/} {
+ bridge_reg: bridge-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "bridge-reg";
+ vin-supply = <&display_reg>;
+ enable-active-high;
+ };
+
+ panel0 {
+ compatible = "rpi,7inch-dsi";
+ power-supply = <&display_reg>;
+ port {
+ panel_in: endpoint {
+ remote-endpoint = <&panel_bridge_out>;
+ };
+ };
+ };
+};
+
+&main_pmx0 {
+ dsi_main_i2c4_pins: dsi-main-i2c4-pins {
+ pinctrl-single,pins = <
+ J721E_IOPAD(0xa8, PIN_INPUT_PULLUP, 2) /* (AD19)
PRG1_MDIO0_MDIO.I2C4_SCL */
Clock is out signal from SOC, Please check second parameter
+ J721E_IOPAD(0xac, PIN_INPUT_PULLUP, 2) /* (AD18)
PRG1_MDIO0_MDC.I2C4_SDA */
+ >;
+ };
+};
+
+&main_i2c4 {
+ clock-frequency = <400000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&dsi_main_i2c4_pins>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ display_reg: regulator@45 {
+ compatible = "raspberrypi,7inch-touchscreen-panel-regulator";
+ reg = <0x45>;
+ };
+
+ touch-controller@38 {
+ compatible = "edt,edt-ft5406";
+ reg = <0x38>;
+
+ touchscreen-size-x = < 800 >;
+ touchscreen-size-y = < 480 >;
space in 800 and 480
+
+ vcc-supply = <&display_reg>;
see, if you need reset-gpio as well
+ interrupts-extended = <&main_gpio0 0 IRQ_TYPE_NONE>;
+
+ touchscreen-inverted-x;
+ touchscreen-inverted-y;
+ };
+};
+
+&dss_ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@2 {
+ reg = <2>;
+
+ dpi2_out: endpoint {
+ remote-endpoint = <&dsi0_in>;
+ };
+ };
+};
+
+&dphy2 {
+ status = "okay";
+};
+
+&dsi0 {
+ status = "okay";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ dsi0_out: endpoint {
+ remote-endpoint = <&panel_bridge_in>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ dsi0_in: endpoint {
+ remote-endpoint = <&dpi2_out>;
+ };
+ };
+ };
+
+ bridge@0 {
+ compatible = "toshiba,tc358762";
+ reg = <0>;
+ vddc-supply = <&bridge_reg>;
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ panel_bridge_in: endpoint {
+ remote-endpoint = <&dsi0_out>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ panel_bridge_out: endpoint {
+ remote-endpoint = <&panel_in>;
+ };
+ };
+ };
+ };
+};
+
+
diff --git a/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts
b/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts
index fb899c99753e..c85317cbff7d 100644
--- a/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts
+++ b/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts
@@ -804,7 +804,12 @@ &dss {
};
&dss_ports {
- port {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg= <0>;
+
dpi0_out: endpoint {
remote-endpoint = <&dp0_in>;
};