Skip to content
  • Sumit Garg's avatar
    powerpc/mpc85xx: T104x: Add nand secure boot target · aa36c84e
    Sumit Garg authored
    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 467a40df
    
    
        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: default avatarRuchika Gupta <ruchika.gupta@nxp.com>
    Reviewed-by: default avatarSimon Glass <sjg@chromium.org>
    Signed-off-by: default avatarAneesh Bansal <aneesh.bansal@nxp.com>
    Signed-off-by: default avatarSumit Garg <sumit.garg@nxp.com>
    Reviewed-by: default avatarYork Sun <york.sun@nxp.com>
    aa36c84e