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