| Device-tree bindings for the VPU found in Allwinner SoCs, referred to as the |
| Video Engine (VE) in Allwinner literature. |
| |
| The VPU can only access the first 256 MiB of DRAM, that are DMA-mapped starting |
| from the DRAM base. This requires specific memory allocation and handling. |
| |
| Required properties: |
| - compatible : must be one of the following compatibles: |
| - "allwinner,sun4i-a10-video-engine" |
| - "allwinner,sun5i-a13-video-engine" |
| - "allwinner,sun7i-a20-video-engine" |
| - "allwinner,sun8i-a33-video-engine" |
| - "allwinner,sun8i-h3-video-engine" |
| - "allwinner,sun50i-a64-video-engine" |
| - "allwinner,sun50i-h5-video-engine" |
| - "allwinner,sun50i-h6-video-engine" |
| - reg : register base and length of VE; |
| - clocks : list of clock specifiers, corresponding to entries in |
| the clock-names property; |
| - clock-names : should contain "ahb", "mod" and "ram" entries; |
| - resets : phandle for reset; |
| - interrupts : VE interrupt number; |
| - allwinner,sram : SRAM region to use with the VE. |
| |
| Optional properties: |
| - memory-region : CMA pool to use for buffers allocation instead of the |
| default CMA pool. |
| |
| Example: |
| |
| reserved-memory { |
| #address-cells = <1>; |
| #size-cells = <1>; |
| ranges; |
| |
| /* Address must be kept in the lower 256 MiBs of DRAM for VE. */ |
| cma_pool: default-pool { |
| compatible = "shared-dma-pool"; |
| size = <0x6000000>; |
| alloc-ranges = <0x4a000000 0x6000000>; |
| reusable; |
| linux,cma-default; |
| }; |
| }; |
| |
| video-codec@1c0e000 { |
| compatible = "allwinner,sun7i-a20-video-engine"; |
| reg = <0x01c0e000 0x1000>; |
| |
| clocks = <&ccu CLK_AHB_VE>, <&ccu CLK_VE>, |
| <&ccu CLK_DRAM_VE>; |
| clock-names = "ahb", "mod", "ram"; |
| |
| resets = <&ccu RST_VE>; |
| interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; |
| allwinner,sram = <&ve_sram 1>; |
| }; |