1c66ec88fSEmmanuel VadotFreescale i.MX DRM master device 2c66ec88fSEmmanuel Vadot================================ 3c66ec88fSEmmanuel Vadot 4c66ec88fSEmmanuel VadotThe freescale i.MX DRM master device is a virtual device needed to list all 5c66ec88fSEmmanuel VadotIPU or other display interface nodes that comprise the graphics subsystem. 6c66ec88fSEmmanuel Vadot 7c66ec88fSEmmanuel VadotRequired properties: 8c66ec88fSEmmanuel Vadot- compatible: Should be "fsl,imx-display-subsystem" 9c66ec88fSEmmanuel Vadot- ports: Should contain a list of phandles pointing to display interface ports 10c66ec88fSEmmanuel Vadot of IPU devices 11c66ec88fSEmmanuel Vadot 12c66ec88fSEmmanuel Vadotexample: 13c66ec88fSEmmanuel Vadot 14c66ec88fSEmmanuel Vadotdisplay-subsystem { 15*5def4c47SEmmanuel Vadot compatible = "fsl,imx-display-subsystem"; 16c66ec88fSEmmanuel Vadot ports = <&ipu_di0>; 17c66ec88fSEmmanuel Vadot}; 18c66ec88fSEmmanuel Vadot 19c66ec88fSEmmanuel Vadot 20c66ec88fSEmmanuel VadotFreescale i.MX IPUv3 21c66ec88fSEmmanuel Vadot==================== 22c66ec88fSEmmanuel Vadot 23c66ec88fSEmmanuel VadotRequired properties: 24c66ec88fSEmmanuel Vadot- compatible: Should be "fsl,<chip>-ipu" where <chip> is one of 25c66ec88fSEmmanuel Vadot - imx51 26c66ec88fSEmmanuel Vadot - imx53 27c66ec88fSEmmanuel Vadot - imx6q 28c66ec88fSEmmanuel Vadot - imx6qp 29c66ec88fSEmmanuel Vadot- reg: should be register base and length as documented in the 30c66ec88fSEmmanuel Vadot datasheet 31c66ec88fSEmmanuel Vadot- interrupts: Should contain sync interrupt and error interrupt, 32c66ec88fSEmmanuel Vadot in this order. 33c66ec88fSEmmanuel Vadot- resets: phandle pointing to the system reset controller and 34c66ec88fSEmmanuel Vadot reset line index, see reset/fsl,imx-src.txt for details 35c66ec88fSEmmanuel VadotAdditional required properties for fsl,imx6qp-ipu: 36c66ec88fSEmmanuel Vadot- fsl,prg: phandle to prg node associated with this IPU instance 37c66ec88fSEmmanuel VadotOptional properties: 38c66ec88fSEmmanuel Vadot- port@[0-3]: Port nodes with endpoint definitions as defined in 39c66ec88fSEmmanuel Vadot Documentation/devicetree/bindings/media/video-interfaces.txt. 40c66ec88fSEmmanuel Vadot Ports 0 and 1 should correspond to CSI0 and CSI1, 41c66ec88fSEmmanuel Vadot ports 2 and 3 should correspond to DI0 and DI1, respectively. 42c66ec88fSEmmanuel Vadot 43c66ec88fSEmmanuel Vadotexample: 44c66ec88fSEmmanuel Vadot 45c66ec88fSEmmanuel Vadotipu: ipu@18000000 { 46c66ec88fSEmmanuel Vadot #address-cells = <1>; 47c66ec88fSEmmanuel Vadot #size-cells = <0>; 48c66ec88fSEmmanuel Vadot compatible = "fsl,imx53-ipu"; 49c66ec88fSEmmanuel Vadot reg = <0x18000000 0x080000000>; 50c66ec88fSEmmanuel Vadot interrupts = <11 10>; 51c66ec88fSEmmanuel Vadot resets = <&src 2>; 52c66ec88fSEmmanuel Vadot 53c66ec88fSEmmanuel Vadot ipu_di0: port@2 { 54c66ec88fSEmmanuel Vadot reg = <2>; 55c66ec88fSEmmanuel Vadot 56c66ec88fSEmmanuel Vadot ipu_di0_disp0: endpoint { 57c66ec88fSEmmanuel Vadot remote-endpoint = <&display_in>; 58c66ec88fSEmmanuel Vadot }; 59c66ec88fSEmmanuel Vadot }; 60c66ec88fSEmmanuel Vadot}; 61c66ec88fSEmmanuel Vadot 62c66ec88fSEmmanuel VadotFreescale i.MX PRE (Prefetch Resolve Engine) 63c66ec88fSEmmanuel Vadot============================================ 64c66ec88fSEmmanuel Vadot 65c66ec88fSEmmanuel VadotRequired properties: 66c66ec88fSEmmanuel Vadot- compatible: should be "fsl,imx6qp-pre" 67c66ec88fSEmmanuel Vadot- reg: should be register base and length as documented in the 68c66ec88fSEmmanuel Vadot datasheet 69c66ec88fSEmmanuel Vadot- clocks : phandle to the PRE axi clock input, as described 70c66ec88fSEmmanuel Vadot in Documentation/devicetree/bindings/clock/clock-bindings.txt and 71c66ec88fSEmmanuel Vadot Documentation/devicetree/bindings/clock/imx6q-clock.yaml. 72c66ec88fSEmmanuel Vadot- clock-names: should be "axi" 73c66ec88fSEmmanuel Vadot- interrupts: should contain the PRE interrupt 74c66ec88fSEmmanuel Vadot- fsl,iram: phandle pointing to the mmio-sram device node, that should be 75c66ec88fSEmmanuel Vadot used for the PRE SRAM double buffer. 76c66ec88fSEmmanuel Vadot 77c66ec88fSEmmanuel Vadotexample: 78c66ec88fSEmmanuel Vadot 79c66ec88fSEmmanuel Vadotpre@21c8000 { 80c66ec88fSEmmanuel Vadot compatible = "fsl,imx6qp-pre"; 81c66ec88fSEmmanuel Vadot reg = <0x021c8000 0x1000>; 82c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 90 IRQ_TYPE_EDGE_RISING>; 83c66ec88fSEmmanuel Vadot clocks = <&clks IMX6QDL_CLK_PRE0>; 84c66ec88fSEmmanuel Vadot clock-names = "axi"; 85c66ec88fSEmmanuel Vadot fsl,iram = <&ocram2>; 86c66ec88fSEmmanuel Vadot}; 87c66ec88fSEmmanuel Vadot 88c66ec88fSEmmanuel VadotFreescale i.MX PRG (Prefetch Resolve Gasket) 89c66ec88fSEmmanuel Vadot============================================ 90c66ec88fSEmmanuel Vadot 91c66ec88fSEmmanuel VadotRequired properties: 92c66ec88fSEmmanuel Vadot- compatible: should be "fsl,imx6qp-prg" 93c66ec88fSEmmanuel Vadot- reg: should be register base and length as documented in the 94c66ec88fSEmmanuel Vadot datasheet 95c66ec88fSEmmanuel Vadot- clocks : phandles to the PRG ipg and axi clock inputs, as described 96c66ec88fSEmmanuel Vadot in Documentation/devicetree/bindings/clock/clock-bindings.txt and 97c66ec88fSEmmanuel Vadot Documentation/devicetree/bindings/clock/imx6q-clock.yaml. 98c66ec88fSEmmanuel Vadot- clock-names: should be "ipg" and "axi" 99c66ec88fSEmmanuel Vadot- fsl,pres: phandles to the PRE units attached to this PRG, with the fixed 100c66ec88fSEmmanuel Vadot PRE as the first entry and the muxable PREs following. 101c66ec88fSEmmanuel Vadot 102c66ec88fSEmmanuel Vadotexample: 103c66ec88fSEmmanuel Vadot 104c66ec88fSEmmanuel Vadotprg@21cc000 { 105c66ec88fSEmmanuel Vadot compatible = "fsl,imx6qp-prg"; 106c66ec88fSEmmanuel Vadot reg = <0x021cc000 0x1000>; 107c66ec88fSEmmanuel Vadot clocks = <&clks IMX6QDL_CLK_PRG0_APB>, 108c66ec88fSEmmanuel Vadot <&clks IMX6QDL_CLK_PRG0_AXI>; 109c66ec88fSEmmanuel Vadot clock-names = "ipg", "axi"; 110c66ec88fSEmmanuel Vadot fsl,pres = <&pre1>, <&pre2>, <&pre3>; 111c66ec88fSEmmanuel Vadot}; 112c66ec88fSEmmanuel Vadot 113c66ec88fSEmmanuel VadotParallel display support 114c66ec88fSEmmanuel Vadot======================== 115c66ec88fSEmmanuel Vadot 116c66ec88fSEmmanuel VadotRequired properties: 117c66ec88fSEmmanuel Vadot- compatible: Should be "fsl,imx-parallel-display" 118c66ec88fSEmmanuel VadotOptional properties: 119c66ec88fSEmmanuel Vadot- interface-pix-fmt: How this display is connected to the 120c66ec88fSEmmanuel Vadot display interface. Currently supported types: "rgb24", "rgb565", "bgr666" 121c66ec88fSEmmanuel Vadot and "lvds666". 122c66ec88fSEmmanuel Vadot- edid: verbatim EDID data block describing attached display. 123c66ec88fSEmmanuel Vadot- ddc: phandle describing the i2c bus handling the display data 124c66ec88fSEmmanuel Vadot channel 125c66ec88fSEmmanuel Vadot- port@[0-1]: Port nodes with endpoint definitions as defined in 126c66ec88fSEmmanuel Vadot Documentation/devicetree/bindings/media/video-interfaces.txt. 127c66ec88fSEmmanuel Vadot Port 0 is the input port connected to the IPU display interface, 128c66ec88fSEmmanuel Vadot port 1 is the output port connected to a panel. 129c66ec88fSEmmanuel Vadot 130c66ec88fSEmmanuel Vadotexample: 131c66ec88fSEmmanuel Vadot 132c66ec88fSEmmanuel Vadotdisp0 { 133c66ec88fSEmmanuel Vadot compatible = "fsl,imx-parallel-display"; 134c66ec88fSEmmanuel Vadot edid = [edid-data]; 135c66ec88fSEmmanuel Vadot interface-pix-fmt = "rgb24"; 136c66ec88fSEmmanuel Vadot 137c66ec88fSEmmanuel Vadot port@0 { 138c66ec88fSEmmanuel Vadot reg = <0>; 139c66ec88fSEmmanuel Vadot 140c66ec88fSEmmanuel Vadot display_in: endpoint { 141c66ec88fSEmmanuel Vadot remote-endpoint = <&ipu_di0_disp0>; 142c66ec88fSEmmanuel Vadot }; 143c66ec88fSEmmanuel Vadot }; 144c66ec88fSEmmanuel Vadot 145c66ec88fSEmmanuel Vadot port@1 { 146c66ec88fSEmmanuel Vadot reg = <1>; 147c66ec88fSEmmanuel Vadot 148c66ec88fSEmmanuel Vadot display_out: endpoint { 149c66ec88fSEmmanuel Vadot remote-endpoint = <&panel_in>; 150c66ec88fSEmmanuel Vadot }; 151c66ec88fSEmmanuel Vadot }; 152c66ec88fSEmmanuel Vadot}; 153c66ec88fSEmmanuel Vadot 154c66ec88fSEmmanuel Vadotpanel { 155c66ec88fSEmmanuel Vadot ... 156c66ec88fSEmmanuel Vadot 157c66ec88fSEmmanuel Vadot port { 158c66ec88fSEmmanuel Vadot panel_in: endpoint { 159c66ec88fSEmmanuel Vadot remote-endpoint = <&display_out>; 160c66ec88fSEmmanuel Vadot }; 161c66ec88fSEmmanuel Vadot }; 162c66ec88fSEmmanuel Vadot}; 163