1*717448d6SSheetal Tigadoli /* 2*717448d6SSheetal Tigadoli * Copyright (c) 2015 - 2020, Broadcom 3*717448d6SSheetal Tigadoli * 4*717448d6SSheetal Tigadoli * SPDX-License-Identifier: BSD-3-Clause 5*717448d6SSheetal Tigadoli */ 6*717448d6SSheetal Tigadoli 7*717448d6SSheetal Tigadoli #ifndef CMN_PLAT_UTIL_H 8*717448d6SSheetal Tigadoli #define CMN_PLAT_UTIL_H 9*717448d6SSheetal Tigadoli 10*717448d6SSheetal Tigadoli #include <lib/mmio.h> 11*717448d6SSheetal Tigadoli 12*717448d6SSheetal Tigadoli /* BOOT source */ 13*717448d6SSheetal Tigadoli #define BOOT_SOURCE_MASK 7 14*717448d6SSheetal Tigadoli #define BOOT_SOURCE_QSPI 0 15*717448d6SSheetal Tigadoli #define BOOT_SOURCE_NAND 1 16*717448d6SSheetal Tigadoli #define BOOT_SOURCE_SPI_NAND 2 17*717448d6SSheetal Tigadoli #define BOOT_SOURCE_UART 3 18*717448d6SSheetal Tigadoli #define BOOT_SOURCE_RES4 4 19*717448d6SSheetal Tigadoli #define BOOT_SOURCE_EMMC 5 20*717448d6SSheetal Tigadoli #define BOOT_SOURCE_ATE 6 21*717448d6SSheetal Tigadoli #define BOOT_SOURCE_USB 7 22*717448d6SSheetal Tigadoli #define BOOT_SOURCE_MAX 8 23*717448d6SSheetal Tigadoli #define BOOT_SOURCE_UNKNOWN (-1) 24*717448d6SSheetal Tigadoli 25*717448d6SSheetal Tigadoli #define KHMAC_SHA256_KEY_SIZE 32 26*717448d6SSheetal Tigadoli 27*717448d6SSheetal Tigadoli #define SOFT_PWR_UP_RESET_L0 0 28*717448d6SSheetal Tigadoli #define SOFT_SYS_RESET_L1 1 29*717448d6SSheetal Tigadoli #define SOFT_RESET_L3 0x3 30*717448d6SSheetal Tigadoli 31*717448d6SSheetal Tigadoli #define BOOT_SOURCE_SOFT_DATA_OFFSET 8 32*717448d6SSheetal Tigadoli #define BOOT_SOURCE_SOFT_ENABLE_OFFSET 14 33*717448d6SSheetal Tigadoli #define BOOT_SOURCE_SOFT_ENABLE_MASK BIT(BOOT_SOURCE_SOFT_ENABLE_OFFSET) 34*717448d6SSheetal Tigadoli 35*717448d6SSheetal Tigadoli typedef struct _key { 36*717448d6SSheetal Tigadoli uint8_t hmac_sha256[KHMAC_SHA256_KEY_SIZE]; 37*717448d6SSheetal Tigadoli } cmn_key_t; 38*717448d6SSheetal Tigadoli 39*717448d6SSheetal Tigadoli uint32_t boot_source_get(void); 40*717448d6SSheetal Tigadoli void bl1_platform_wait_events(void); 41*717448d6SSheetal Tigadoli void plat_soft_reset(uint32_t reset); 42*717448d6SSheetal Tigadoli 43*717448d6SSheetal Tigadoli #endif 44