1*c66ec88fSEmmanuel VadotNVIDIA Tegra Video Decoder Engine
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotRequired properties:
4*c66ec88fSEmmanuel Vadot- compatible : Must contain one of the following values:
5*c66ec88fSEmmanuel Vadot   - "nvidia,tegra20-vde"
6*c66ec88fSEmmanuel Vadot   - "nvidia,tegra30-vde"
7*c66ec88fSEmmanuel Vadot   - "nvidia,tegra114-vde"
8*c66ec88fSEmmanuel Vadot   - "nvidia,tegra124-vde"
9*c66ec88fSEmmanuel Vadot   - "nvidia,tegra132-vde"
10*c66ec88fSEmmanuel Vadot- reg : Must contain an entry for each entry in reg-names.
11*c66ec88fSEmmanuel Vadot- reg-names : Must include the following entries:
12*c66ec88fSEmmanuel Vadot  - sxe
13*c66ec88fSEmmanuel Vadot  - bsev
14*c66ec88fSEmmanuel Vadot  - mbe
15*c66ec88fSEmmanuel Vadot  - ppe
16*c66ec88fSEmmanuel Vadot  - mce
17*c66ec88fSEmmanuel Vadot  - tfe
18*c66ec88fSEmmanuel Vadot  - ppb
19*c66ec88fSEmmanuel Vadot  - vdma
20*c66ec88fSEmmanuel Vadot  - frameid
21*c66ec88fSEmmanuel Vadot- iram : Must contain phandle to the mmio-sram device node that represents
22*c66ec88fSEmmanuel Vadot         IRAM region used by VDE.
23*c66ec88fSEmmanuel Vadot- interrupts : Must contain an entry for each entry in interrupt-names.
24*c66ec88fSEmmanuel Vadot- interrupt-names : Must include the following entries:
25*c66ec88fSEmmanuel Vadot  - sync-token
26*c66ec88fSEmmanuel Vadot  - bsev
27*c66ec88fSEmmanuel Vadot  - sxe
28*c66ec88fSEmmanuel Vadot- clocks : Must include the following entries:
29*c66ec88fSEmmanuel Vadot  - vde
30*c66ec88fSEmmanuel Vadot- resets : Must contain an entry for each entry in reset-names.
31*c66ec88fSEmmanuel Vadot- reset-names : Should include the following entries:
32*c66ec88fSEmmanuel Vadot  - vde
33*c66ec88fSEmmanuel Vadot
34*c66ec88fSEmmanuel VadotOptional properties:
35*c66ec88fSEmmanuel Vadot- resets : Must contain an entry for each entry in reset-names.
36*c66ec88fSEmmanuel Vadot- reset-names : Must include the following entries:
37*c66ec88fSEmmanuel Vadot  - mc
38*c66ec88fSEmmanuel Vadot- iommus: Must contain phandle to the IOMMU device node.
39*c66ec88fSEmmanuel Vadot
40*c66ec88fSEmmanuel VadotExample:
41*c66ec88fSEmmanuel Vadot
42*c66ec88fSEmmanuel Vadotvideo-codec@6001a000 {
43*c66ec88fSEmmanuel Vadot	compatible = "nvidia,tegra20-vde";
44*c66ec88fSEmmanuel Vadot	reg = <0x6001a000 0x1000 /* Syntax Engine */
45*c66ec88fSEmmanuel Vadot	       0x6001b000 0x1000 /* Video Bitstream Engine */
46*c66ec88fSEmmanuel Vadot	       0x6001c000  0x100 /* Macroblock Engine */
47*c66ec88fSEmmanuel Vadot	       0x6001c200  0x100 /* Post-processing Engine */
48*c66ec88fSEmmanuel Vadot	       0x6001c400  0x100 /* Motion Compensation Engine */
49*c66ec88fSEmmanuel Vadot	       0x6001c600  0x100 /* Transform Engine */
50*c66ec88fSEmmanuel Vadot	       0x6001c800  0x100 /* Pixel prediction block */
51*c66ec88fSEmmanuel Vadot	       0x6001ca00  0x100 /* Video DMA */
52*c66ec88fSEmmanuel Vadot	       0x6001d800  0x300 /* Video frame controls */>;
53*c66ec88fSEmmanuel Vadot	reg-names = "sxe", "bsev", "mbe", "ppe", "mce",
54*c66ec88fSEmmanuel Vadot		    "tfe", "ppb", "vdma", "frameid";
55*c66ec88fSEmmanuel Vadot	iram = <&vde_pool>; /* IRAM region */
56*c66ec88fSEmmanuel Vadot	interrupts = <GIC_SPI  9 IRQ_TYPE_LEVEL_HIGH>, /* Sync token interrupt */
57*c66ec88fSEmmanuel Vadot		     <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, /* BSE-V interrupt */
58*c66ec88fSEmmanuel Vadot		     <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; /* SXE interrupt */
59*c66ec88fSEmmanuel Vadot	interrupt-names = "sync-token", "bsev", "sxe";
60*c66ec88fSEmmanuel Vadot	clocks = <&tegra_car TEGRA20_CLK_VDE>;
61*c66ec88fSEmmanuel Vadot	reset-names = "vde", "mc";
62*c66ec88fSEmmanuel Vadot	resets = <&tegra_car 61>, <&mc TEGRA20_MC_RESET_VDE>;
63*c66ec88fSEmmanuel Vadot	iommus = <&mc TEGRA_SWGROUP_VDE>;
64*c66ec88fSEmmanuel Vadot};
65