arm64: tegra: Add the memory subsystem on Tegra194
authorThierry Reding <treding@nvidia.com>
Sun, 22 Dec 2019 14:10:35 +0000 (15:10 +0100)
committerThierry Reding <treding@nvidia.com>
Thu, 9 Jan 2020 18:15:09 +0000 (19:15 +0100)
commitbe9b887f3bbafcdbbfd6eb77c89c04776c63718e
tree62d1f5abe9f0efb227b2b589d9f97060604d2d10
parent3f6eaef9ab37d1fc42a17ba2fcbc95b3de9ed52f
arm64: tegra: Add the memory subsystem on Tegra194

The memory subsystem on Tegra194 encompasses both the memory and
external memory controllers. The EMC is represented as a subnode of the
MC and a ranges property is used to describe the register ranges.

A dma-ranges property is also added to describe that all memory clients
can address up to 39 bits using the memory controller client interface
(MCCIF), unless otherwise limited by the DMA engines of the hardware. A
memory client can technically use 40 bits of addresses, but the memory
controller on Tegra194 uses bit 39 to determine the XBAR format used to
access memory. Use of this bit needs to be explicitly controlled by the
operating system drivers for devices that can use this on-the-fly format
conversion. Using the dma-ranges property prevents the operating system
from using the bit implicitly, for example in I/O virtual address
mappings.

Signed-off-by: Thierry Reding <treding@nvidia.com>
arch/arm64/boot/dts/nvidia/tegra194-p2888.dtsi
arch/arm64/boot/dts/nvidia/tegra194.dtsi