diff options
Diffstat (limited to 'Documentation/devicetree/bindings/dma/xilinx/xilinx_dpdma.txt')
-rw-r--r-- | Documentation/devicetree/bindings/dma/xilinx/xilinx_dpdma.txt | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/dma/xilinx/xilinx_dpdma.txt b/Documentation/devicetree/bindings/dma/xilinx/xilinx_dpdma.txt new file mode 100644 index 000000000000..5f1e680ffcc2 --- /dev/null +++ b/Documentation/devicetree/bindings/dma/xilinx/xilinx_dpdma.txt @@ -0,0 +1,91 @@ +Device-Tree bindings for Xilinx ZynqMP DisplayPort Subsystem + +The ZynqMP DisplayPort subsystem handles DMA channel buffer management, +blending, and audio mixing. The DisplayPort subsystem receives display +and audio frames from DPDMA and transmits output to the DisplayPort IP core. + +Required properties: + - compatible: Should be "xlnx,dpdma". + - reg: Base address and size of the IP core. + - interrupts: Interrupt number. + - interrupts-parent: phandle for interrupt controller. + - clocks: phandle for AXI clock + - clock-names: The identification string, "axi_clk", is always required. + +Required child node properties: +- compatible: Should be one of "xlnx,video0", "xlnx,video1", "xlnx,video2", + "xlnx,graphics", "xlnx,audio0", or "xlnx,audio1". + +Example: + + xlnx_dpdma: axidpdma@43c10000 { + compatible = "xlnx,dpdma"; + reg = <0x43c10000 0x1000>; + interrupts = <0 54 4>; + interrupt-parent = <&intc>; + clocks = <&clkc 16>; + clock-names = "axi_clk"; + xlnx,axi-clock-freq = <200000000>; + + dma-channels = <6>; + + #dma-cells = <1>; + dma-video0channel@43c10000 { + compatible = "xlnx,video0"; + }; + dma-video1channel@43c10000 { + compatible = "xlnx,video1"; + }; + dma-video2channel@43c10000 { + compatible = "xlnx,video2"; + }; + dma-graphicschannel@43c10000 { + compatible = "xlnx,graphics"; + }; + dma-audio0channel@43c10000 { + compatible = "xlnx,audio0"; + }; + dma-audio1channel@43c10000 { + compatible = "xlnx,audio1"; + }; + }; + +* DMA client + +Required properties: +- dmas: a list of <[DPDMA device phandle] [Channel ID]> pairs. "Channel ID" + is defined as video0 = 0, video1 = 1, video2 = 2, graphics = 3, audio0 = 4, + and audio1 = 5. + +Example: + + xilinx_drm { + compatible = "xlnx,drm"; + xlnx,encoder-slave = <&xlnx_dp>; + clocks = <&si570 0>; + xlnx,connector-type = "DisplayPort"; + xlnx,dp-sub = <&xlnx_dp_sub>; + planes { + xlnx,pixel-format = "rgb565"; + plane0 { + dmas = <&xlnx_dpdma 3>; + dma-names = "dma"; + }; + plane1 { + dmas = <&xlnx_dpdma 0>; + dma-names = "dma"; + }; + }; + }; + + xlnx_dp_snd_pcm0: dp_snd_pcm0 { + compatible = "xlnx,dp-snd-pcm"; + dmas = <&xlnx_dpdma 4>; + dma-names = "tx"; + }; + + xlnx_dp_snd_pcm1: dp_snd_pcm1 { + compatible = "xlnx,dp-snd-pcm"; + dmas = <&xlnx_dpdma 5>; + dma-names = "tx"; + }; |