Commit cc49fcd0 authored by Biju Das's avatar Biju Das Committed by Geert Uytterhoeven
Browse files

arm64: dts: renesas: r9a07g043u11-smarc: Enable DU



Enable the Display Unit and link with the HDMI add-on board connected
to the parallel connector on the RZ/G2UL SMARC EVK by using a Device
Tree overlay.

Signed-off-by: default avatarBiju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/20240826101648.176647-1-biju.das.jz@bp.renesas.com


Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
parent 7fe722ee
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -112,9 +112,12 @@ dtb-$(CONFIG_ARCH_R8A77965) += r8a779m5-salvator-xs-panel-aa104xd12.dtb

dtb-$(CONFIG_ARCH_R9A07G043) += r9a07g043u11-smarc.dtb
dtb-$(CONFIG_ARCH_R9A07G043) += r9a07g043u11-smarc-cru-csi-ov5645.dtbo
dtb-$(CONFIG_ARCH_R9A07G043) += r9a07g043u11-smarc-du-adv7513.dtbo
dtb-$(CONFIG_ARCH_R9A07G043) += r9a07g043-smarc-pmod.dtbo
r9a07g043u11-smarc-cru-csi-ov5645-dtbs := r9a07g043u11-smarc.dtb r9a07g043u11-smarc-cru-csi-ov5645.dtbo
dtb-$(CONFIG_ARCH_R9A07G043) += r9a07g043u11-smarc-cru-csi-ov5645.dtb
r9a07g043u11-smarc-du-adv7513-dtbs := r9a07g043u11-smarc.dtb r9a07g043u11-smarc-du-adv7513.dtbo
dtb-$(CONFIG_ARCH_R9A07G043) += r9a07g043u11-smarc-du-adv7513.dtb
r9a07g043u11-smarc-pmod-dtbs := r9a07g043u11-smarc.dtb r9a07g043-smarc-pmod.dtbo
dtb-$(CONFIG_ARCH_R9A07G043) += r9a07g043u11-smarc-pmod.dtb

+62 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0
/*
 * Device Tree overlay for the RZ/G2UL SMARC EVK with ADV7513 transmitter
 * connected to DU enabled.
 *
 * Copyright (C) 2024 Renesas Electronics Corp.
 */

/dts-v1/;
/plugin/;

#include <dt-bindings/pinctrl/rzg2l-pinctrl.h>

#define ADV7513_PARENT_I2C i2c1
#include "rz-smarc-du-adv7513.dtsi"

&pinctrl {
	du_pins: du {
		data {
			pinmux = <RZG2L_PORT_PINMUX(11, 2, 6)>,
				 <RZG2L_PORT_PINMUX(13, 1, 6)>,
				 <RZG2L_PORT_PINMUX(13, 0, 6)>,
				 <RZG2L_PORT_PINMUX(13, 4, 6)>,
				 <RZG2L_PORT_PINMUX(13, 3, 6)>,
				 <RZG2L_PORT_PINMUX(12, 1, 6)>,
				 <RZG2L_PORT_PINMUX(13, 2, 6)>,
				 <RZG2L_PORT_PINMUX(14, 0, 6)>,
				 <RZG2L_PORT_PINMUX(14, 2, 6)>,
				 <RZG2L_PORT_PINMUX(14, 1, 6)>,
				 <RZG2L_PORT_PINMUX(16, 0, 6)>,
				 <RZG2L_PORT_PINMUX(15, 0, 6)>,
				 <RZG2L_PORT_PINMUX(16, 1, 6)>,
				 <RZG2L_PORT_PINMUX(15, 1, 6)>,
				 <RZG2L_PORT_PINMUX(15, 3, 6)>,
				 <RZG2L_PORT_PINMUX(18, 0, 6)>,
				 <RZG2L_PORT_PINMUX(15, 2, 6)>,
				 <RZG2L_PORT_PINMUX(17, 0, 6)>,
				 <RZG2L_PORT_PINMUX(17, 2, 6)>,
				 <RZG2L_PORT_PINMUX(17, 1, 6)>,
				 <RZG2L_PORT_PINMUX(18, 1, 6)>,
				 <RZG2L_PORT_PINMUX(18, 2, 6)>,
				 <RZG2L_PORT_PINMUX(17, 3, 6)>,
				 <RZG2L_PORT_PINMUX(18, 3, 6)>;
			drive-strength = <2>;
		};

		sync {
			pinmux = <RZG2L_PORT_PINMUX(11, 0, 6)>, /* HSYNC */
				 <RZG2L_PORT_PINMUX(12, 0, 6)>; /* VSYNC */
			drive-strength = <2>;
		};

		de {
			pinmux = <RZG2L_PORT_PINMUX(11, 1, 6)>; /* DE */
			drive-strength = <2>;
		};

		clk {
			pinmux = <RZG2L_PORT_PINMUX(11, 3, 6)>; /* CLK */
		};
	};
};
+76 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0
/*
 * Common Device Tree for the RZ/G2UL SMARC EVK (and alike EVKs) with
 * ADV7513 transmitter connected to DU enabled.
 *
 * Copyright (C) 2024 Renesas Electronics Corp.
 */

&{/} {
	hdmi-out {
		compatible = "hdmi-connector";
		type = "d";

		port {
			hdmi_con_out: endpoint {
				remote-endpoint = <&adv7513_out>;
			};
		};
	};
};

&du {
	pinctrl-0 = <&du_pins>;
	pinctrl-names = "default";

	status = "okay";

	ports {
		port@0 {
			du_out_rgb: endpoint {
				remote-endpoint = <&adv7513_in>;
			};
		};
	};
};

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

	adv7513: adv7513@39 {
		compatible = "adi,adv7513";
		reg = <0x39>;

		adi,input-depth = <8>;
		adi,input-colorspace = "rgb";
		adi,input-clock = "1x";

		avdd-supply = <&reg_1p8v>;
		dvdd-supply = <&reg_1p8v>;
		pvdd-supply = <&reg_1p8v>;
		dvdd-3v-supply = <&reg_3p3v>;
		bgvdd-supply = <&reg_1p8v>;

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

			port@0 {
				reg = <0>;

				adv7513_in: endpoint {
					remote-endpoint = <&du_out_rgb>;
				};
			};

			port@1 {
				reg = <1>;

				adv7513_out: endpoint {
					remote-endpoint = <&hdmi_con_out>;
				};
			};
		};
	};
};