From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Warren Date: Thu, 31 Jul 2014 13:45:32 -0600 Subject: [U-Boot] [PATCH] ARM: tegra: Use mem size from MC rather than ODMDATA In-Reply-To: <1404331950-4916-1-git-send-email-swarren@wwwdotorg.org> References: <1404331950-4916-1-git-send-email-swarren@wwwdotorg.org> Message-ID: <53DA9CDC.3010402@wwwdotorg.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 07/02/2014 02:12 PM, Stephen Warren wrote: > From: Stephen Warren > > 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. I noticed that this patch triggers a bug in DT relocation during bootm/bootz. It'd be best if the following were applied somewhere before this patch: http://patchwork.ozlabs.org/patch/375408/ lib: lmb: fix overflow in __lmb_alloc_base w/ large RAM That's because this patch changes the RAM size on Tegra124 from 2GB-1MB to 2GB. I believe that change is correct, it just triggers an overflow in U-Boot's RAM handling which needs to be fixed first. In practice, I suspect even if this dependency is ignored, there will be no user-visible impact, because the default environment in Tegra U-Boot disables DT relocation completely. This problem would only affect someone who flashed/ran a U-Boot with this patch without resetting their environment to the default that's embedded into the new U-Boot, and their environment in flash was older than when we disabled DT relocation. Since tegra-uboot-flasher always does reset the environment, I expect most people would never notice this.