* Renesas R-Car Display Unit (DU)

Required Properties:

  - compatible: must be one of the following.
    - "renesas,du-r8a7743" for R8A7743 (RZ/G1M) compatible DU
    - "renesas,du-r8a7744" for R8A7744 (RZ/G1N) compatible DU
    - "renesas,du-r8a7745" for R8A7745 (RZ/G1E) compatible DU
    - "renesas,du-r8a77470" for R8A77470 (RZ/G1C) compatible DU
    - "renesas,du-r8a774c0" for R8A774C0 (RZ/G2E) compatible DU
    - "renesas,du-r8a7779" for R8A7779 (R-Car H1) compatible DU
    - "renesas,du-r8a7790" for R8A7790 (R-Car H2) compatible DU
    - "renesas,du-r8a7791" for R8A7791 (R-Car M2-W) compatible DU
    - "renesas,du-r8a7792" for R8A7792 (R-Car V2H) compatible DU
    - "renesas,du-r8a7793" for R8A7793 (R-Car M2-N) compatible DU
    - "renesas,du-r8a7794" for R8A7794 (R-Car E2) compatible DU
    - "renesas,du-r8a7795" for R8A7795 (R-Car H3) compatible DU
    - "renesas,du-r8a7796" for R8A7796 (R-Car M3-W) compatible DU
    - "renesas,du-r8a77965" for R8A77965 (R-Car M3-N) compatible DU
    - "renesas,du-r8a77970" for R8A77970 (R-Car V3M) compatible DU
    - "renesas,du-r8a77980" for R8A77980 (R-Car V3H) compatible DU
    - "renesas,du-r8a77990" for R8A77990 (R-Car E3) compatible DU
    - "renesas,du-r8a77995" for R8A77995 (R-Car D3) compatible DU

  - reg: the memory-mapped I/O registers base address and length

  - interrupts: Interrupt specifiers for the DU interrupts.

  - clocks: A list of phandles + clock-specifier pairs, one for each entry in
    the clock-names property.
  - clock-names: Name of the clocks. This property is model-dependent.
    - R8A7779 uses a single functional clock. The clock doesn't need to be
      named.
    - All other DU instances use one functional clock per channel The
      functional clocks must be named "du.x" with "x" being the channel
      numerical index.
    - In addition to the functional clocks, all DU versions also support
      externally supplied pixel clocks. Those clocks are optional. When
      supplied they must be named "dclkin.x" with "x" being the input clock
      numerical index.

  - vsps: A list of phandle and channel index tuples to the VSPs that handle
    the memory interfaces for the DU channels. The phandle identifies the VSP
    instance that serves the DU channel, and the channel index identifies the
    LIF instance in that VSP.

Required nodes:

The connections to the DU output video ports are modeled using the OF graph
bindings specified in Documentation/devicetree/bindings/graph.txt.

The following table lists for each supported model the port number
corresponding to each DU output.

                        Port0          Port1          Port2          Port3
-----------------------------------------------------------------------------
 R8A7743 (RZ/G1M)       DPAD 0         LVDS 0         -              -
 R8A7744 (RZ/G1N)       DPAD 0         LVDS 0         -              -
 R8A7745 (RZ/G1E)       DPAD 0         DPAD 1         -              -
 R8A77470 (RZ/G1C)      DPAD 0         DPAD 1         LVDS 0         -
 R8A774C0 (RZ/G2E)      DPAD 0         LVDS 0         LVDS 1         -
 R8A7779 (R-Car H1)     DPAD 0         DPAD 1         -              -
 R8A7790 (R-Car H2)     DPAD 0         LVDS 0         LVDS 1         -
 R8A7791 (R-Car M2-W)   DPAD 0         LVDS 0         -              -
 R8A7792 (R-Car V2H)    DPAD 0         DPAD 1         -              -
 R8A7793 (R-Car M2-N)   DPAD 0         LVDS 0         -              -
 R8A7794 (R-Car E2)     DPAD 0         DPAD 1         -              -
 R8A7795 (R-Car H3)     DPAD 0         HDMI 0         HDMI 1         LVDS 0
 R8A7796 (R-Car M3-W)   DPAD 0         HDMI 0         LVDS 0         -
 R8A77965 (R-Car M3-N)  DPAD 0         HDMI 0         LVDS 0         -
 R8A77970 (R-Car V3M)   DPAD 0         LVDS 0         -              -
 R8A77980 (R-Car V3H)   DPAD 0         LVDS 0         -              -
 R8A77990 (R-Car E3)    DPAD 0         LVDS 0         LVDS 1         -
 R8A77995 (R-Car D3)    DPAD 0         LVDS 0         LVDS 1         -


Example: R8A7795 (R-Car H3) ES2.0 DU

	du: display@feb00000 {
		compatible = "renesas,du-r8a7795";
		reg = <0 0xfeb00000 0 0x80000>;
		interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&cpg CPG_MOD 724>,
			 <&cpg CPG_MOD 723>,
			 <&cpg CPG_MOD 722>,
			 <&cpg CPG_MOD 721>;
		clock-names = "du.0", "du.1", "du.2", "du.3";
		vsps = <&vspd0 0>, <&vspd1 0>, <&vspd2 0>, <&vspd0 1>;

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

			port@0 {
				reg = <0>;
				du_out_rgb: endpoint {
				};
			};
			port@1 {
				reg = <1>;
				du_out_hdmi0: endpoint {
					remote-endpoint = <&dw_hdmi0_in>;
				};
			};
			port@2 {
				reg = <2>;
				du_out_hdmi1: endpoint {
					remote-endpoint = <&dw_hdmi1_in>;
				};
			};
			port@3 {
				reg = <3>;
				du_out_lvds0: endpoint {
				};
			};
		};
	};
