198cb0efdSgaurav rana /* 298cb0efdSgaurav rana * Copyright 2015 Freescale Semiconductor, Inc. 398cb0efdSgaurav rana * 498cb0efdSgaurav rana * SPDX-License-Identifier: GPL-2.0+ 598cb0efdSgaurav rana */ 698cb0efdSgaurav rana 798cb0efdSgaurav rana #ifndef __FSL_SECURE_BOOT_H 898cb0efdSgaurav rana #define __FSL_SECURE_BOOT_H 998cb0efdSgaurav rana 1098cb0efdSgaurav rana #ifdef CONFIG_SECURE_BOOT 11bdc22074SAneesh Bansal 12bdc22074SAneesh Bansal #ifndef CONFIG_FIT_SIGNATURE 13bdc22074SAneesh Bansal #define CONFIG_CHAIN_OF_TRUST 14bdc22074SAneesh Bansal #endif 15bdc22074SAneesh Bansal 16bdc22074SAneesh Bansal #endif 17bdc22074SAneesh Bansal 18bdc22074SAneesh Bansal #ifdef CONFIG_CHAIN_OF_TRUST 192ed948f4SAneesh Bansal #define CONFIG_CMD_ESBC_VALIDATE 2074eecd82SAneesh Bansal #define CONFIG_CMD_BLOB 21fcfdb6d5SSaksham Jain #define CONFIG_CMD_HASH 222ed948f4SAneesh Bansal #define CONFIG_FSL_SEC_MON 23fcfdb6d5SSaksham Jain #define CONFIG_SHA_HW_ACCEL 242ed948f4SAneesh Bansal #define CONFIG_SHA_PROG_HW_ACCEL 252ed948f4SAneesh Bansal #define CONFIG_RSA_FREESCALE_EXP 269711f528SAneesh Bansal 272ed948f4SAneesh Bansal #ifndef CONFIG_FSL_CAAM 282ed948f4SAneesh Bansal #define CONFIG_FSL_CAAM 292ed948f4SAneesh Bansal #endif 302ed948f4SAneesh Bansal 312ed948f4SAneesh Bansal #define CONFIG_KEY_REVOCATION 322ed948f4SAneesh Bansal #ifndef CONFIG_SYS_RAMBOOT 332ed948f4SAneesh Bansal /* The key used for verification of next level images 342ed948f4SAneesh Bansal * is picked up from an Extension Table which has 352ed948f4SAneesh Bansal * been verified by the ISBC (Internal Secure boot Code) 362ed948f4SAneesh Bansal * in boot ROM of the SoC. 372ed948f4SAneesh Bansal * The feature is only applicable in case of NOR boot and is 382ed948f4SAneesh Bansal * not applicable in case of RAMBOOT (NAND, SD, SPI). 392ed948f4SAneesh Bansal */ 40fd6dbc98SSaksham Jain #ifndef CONFIG_ESBC_HDR_LS 41fd6dbc98SSaksham Jain /* Current Key EXT feature not available in LS ESBC Header */ 422ed948f4SAneesh Bansal #define CONFIG_FSL_ISBC_KEY_EXT 432ed948f4SAneesh Bansal #endif 442ed948f4SAneesh Bansal 45fd6dbc98SSaksham Jain #endif 46fd6dbc98SSaksham Jain 47fcfdb6d5SSaksham Jain #if defined(CONFIG_LS1043A) || defined(CONFIG_LS2080A) ||\ 48fcfdb6d5SSaksham Jain defined(CONFIG_LS2085A) 49fcfdb6d5SSaksham Jain /* For LS1043 (ARMv8), ESBC image Address in Header is 64 bit 50fcfdb6d5SSaksham Jain * Similiarly for LS2080 and LS2085 51fcfdb6d5SSaksham Jain */ 52ef6c55a2SAneesh Bansal #define CONFIG_ESBC_ADDR_64BIT 53ef6c55a2SAneesh Bansal #endif 54ef6c55a2SAneesh Bansal 55*bef238cbSSaksham Jain #if defined(CONFIG_LS2080A) || defined(CONFIG_LS2085A) 56*bef238cbSSaksham Jain #define CONFIG_EXTRA_ENV \ 57*bef238cbSSaksham Jain "setenv fdt_high 0xa0000000;" \ 58*bef238cbSSaksham Jain "setenv initrd_high 0xcfffffff;" \ 59*bef238cbSSaksham Jain "setenv hwconfig \'fsl_ddr:ctlr_intlv=null,bank_intlv=null\';" 60*bef238cbSSaksham Jain #else 6198cb0efdSgaurav rana #define CONFIG_EXTRA_ENV \ 6298cb0efdSgaurav rana "setenv fdt_high 0xcfffffff;" \ 6398cb0efdSgaurav rana "setenv initrd_high 0xcfffffff;" \ 6498cb0efdSgaurav rana "setenv hwconfig \'fsl_ddr:ctlr_intlv=null,bank_intlv=null\';" 65*bef238cbSSaksham Jain #endif 6698cb0efdSgaurav rana 673f701cc5SSaksham Jain /* Copying Bootscript and Header to DDR from NOR for LS2 and for rest, from 683f701cc5SSaksham Jain * Non-XIP Memory (Nand/SD)*/ 693f701cc5SSaksham Jain #if defined(CONFIG_SYS_RAMBOOT) || defined(CONFIG_LS2080A) ||\ 703f701cc5SSaksham Jain defined(CONFIG_LS2085A) 713f701cc5SSaksham Jain #define CONFIG_BOOTSCRIPT_COPY_RAM 723f701cc5SSaksham Jain #endif 733f701cc5SSaksham Jain /* The address needs to be modified according to NOR and DDR memory map */ 74216e93a1SSaksham Jain #if defined(CONFIG_LS2080A) || defined(CONFIG_LS2085A) 753f701cc5SSaksham Jain #define CONFIG_BS_HDR_ADDR_FLASH 0x583920000 763f701cc5SSaksham Jain #define CONFIG_BS_ADDR_FLASH 0x583900000 773f701cc5SSaksham Jain #define CONFIG_BS_HDR_ADDR_RAM 0xa3920000 783f701cc5SSaksham Jain #define CONFIG_BS_ADDR_RAM 0xa3900000 79216e93a1SSaksham Jain #else 803f701cc5SSaksham Jain #define CONFIG_BS_HDR_ADDR_FLASH 0x600a0000 813f701cc5SSaksham Jain #define CONFIG_BS_ADDR_FLASH 0x60060000 823f701cc5SSaksham Jain #define CONFIG_BS_HDR_ADDR_RAM 0xa0060000 833f701cc5SSaksham Jain #define CONFIG_BS_ADDR_RAM 0xa0060000 843f701cc5SSaksham Jain #endif 853f701cc5SSaksham Jain 863f701cc5SSaksham Jain #ifdef CONFIG_BOOTSCRIPT_COPY_RAM 873f701cc5SSaksham Jain #define CONFIG_BOOTSCRIPT_HDR_ADDR CONFIG_BS_HDR_ADDR_RAM 883f701cc5SSaksham Jain #define CONFIG_BS_HDR_SIZE 0x00002000 893f701cc5SSaksham Jain #define CONFIG_BOOTSCRIPT_ADDR CONFIG_BS_ADDR_RAM 903f701cc5SSaksham Jain #define CONFIG_BS_SIZE 0x00001000 913f701cc5SSaksham Jain #else 923f701cc5SSaksham Jain #define CONFIG_BOOTSCRIPT_HDR_ADDR CONFIG_BS_HDR_ADDR_FLASH 933f701cc5SSaksham Jain /* BS_HDR_SIZE, BOOTSCRIPT_ADDR and BS_SIZE are not required */ 94216e93a1SSaksham Jain #endif 9598cb0efdSgaurav rana 96bdc22074SAneesh Bansal #include <config_fsl_chain_trust.h> 97bdc22074SAneesh Bansal #endif /* #ifdef CONFIG_CHAIN_OF_TRUST */ 9898cb0efdSgaurav rana #endif 99