armv8: fsl-layerscape: Fix early MMU table for nand boot
authorYork Sun <yorksun@freescale.com>
Wed, 25 Nov 2015 22:56:40 +0000 (14:56 -0800)
committerYork Sun <yorksun@freescale.com>
Mon, 30 Nov 2015 17:11:13 +0000 (09:11 -0800)
The early MMU table doesn't enable all addresses. Unused addresses
are marked as invalid, as introduced by commit 9979922. An entry
was missing for NAND flash space, causing nand boot failure.

Signed-off-by: York Sun <yorksun@freescale.com>
CC: Alison Wang <alison.wang@freescale.com>
CC: Prabhakar Kushwaha <prabhakar@freescale.com>
arch/arm/include/asm/arch-fsl-layerscape/cpu.h

index 727fd24937f73520a6d7efd6d895ee84138838d7..454409488a751a3db4144fdaf0b60ab54dc09a0b 100644 (file)
@@ -130,6 +130,10 @@ static const struct sys_mmu_table early_mmu_table[] = {
          CONFIG_SYS_FSL_IFC_SIZE1, MT_DEVICE_NGNRNE, PMD_SECT_NON_SHARE },
        { CONFIG_SYS_FSL_DRAM_BASE1, CONFIG_SYS_FSL_DRAM_BASE1,
          CONFIG_SYS_FSL_DRAM_SIZE1, MT_NORMAL, PMD_SECT_OUTER_SHARE },
+       /* Map IFC region #2 up to CONFIG_SYS_FLASH_BASE for NAND boot */
+       { CONFIG_SYS_FSL_IFC_BASE2, CONFIG_SYS_FSL_IFC_BASE2,
+         CONFIG_SYS_FLASH_BASE - CONFIG_SYS_FSL_IFC_BASE2,
+         MT_DEVICE_NGNRNE, PMD_SECT_NON_SHARE },
        { CONFIG_SYS_FSL_DCSR_BASE, CONFIG_SYS_FSL_DCSR_BASE,
          CONFIG_SYS_FSL_DCSR_SIZE, MT_DEVICE_NGNRNE,
          PMD_SECT_NON_SHARE | PMD_SECT_PXN | PMD_SECT_UXN },