Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bcf30034 authored by Ulrich Hecht's avatar Ulrich Hecht Committed by Simon Horman
Browse files

arm64: dts: renesas: r8a77995: draak: Enable HDMI display output



Adds LVDS decoder, HDMI encoder and connector for the Draak board.

The LVDS0 and LVDS1 encoders can use the DU_DOTCLKIN0, DU_DOTCLKIN1 and
EXTAL externals clocks. Two of them are provided to the SoC on the Draak
board, hook them up in DT.

Signed-off-by: default avatarUlrich Hecht <uli+renesas@fpond.eu>
Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Tested-by: default avatarJacopo Mondi <jacopo+renesas@jmondi.org>
Signed-off-by: default avatarSimon Horman <horms+renesas@verge.net.au>
parent 74fe39ab
Loading
Loading
Loading
Loading
+97 −1
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@
/*
 * Device Tree Source for the Draak board
 *
 * Copyright (C) 2016 Renesas Electronics Corp.
 * Copyright (C) 2016-2018 Renesas Electronics Corp.
 * Copyright (C) 2017 Glider bvba
 */

@@ -45,6 +45,41 @@
		};
	};

	hdmi-out {
		compatible = "hdmi-connector";
		type = "a";

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

	lvds-decoder {
		compatible = "thine,thc63lvd1024";
		vcc-supply = <&reg_3p3v>;

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

			port@0 {
				reg = <0>;
				thc63lvd1024_in: endpoint {
					remote-endpoint = <&lvds0_out>;
				};
			};

			port@2 {
				reg = <2>;
				thc63lvd1024_out: endpoint {
					remote-endpoint = <&adv7511_in>;
				};
			};
		};
	};

	memory@48000000 {
		device_type = "memory";
		/* first 128MB is reserved for secure area. */
@@ -190,6 +225,43 @@

	};

	hdmi-encoder@39 {
		compatible = "adi,adv7511w";
		reg = <0x39>, <0x3f>, <0x38>, <0x3c>;
		reg-names = "main", "edid", "packet", "cec";
		interrupt-parent = <&gpio1>;
		interrupts = <28 IRQ_TYPE_LEVEL_LOW>;

		/* Depends on LVDS */
		max-clock = <135000000>;
		min-vrefresh = <50>;

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

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

			port@0 {
				reg = <0>;
				adv7511_in: endpoint {
					remote-endpoint = <&thc63lvd1024_out>;
				};
			};

			port@1 {
				reg = <1>;
				adv7511_out: endpoint {
					remote-endpoint = <&hdmi_con_out>;
				};
			};
		};
	};

	hdmi-decoder@4c {
		compatible = "adi,adv7612";
		reg = <0x4c>;
@@ -240,6 +312,30 @@
	status = "okay";
};

&lvds0 {
	status = "okay";

	clocks = <&cpg CPG_MOD 727>,
		 <&x12_clk>,
		 <&extal_clk>;
	clock-names = "fck", "dclkin.0", "extal";

	ports {
		port@1 {
			lvds0_out: endpoint {
				remote-endpoint = <&thc63lvd1024_in>;
			};
		};
	};
};

&lvds1 {
	clocks = <&cpg CPG_MOD 727>,
		 <&x12_clk>,
		 <&extal_clk>;
	clock-names = "fck", "dclkin.0", "extal";
};

&ohci0 {
	status = "okay";
};