]> git.ipfire.org Git - people/ms/u-boot.git/commit
powerpc/mpc85xx: T104x: Add nand secure boot target
authorSumit Garg <sumit.garg@nxp.com>
Thu, 14 Jul 2016 16:27:52 +0000 (12:27 -0400)
committerYork Sun <york.sun@nxp.com>
Thu, 21 Jul 2016 18:09:34 +0000 (11:09 -0700)
commitaa36c84edfcfd8c7d0348511e7b0fbb43514cd35
tree60a938b880f3b42c9077b65779a1c791dbd7d121
parent8f01397ba76d1ee210bedbf031d807e8df34c482
powerpc/mpc85xx: T104x: Add nand secure boot target

For mpc85xx SoCs, the core begins execution from address 0xFFFFFFFC.
In non-secure boot scenario from NAND, this address will map to CPC
configured as SRAM. But in case of secure boot, this default address
always maps to IBR (Internal Boot ROM).
The IBR code requires that the bootloader(U-boot) must lie in 0 to 3.5G
address space i.e. 0x0 - 0xDFFFFFFF.

For secure boot target from NAND, the text base for SPL is kept same as
non-secure boot target i.e. 0xFFFx_xxxx but the SPL U-boot binary will
be copied to CPC configured as SRAM with address in 0-3.5G(0xBFFC_0000)
As a the virtual and physical address of CPC would be different. The
virtual address 0xFFFx_xxxx needs to be mapped to physical address
0xBFFx_xxxx.

Create a new PBI file to configure CPC as SRAM with address 0xBFFC0000
and update DCFG SCRTACH1 register with location of Header required for
secure boot.

The changes are similar to
commit 467a40dfe35f48d830f01a72617207d03ca85b4d
    powerpc/mpc85xx: SECURE BOOT- NAND secure boot target for P3041

While P3041 has a 1MB CPC and does not require SPL. On T104x, CPC
is only 256K and thus SPL framework is used.
The changes are only applicable for SPL U-Boot running out of CPC SRAM
and not the next level U-Boot loaded on DDR.

Reviewed-by: Ruchika Gupta <ruchika.gupta@nxp.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Aneesh Bansal <aneesh.bansal@nxp.com>
Signed-off-by: Sumit Garg <sumit.garg@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
arch/powerpc/cpu/mpc85xx/cpu_init.c
arch/powerpc/cpu/mpc85xx/start.S
arch/powerpc/include/asm/fsl_secure_boot.h
board/freescale/t104xrdb/t104x_pbi_sb.cfg [new file with mode: 0644]
board/freescale/t104xrdb/tlb.c
configs/T1042RDB_PI_NAND_SECURE_BOOT_defconfig [new file with mode: 0644]
include/configs/T104xRDB.h