Rockchip specific extensions for rk3066 HDMI
============================================

Required properties:
- compatible:
	"rockchip,rk3066-hdmi";
- reg:
	Physical base address and length of the controller's registers.
- clocks, clock-names:
	Phandle to HDMI controller clock, name should be "hclk".
- interrupts:
	HDMI interrupt number.
- power-domains:
	Phandle to the RK3066_PD_VIO power domain.
- rockchip,grf:
	This soc uses GRF regs to switch the HDMI TX input between vop0 and vop1.
- ports:
	Contains one port node with two endpoints, numbered 0 and 1,
	connected respectively to vop0 and vop1.
	Contains one port node with one endpoint
	connected to a hdmi-connector node.
- pinctrl-0, pinctrl-name:
	Switch the iomux for the HPD/I2C pins to HDMI function.

Example:
	hdmi: hdmi@10116000 {
		compatible = "rockchip,rk3066-hdmi";
		reg = <0x10116000 0x2000>;
		interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&cru HCLK_HDMI>;
		clock-names = "hclk";
		power-domains = <&power RK3066_PD_VIO>;
		rockchip,grf = <&grf>;
		pinctrl-names = "default";
		pinctrl-0 = <&hdmii2c_xfer>, <&hdmi_hpd>;

		ports {
			#address-cells = <1>;
			#size-cells = <0>;
			hdmi_in: port@0 {
				reg = <0>;
				#address-cells = <1>;
				#size-cells = <0>;
				hdmi_in_vop0: endpoint@0 {
					reg = <0>;
					remote-endpoint = <&vop0_out_hdmi>;
				};
				hdmi_in_vop1: endpoint@1 {
					reg = <1>;
					remote-endpoint = <&vop1_out_hdmi>;
				};
			};
			hdmi_out: port@1 {
				reg = <1>;
				hdmi_out_con: endpoint {
					remote-endpoint = <&hdmi_con_in>;
				};
			};
		};
	};

&pinctrl {
		hdmi {
			hdmi_hpd: hdmi-hpd {
				rockchip,pins = <0 RK_PA0 1 &pcfg_pull_default>;
			};
			hdmii2c_xfer: hdmii2c-xfer {
				rockchip,pins = <0 RK_PA1 1 &pcfg_pull_none>,
						<0 RK_PA2 1 &pcfg_pull_none>;
			};
		};
};
