Device-Tree bindings for HDMI Transmitter

HDMI Transmitter
================

The HDMI Transmitter is a Synopsys DesignWare HDMI 1.4 TX controller IP
with accompanying PHY IP.

Required properties:
 - #address-cells : should be <1>
 - #size-cells : should be <0>
 - compatible : should be "fsl,imx6q-hdmi" or "fsl,imx6dl-hdmi".
 - gpr : should be <&gpr>.
   The phandle points to the iomuxc-gpr region containing the HDMI
   multiplexer control register.
 - clocks, clock-names : phandles to the HDMI iahb and isrf clocks, as described
   in Documentation/devicetree/bindings/clock/clock-bindings.txt and
   Documentation/devicetree/bindings/clock/imx6q-clock.txt.
 - port@[0-4]: Up to four port nodes with endpoint definitions as defined in
   Documentation/devicetree/bindings/media/video-interfaces.txt,
   corresponding to the four inputs to the HDMI multiplexer.

Optional properties:
 - ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing

example:

	gpr: iomuxc-gpr@020e0000 {
		/* ... */
	};

        hdmi: hdmi@0120000 {
                #address-cells = <1>;
                #size-cells = <0>;
                compatible = "fsl,imx6q-hdmi";
                reg = <0x00120000 0x9000>;
                interrupts = <0 115 0x04>;
                gpr = <&gpr>;
                clocks = <&clks 123>, <&clks 124>;
                clock-names = "iahb", "isfr";
                ddc-i2c-bus = <&i2c2>;

                port@0 {
                        reg = <0>;

                        hdmi_mux_0: endpoint {
                                remote-endpoint = <&ipu1_di0_hdmi>;
                        };
                };

                port@1 {
                        reg = <1>;

                        hdmi_mux_1: endpoint {
                                remote-endpoint = <&ipu1_di1_hdmi>;
                        };
                };
        };
