ARM: tegra: represent RAM in 1 or 2 banks
authorStephen Warren <swarren@nvidia.com>
Fri, 7 Aug 2015 22:12:45 +0000 (16:12 -0600)
committerTom Warren <twarren@nvidia.com>
Thu, 13 Aug 2015 20:06:04 +0000 (13:06 -0700)
commitbbc1b99e8b8a1b87c2d0d959a1fcd1990abe82dd
tree4b298ee4094e9dd8686c3b5532566cf673baef00
parenta5fc3d0b35a7e83a05dc41c1b966710d28118a29
ARM: tegra: represent RAM in 1 or 2 banks

Represent all available RAM in either one or two banks. The first bank
describes any RAM below 4GB. The second bank describes any RAM above 4GB.

This split is driven by the following requirements:
- The NVIDIA L4T kernel requires separate entries in the DT /memory/reg
  property for memory below and above the 4GB boundary. The layout of that
  DT property is directly driven by the entries in the U-Boot bank array.
- On systems with RAM beyond a physical address of 4GB, the potential
  existence of a carve-out at the end of RAM below 4GB can only be
  represented using multiple banks, since usable RAM is not contiguous.

While making this change, add a lot more comments re: how and why RAM is
represented in banks, and implement a few more "semantic" functions that
define (and perhaps later detect at run-time) the size of any carve-out.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
arch/arm/mach-tegra/board2.c
include/configs/tegra-common.h