* ARM PrimeCell Color LCD Controller PL110/PL111

See also Documentation/devicetree/bindings/arm/primecell.yaml

Required properties:

- compatible: must be one of:
	"arm,pl110", "arm,primecell"
	"arm,pl111", "arm,primecell"

- reg: base address and size of the control registers block

- interrupt-names: either the single entry "combined" representing a
	combined interrupt output (CLCDINTR), or the four entries
	"mbe", "vcomp", "lnbu", "fuf" representing the individual
	CLCDMBEINTR, CLCDVCOMPINTR, CLCDLNBUINTR, CLCDFUFINTR interrupts

- interrupts: contains an interrupt specifier for each entry in
	interrupt-names

- clock-names: should contain "clcdclk" and "apb_pclk"

- clocks: contains phandle and clock specifier pairs for the entries
	in the clock-names property. See
	Documentation/devicetree/bindings/clock/clock-bindings.txt

Optional properties:

- memory-region: phandle to a node describing memory (see
	Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt)
	to be used for the framebuffer; if not present, the framebuffer
	may be located anywhere in the memory

- max-memory-bandwidth: maximum bandwidth in bytes per second that the
	cell's memory interface can handle; if not present, the memory
	interface is fast enough to handle all possible video modes

Required sub-nodes:

- port: describes LCD panel signals, following the common binding
	for video transmitter interfaces; see
	Documentation/devicetree/bindings/media/video-interfaces.txt;
	when it is a TFT panel, the port's endpoint must define the
	following property:

	- arm,pl11x,tft-r0g0b0-pads: an array of three 32-bit values,
		defining the way CLD pads are wired up; first value
		contains index of the "CLD" external pin (pad) used
		as R0 (first bit of the red component), second value
	        index of the pad used as G0, third value index of the
		pad used as B0, see also "LCD panel signal multiplexing
		details" paragraphs in the PL110/PL111 Technical
		Reference Manuals; this implicitly defines available
		color modes, for example:
		- PL111 TFT 4:4:4 panel:
			arm,pl11x,tft-r0g0b0-pads = <4 15 20>;
		- PL110 TFT (1:)5:5:5 panel:
			arm,pl11x,tft-r0g0b0-pads = <1 7 13>;
		- PL111 TFT (1:)5:5:5 panel:
			arm,pl11x,tft-r0g0b0-pads = <3 11 19>;
		- PL111 TFT 5:6:5 panel:
			arm,pl11x,tft-r0g0b0-pads = <3 10 19>;
		- PL110 and PL111 TFT 8:8:8 panel:
			arm,pl11x,tft-r0g0b0-pads = <0 8 16>;
		- PL110 and PL111 TFT 8:8:8 panel, R & B components swapped:
			arm,pl11x,tft-r0g0b0-pads = <16 8 0>;


Example:

	clcd@10020000 {
		compatible = "arm,pl111", "arm,primecell";
		reg = <0x10020000 0x1000>;
		interrupt-names = "combined";
		interrupts = <0 44 4>;
		clocks = <&oscclk1>, <&oscclk2>;
		clock-names = "clcdclk", "apb_pclk";
		max-memory-bandwidth = <94371840>; /* Bps, 1024x768@60 16bpp */

		port {
			clcd_pads: endpoint {
				remote-endpoint = <&clcd_panel>;
				arm,pl11x,tft-r0g0b0-pads = <0 8 16>;
			};
		};

	};

	panel {
		compatible = "panel-dpi";

		port {
			clcd_panel: endpoint {
				remote-endpoint = <&clcd_pads>;
			};
		};

		panel-timing {
			clock-frequency = <25175000>;
			hactive = <640>;
			hback-porch = <40>;
			hfront-porch = <24>;
			hsync-len = <96>;
			vactive = <480>;
			vback-porch = <32>;
			vfront-porch = <11>;
			vsync-len = <2>;
		};
	};
