xref: /OK3568_Linux_fs/u-boot/arch/arm/include/asm/armv8/sec_firmware.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /*
2*4882a593Smuzhiyun  * Copyright 2016 NXP Semiconductor, Inc.
3*4882a593Smuzhiyun  *
4*4882a593Smuzhiyun  * SPDX-License-Identifier:	GPL-2.0+
5*4882a593Smuzhiyun  */
6*4882a593Smuzhiyun 
7*4882a593Smuzhiyun #ifndef __SEC_FIRMWARE_H_
8*4882a593Smuzhiyun #define __SEC_FIRMWARE_H_
9*4882a593Smuzhiyun 
10*4882a593Smuzhiyun #define PSCI_INVALID_VER		0xffffffff
11*4882a593Smuzhiyun #define SEC_JR3_OFFSET			0x40000
12*4882a593Smuzhiyun 
13*4882a593Smuzhiyun int sec_firmware_init(const void *, u32 *, u32 *);
14*4882a593Smuzhiyun int _sec_firmware_entry(const void *, u32 *, u32 *);
15*4882a593Smuzhiyun bool sec_firmware_is_valid(const void *);
16*4882a593Smuzhiyun bool sec_firmware_support_hwrng(void);
17*4882a593Smuzhiyun int sec_firmware_get_random(uint8_t *rand, int bytes);
18*4882a593Smuzhiyun int fdt_fixup_kaslr(void *fdt);
19*4882a593Smuzhiyun #ifdef CONFIG_SEC_FIRMWARE_ARMV8_PSCI
20*4882a593Smuzhiyun unsigned int sec_firmware_support_psci_version(void);
21*4882a593Smuzhiyun unsigned int _sec_firmware_support_psci_version(void);
22*4882a593Smuzhiyun #else
sec_firmware_support_psci_version(void)23*4882a593Smuzhiyun static inline unsigned int sec_firmware_support_psci_version(void)
24*4882a593Smuzhiyun {
25*4882a593Smuzhiyun 	return PSCI_INVALID_VER;
26*4882a593Smuzhiyun }
27*4882a593Smuzhiyun #endif
28*4882a593Smuzhiyun 
sec_firmware_used_jobring_offset(void)29*4882a593Smuzhiyun static inline unsigned int sec_firmware_used_jobring_offset(void)
30*4882a593Smuzhiyun {
31*4882a593Smuzhiyun 	return SEC_JR3_OFFSET;
32*4882a593Smuzhiyun }
33*4882a593Smuzhiyun 
34*4882a593Smuzhiyun #endif /* __SEC_FIRMWARE_H_ */
35