ARM: mmu: Set TTBCR before enabling translation table.

The mmu_setup in current U-Boot only supports and sets translation table base
register 0 (TTB0) before enabling MMU. For systems previously reset or set
translation table base control register (TTBCR) to enable LPAE / TTB1, starting
MMU without resetting TTCBR will hang.

To fix this, we should always reset TTBCR before starting MMU.

BRANCH=nyan
BUG=chrome-os-partner:24981
TEST=emerge-nyan chromeos-u-boot # mmu_setup runs successfully as payload.
     USE=-depthcharge emerge-nyan chromeos-u-boot chromeos-bootimage # works.
     emerge-peach_pi chromeos-u-boot chromeos-bootimage # boots.

Change-Id: I57fc44057ae54316bd40eac6ad463ebb5576ff09
Signed-off-by: Hung-Te Lin <hungte@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/199730
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
1 file changed