xref: /freebsd-src/sys/contrib/device-tree/Bindings/memory-controllers/nvidia,tegra20-mc.txt (revision 5def4c47d4bd90b209b9b4a4ba9faec15846d8fd)
1c66ec88fSEmmanuel VadotNVIDIA Tegra20 MC(Memory Controller)
2c66ec88fSEmmanuel Vadot
3c66ec88fSEmmanuel VadotRequired properties:
4c66ec88fSEmmanuel Vadot- compatible : "nvidia,tegra20-mc-gart"
5c66ec88fSEmmanuel Vadot- reg : Should contain 2 register ranges: physical base address and length of
6c66ec88fSEmmanuel Vadot  the controller's registers and the GART aperture respectively.
7c66ec88fSEmmanuel Vadot- clocks: Must contain an entry for each entry in clock-names.
8c66ec88fSEmmanuel Vadot  See ../clocks/clock-bindings.txt for details.
9c66ec88fSEmmanuel Vadot- clock-names: Must include the following entries:
10c66ec88fSEmmanuel Vadot  - mc: the module's clock input
11c66ec88fSEmmanuel Vadot- interrupts : Should contain MC General interrupt.
12c66ec88fSEmmanuel Vadot- #reset-cells : Should be 1. This cell represents memory client module ID.
13c66ec88fSEmmanuel Vadot  The assignments may be found in header file <dt-bindings/memory/tegra20-mc.h>
14c66ec88fSEmmanuel Vadot  or in the TRM documentation.
15c66ec88fSEmmanuel Vadot- #iommu-cells: Should be 0. This cell represents the number of cells in an
16c66ec88fSEmmanuel Vadot  IOMMU specifier needed to encode an address. GART supports only a single
17c66ec88fSEmmanuel Vadot  address space that is shared by all devices, therefore no additional
18c66ec88fSEmmanuel Vadot  information needed for the address encoding.
19*5def4c47SEmmanuel Vadot- #interconnect-cells : Should be 1. This cell represents memory client.
20*5def4c47SEmmanuel Vadot  The assignments may be found in header file <dt-bindings/memory/tegra20-mc.h>.
21c66ec88fSEmmanuel Vadot
22c66ec88fSEmmanuel VadotExample:
23c66ec88fSEmmanuel Vadot	mc: memory-controller@7000f000 {
24c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra20-mc-gart";
25c66ec88fSEmmanuel Vadot		reg = <0x7000f000 0x400		/* controller registers */
26c66ec88fSEmmanuel Vadot		       0x58000000 0x02000000>;	/* GART aperture */
27c66ec88fSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_MC>;
28c66ec88fSEmmanuel Vadot		clock-names = "mc";
29c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 77 0x04>;
30c66ec88fSEmmanuel Vadot		#reset-cells = <1>;
31c66ec88fSEmmanuel Vadot		#iommu-cells = <0>;
32*5def4c47SEmmanuel Vadot		#interconnect-cells = <1>;
33c66ec88fSEmmanuel Vadot	};
34c66ec88fSEmmanuel Vadot
35c66ec88fSEmmanuel Vadot	video-codec@6001a000 {
36c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra20-vde";
37c66ec88fSEmmanuel Vadot		...
38c66ec88fSEmmanuel Vadot		resets = <&mc TEGRA20_MC_RESET_VDE>;
39c66ec88fSEmmanuel Vadot		iommus = <&mc>;
40c66ec88fSEmmanuel Vadot	};
41