xref: /rk3399_ARM-atf/plat/brcm/board/common/cmn_plat_util.h (revision 717448d622b13233e15aa43767fc8aa2f007486c)
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