Commit 38ef5be6 authored by Marek Vasut's avatar Marek Vasut Committed by Geert Uytterhoeven
Browse files

arm64: dts: renesas: sparrow-hawk: Add overlay for RPi Display 2



Add a DT overlay to bind the Raspberry Pi Display 2 (both 5" and 7"
variants), on the Retronix R-Car V4H Sparrow Hawk board.  All of display
output, touch controller, and backlight control have been tested.

Signed-off-by: default avatarMarek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/20250904202838.172579-1-marek.vasut+renesas@mailbox.org


Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
parent f1606883
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -111,6 +111,12 @@ dtb-$(CONFIG_ARCH_R8A779G0) += r8a779g3-sparrow-hawk-camera-j2-imx462.dtb
dtb-$(CONFIG_ARCH_R8A779G0) += r8a779g3-sparrow-hawk-fan-pwm.dtbo
r8a779g3-sparrow-hawk-fan-pwm-dtbs := r8a779g3-sparrow-hawk.dtb r8a779g3-sparrow-hawk-fan-pwm.dtbo
dtb-$(CONFIG_ARCH_R8A779G0) += r8a779g3-sparrow-hawk-fan-pwm.dtb
dtb-$(CONFIG_ARCH_R8A779G0) += r8a779g3-sparrow-hawk-rpi-display-2-5in.dtbo
r8a779g3-sparrow-hawk-rpi-display-2-5in-dtbs := r8a779g3-sparrow-hawk.dtb r8a779g3-sparrow-hawk-rpi-display-2-5in.dtbo
dtb-$(CONFIG_ARCH_R8A779G0) += r8a779g3-sparrow-hawk-rpi-display-2-5in.dtb
dtb-$(CONFIG_ARCH_R8A779G0) += r8a779g3-sparrow-hawk-rpi-display-2-7in.dtbo
r8a779g3-sparrow-hawk-rpi-display-2-7in-dtbs := r8a779g3-sparrow-hawk.dtb r8a779g3-sparrow-hawk-rpi-display-2-7in.dtbo
dtb-$(CONFIG_ARCH_R8A779G0) += r8a779g3-sparrow-hawk-rpi-display-2-7in.dtb

dtb-$(CONFIG_ARCH_R8A779G0) += r8a779g3-white-hawk-single.dtb
r8a779g3-white-hawk-single-ard-audio-da7212-dtbs := r8a779g3-white-hawk-single.dtb white-hawk-ard-audio-da7212.dtbo
+13 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
/*
 * Device Tree Overlay for the RPi Display 2 5" MIPI DSI panel connected
 * to J4:DSI on R-Car V4H ES3.0 Sparrow Hawk board
 *
 * Copyright (C) 2025 Marek Vasut <marek.vasut+renesas@mailbox.org>
 */

#include "r8a779g3-sparrow-hawk-rpi-display-2.dtsi"

&panel {
	compatible = "raspberrypi,dsi-5inch", "ilitek,ili9881c";
};
+13 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
/*
 * Device Tree Overlay for the RPi Display 2 7" MIPI DSI panel connected
 * to J4:DSI on R-Car V4H ES3.0 Sparrow Hawk board
 *
 * Copyright (C) 2025 Marek Vasut <marek.vasut+renesas@mailbox.org>
 */

#include "r8a779g3-sparrow-hawk-rpi-display-2.dtsi"

&panel {
	compatible = "raspberrypi,dsi-7inch", "ilitek,ili9881c";
};
+90 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
/*
 * Device Tree Overlay for the RPi Display 2 MIPI DSI panel connected
 * to J4:DSI on R-Car V4H ES3.0 Sparrow Hawk board
 *
 * Copyright (C) 2025 Marek Vasut <marek.vasut+renesas@mailbox.org>
 */

/dts-v1/;
/plugin/;

#include <dt-bindings/gpio/gpio.h>

&{/} {
	display_bl: backlight {
		compatible = "pwm-backlight";
		pwms = <&mcu 0 255 0>;
	};

	reg_display: regulator-display {
		compatible = "regulator-fixed";
		regulator-name = "rpi-display";
		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;
	};
};

&i2c0_mux3 {
	#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 = <&reg_dsi_touch>;
		touchscreen-size-x = <720>;
		touchscreen-size-y = <1280>;
	};
};

&dsi0 {
	#address-cells = <1>;
	#size-cells = <0>;
	status = "okay";

	ports {
		#address-cells = <1>;
		#size-cells = <0>;

		port@1 {
			reg = <1>;

			dsi0_out: endpoint {
				remote-endpoint = <&panel_in>;
				data-lanes = <1 2>;
			};
		};
	};

	panel: panel@0 {
		reg = <0>;
		backlight = <&display_bl>;
		power-supply = <&reg_display>;
		reset-gpios = <&mcu 0 GPIO_ACTIVE_LOW>;

		port {
			panel_in: endpoint {
				remote-endpoint = <&dsi0_out>;
			};
		};
	};
};