Commit 26c9d79b authored by Fabrizio Castro's avatar Fabrizio Castro Committed by Simon Horman
Browse files

ARM: dts: iwg23s-sbc: Add HDMI support



This patch adds HDMI video output support to the iwg23s board
from iWave. Due to a problem with the bootloader not dealing
with the configuration of one of the pins correctly, we have
to use a gpio-hog for the interrupt line to make sure the pin
is configured as GPIO-input when requesting the interrupt.

Signed-off-by: default avatarFabrizio Castro <fabrizio.castro@bp.renesas.com>
Signed-off-by: default avatarSimon Horman <horms+renesas@verge.net.au>
parent 4ec778fb
Loading
Loading
Loading
Loading
+79 −0
Original line number Diff line number Diff line
@@ -22,6 +22,17 @@
		stdout-path = "serial1:115200n8";
	};

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

		port {
			hdmi_con: endpoint {
				remote-endpoint = <&bridge_out>;
			};
		};
	};

	memory@40000000 {
		device_type = "memory";
		reg = <0 0x40000000 0 0x20000000>;
@@ -80,10 +91,34 @@
	status = "okay";
};

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

	status = "okay";

	ports {
		port@0 {
			endpoint {
				remote-endpoint = <&bridge_in>;
			};
		};
	};
};

&extal_clk {
	clock-frequency = <20000000>;
};

&gpio2 {
	interrupt-fixup {
		gpio-hog;
		gpios = <29 GPIO_ACTIVE_HIGH>;
		line-name = "hdmi-hpd-int";
		input;
	};
};

&i2c3 {
	pinctrl-0 = <&i2c3_pins>;
	pinctrl-names = "default";
@@ -97,12 +132,56 @@
	};
};

&i2c4 {
	pinctrl-0 = <&i2c4_pins>;
	pinctrl-names = "default";

	status = "okay";
	clock-frequency = <100000>;

	hdmi@39 {
		compatible = "sil,sii9022";
		reg = <0x39>;
		interrupt-parent = <&gpio2>;
		interrupts = <29 IRQ_TYPE_LEVEL_LOW>;

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

			port@0 {
				reg = <0>;
				bridge_in: endpoint {
					remote-endpoint = <&du_out_rgb0>;
				};
			};

			port@1 {
				reg = <1>;
				bridge_out: endpoint {
					remote-endpoint = <&hdmi_con>;
				};
			};
		};
	};
};

&pfc {
	avb_pins: avb {
		groups = "avb_mdio", "avb_gmii_tx_rx";
		function = "avb";
	};

	du0_pins: du0 {
		groups = "du0_rgb888", "du0_sync", "du0_disp", "du0_clk0_out";
		function = "du0";
	};

	i2c4_pins: i2c4 {
		groups = "i2c4_e";
		function = "i2c4";
	};

	i2c3_pins: i2c3 {
		groups = "i2c3_c";
		function = "i2c3";