[RFC PATCH 3/3] arm64: dts: ti: k3-j721e-beagleboneai64: Add DSI RPi Panel

Kumar, Udit u-kumar1 at ti.com
Mon Aug 18 22:13:38 PDT 2025


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 at 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-ravikumar at ti.com>
> Signed-off-by: Jayesh Choudhary <j-choudhary at ti.com>
> Signed-off-by: Harikrishna Shenoy <h-shenoy at 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 at 45 {
> +		compatible = "raspberrypi,7inch-touchscreen-panel-regulator";
> +		reg = <0x45>;
> +	};
> +
> +	touch-controller at 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 at 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 at 0 {
> +			reg = <0>;
> +			dsi0_out: endpoint {
> +				remote-endpoint = <&panel_bridge_in>;
> +			};
> +		};
> +
> +		port at 1 {
> +			reg = <1>;
> +			dsi0_in: endpoint {
> +				remote-endpoint = <&dpi2_out>;
> +			};
> +		};
> +	};
> +
> +	bridge at 0 {
> +		compatible = "toshiba,tc358762";
> +		reg = <0>;
> +		vddc-supply = <&bridge_reg>;
> +		ports {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			port at 0 {
> +				reg = <0>;
> +				panel_bridge_in: endpoint {
> +					remote-endpoint = <&dsi0_out>;
> +				};
> +			};
> +
> +			port at 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 at 0 {
> +		reg= <0>;
> +
>   		dpi0_out: endpoint {
>   			remote-endpoint = <&dp0_in>;
>   		};



More information about the linux-arm-kernel mailing list