ARM: tegra: Use mem size from MC rather than ODMDATA
authorStephen Warren <swarren@nvidia.com>
Wed, 2 Jul 2014 20:12:30 +0000 (14:12 -0600)
committerTom Warren <twarren@nvidia.com>
Mon, 18 Aug 2014 23:57:03 +0000 (16:57 -0700)
commitaeb3fcb35956461077804720b8a252d50758d7e0
treeb49a5e34ee8c34f2c08fd9cb63380bb3dd516217
parent39446bcefafa178e4072bd28c4f8325835d473d2
ARM: tegra: Use mem size from MC rather than ODMDATA

In at least Tegra124, the Tegra memory controller (MC) has a register
that controls the memory size. Read this to determine the memory size
rather than requiring this to be redundantly encoded into the ODMDATA.
This way, changes to the BCT (i.e. MC configuration) automatically
updated SW's view of the memory size, without requiring manual changes
to the ODMDATA.

Future work potentially required:
* Clip the memory size to architectural limits; U-Boot probably doesn't
  and won't support either LPAE or Tegra's "swiss cheese" memory layout,
  at least one of which would be required for >2GB RAM.
* Subtract out any carveout required by firmware on future SoCs.

Based-on-work-by: Tom Warren <twarren@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
arch/arm/cpu/tegra-common/board.c