1efdbd734SRob HerringFreescale i.MX DRM master device
2efdbd734SRob Herring================================
3efdbd734SRob Herring
4efdbd734SRob HerringThe freescale i.MX DRM master device is a virtual device needed to list all
5efdbd734SRob HerringIPU or other display interface nodes that comprise the graphics subsystem.
6efdbd734SRob Herring
7efdbd734SRob HerringRequired properties:
8efdbd734SRob Herring- compatible: Should be "fsl,imx-display-subsystem"
9efdbd734SRob Herring- ports: Should contain a list of phandles pointing to display interface ports
10efdbd734SRob Herring  of IPU devices
11efdbd734SRob Herring
12efdbd734SRob Herringexample:
13efdbd734SRob Herring
14efdbd734SRob Herringdisplay-subsystem {
15efdbd734SRob Herring	compatible = "fsl,display-subsystem";
16efdbd734SRob Herring	ports = <&ipu_di0>;
17efdbd734SRob Herring};
18efdbd734SRob Herring
19efdbd734SRob Herring
20efdbd734SRob HerringFreescale i.MX IPUv3
21efdbd734SRob Herring====================
22efdbd734SRob Herring
23efdbd734SRob HerringRequired properties:
24efdbd734SRob Herring- compatible: Should be "fsl,<chip>-ipu"
25efdbd734SRob Herring- reg: should be register base and length as documented in the
26efdbd734SRob Herring  datasheet
27efdbd734SRob Herring- interrupts: Should contain sync interrupt and error interrupt,
28efdbd734SRob Herring  in this order.
29efdbd734SRob Herring- resets: phandle pointing to the system reset controller and
30efdbd734SRob Herring          reset line index, see reset/fsl,imx-src.txt for details
31efdbd734SRob HerringOptional properties:
32efdbd734SRob Herring- port@[0-3]: Port nodes with endpoint definitions as defined in
33efdbd734SRob Herring  Documentation/devicetree/bindings/media/video-interfaces.txt.
34efdbd734SRob Herring  Ports 0 and 1 should correspond to CSI0 and CSI1,
35efdbd734SRob Herring  ports 2 and 3 should correspond to DI0 and DI1, respectively.
36efdbd734SRob Herring
37efdbd734SRob Herringexample:
38efdbd734SRob Herring
39efdbd734SRob Herringipu: ipu@18000000 {
40efdbd734SRob Herring	#address-cells = <1>;
41efdbd734SRob Herring	#size-cells = <0>;
42efdbd734SRob Herring	compatible = "fsl,imx53-ipu";
43efdbd734SRob Herring	reg = <0x18000000 0x080000000>;
44efdbd734SRob Herring	interrupts = <11 10>;
45efdbd734SRob Herring	resets = <&src 2>;
46efdbd734SRob Herring
47efdbd734SRob Herring	ipu_di0: port@2 {
48efdbd734SRob Herring		reg = <2>;
49efdbd734SRob Herring
50efdbd734SRob Herring		ipu_di0_disp0: endpoint {
51efdbd734SRob Herring			remote-endpoint = <&display_in>;
52efdbd734SRob Herring		};
53efdbd734SRob Herring	};
54efdbd734SRob Herring};
55efdbd734SRob Herring
56efdbd734SRob HerringParallel display support
57efdbd734SRob Herring========================
58efdbd734SRob Herring
59efdbd734SRob HerringRequired properties:
60efdbd734SRob Herring- compatible: Should be "fsl,imx-parallel-display"
61efdbd734SRob HerringOptional properties:
62efdbd734SRob Herring- interface_pix_fmt: How this display is connected to the
63efdbd734SRob Herring  display interface. Currently supported types: "rgb24", "rgb565", "bgr666"
64efdbd734SRob Herring  and "lvds666".
65efdbd734SRob Herring- edid: verbatim EDID data block describing attached display.
66efdbd734SRob Herring- ddc: phandle describing the i2c bus handling the display data
67efdbd734SRob Herring  channel
68efdbd734SRob Herring- port@[0-1]: Port nodes with endpoint definitions as defined in
69efdbd734SRob Herring  Documentation/devicetree/bindings/media/video-interfaces.txt.
70efdbd734SRob Herring  Port 0 is the input port connected to the IPU display interface,
71efdbd734SRob Herring  port 1 is the output port connected to a panel.
72efdbd734SRob Herring
73efdbd734SRob Herringexample:
74efdbd734SRob Herring
75efdbd734SRob Herringdisplay@di0 {
76efdbd734SRob Herring	compatible = "fsl,imx-parallel-display";
77efdbd734SRob Herring	edid = [edid-data];
78efdbd734SRob Herring	interface-pix-fmt = "rgb24";
79efdbd734SRob Herring
80efdbd734SRob Herring	port@0 {
81efdbd734SRob Herring		reg = <0>;
82efdbd734SRob Herring
83efdbd734SRob Herring		display_in: endpoint {
84efdbd734SRob Herring			remote-endpoint = <&ipu_di0_disp0>;
85efdbd734SRob Herring		};
86efdbd734SRob Herring	};
87efdbd734SRob Herring
88efdbd734SRob Herring	port@1 {
89efdbd734SRob Herring		reg = <1>;
90efdbd734SRob Herring
91efdbd734SRob Herring		display_out: endpoint {
92efdbd734SRob Herring			remote-endpoint = <&panel_in>;
93efdbd734SRob Herring		};
94efdbd734SRob Herring	};
95efdbd734SRob Herring};
96efdbd734SRob Herring
97efdbd734SRob Herringpanel {
98efdbd734SRob Herring	...
99efdbd734SRob Herring
100efdbd734SRob Herring	port {
101efdbd734SRob Herring		panel_in: endpoint {
102efdbd734SRob Herring			remote-endpoint = <&display_out>;
103efdbd734SRob Herring		};
104efdbd734SRob Herring	};
105efdbd734SRob Herring};
106