xref: /rk3399_ARM-atf/include/lib/hob/efi_types.h (revision 8e5a8726270bda91f703acec183e242e44b96cde)
1 /*
2  * Copyright (c) 2024, Arm Limited and Contributors. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef EFI_TYPES_H
8 #define EFI_TYPES_H
9 
10 #include <stdint.h>
11 #include <tools_share/uuid.h>
12 
13 typedef uint64_t efi_physical_address_t;
14 
15 /*****************************************************************************
16  *                            EFI_BOOT_MODE                                  *
17  *****************************************************************************/
18 
19 typedef uint32_t efi_boot_mode_t;
20 /**
21  * EFI boot mode.
22  */
23 #define EFI_BOOT_WITH_FULL_CONFIGURATION                   U(0x00)
24 #define EFI_BOOT_WITH_MINIMAL_CONFIGURATION                U(0x01)
25 #define EFI_BOOT_ASSUMING_NO_CONFIGURATION_CHANGES         U(0x02)
26 #define EFI_BOOT_WITH_FULL_CONFIGURATION_PLUS_DIAGNOSTICS  U(0x03)
27 #define EFI_BOOT_WITH_DEFAULT_SETTINGS                     U(0x04)
28 #define EFI_BOOT_ON_S4_RESUME                              U(0x05)
29 #define EFI_BOOT_ON_S5_RESUME                              U(0x06)
30 #define EFI_BOOT_WITH_MFG_MODE_SETTINGS                    U(0x07)
31 #define EFI_BOOT_ON_S2_RESUME                              U(0x10)
32 #define EFI_BOOT_ON_S3_RESUME                              U(0x11)
33 #define EFI_BOOT_ON_FLASH_UPDATE                           U(0x12)
34 #define EFI_BOOT_IN_RECOVERY_MODE                          U(0x20)
35 
36 /*****************************************************************************
37  *                            EFI_RESOURCE_TYPE                              *
38  *****************************************************************************/
39 
40 typedef uint32_t efi_resource_type_t;
41 
42 /**
43  * Value of EFI_RESOURCE_TYPE used in EFI_HOB_RESOURCE_DESCRIPTOR.
44  */
45 #define EFI_RESOURCE_SYSTEM_MEMORY          U(0x00000000)
46 #define EFI_RESOURCE_MEMORY_MAPPED_IO       U(0x00000001)
47 #define EFI_RESOURCE_IO                     U(0x00000002)
48 #define EFI_RESOURCE_FIRMWARE_DEVICE        U(0x00000003)
49 #define EFI_RESOURCE_MEMORY_MAPPED_IO_PORT  U(0x00000004)
50 #define EFI_RESOURCE_MEMORY_RESERVED        U(0x00000005)
51 #define EFI_RESOURCE_IO_RESERVED            U(0x00000006)
52 
53 /*****************************************************************************
54  *                       EFI_RESOURCE_ATTRIBUTE_TYPE                         *
55  *****************************************************************************/
56 
57 typedef uint32_t efi_resource_attribute_type_t;
58 
59 #define EFI_RESOURCE_ATTRIBUTE_PRESENT                  U(0x00000001)
60 #define EFI_RESOURCE_ATTRIBUTE_INITIALIZED              U(0x00000002)
61 #define EFI_RESOURCE_ATTRIBUTE_TESTED                   U(0x00000004)
62 #define EFI_RESOURCE_ATTRIBUTE_READ_PROTECTED           U(0x00000080)
63 #define EFI_RESOURCE_ATTRIBUTE_WRITE_PROTECTED          U(0x00000100)
64 #define EFI_RESOURCE_ATTRIBUTE_EXECUTION_PROTECTED      U(0x00000200)
65 #define EFI_RESOURCE_ATTRIBUTE_PERSISTENT               U(0x00800000)
66 #define EFI_RESOURCE_ATTRIBUTE_SINGLE_BIT_ECC           U(0x00000008)
67 #define EFI_RESOURCE_ATTRIBUTE_MULTIPLE_BIT_ECC         U(0x00000010)
68 #define EFI_RESOURCE_ATTRIBUTE_ECC_RESERVED_1           U(0x00000020)
69 #define EFI_RESOURCE_ATTRIBUTE_ECC_RESERVED_2           U(0x00000040)
70 #define EFI_RESOURCE_ATTRIBUTE_UNCACHEABLE              U(0x00000400)
71 #define EFI_RESOURCE_ATTRIBUTE_WRITE_COMBINEABLE        U(0x00000800)
72 #define EFI_RESOURCE_ATTRIBUTE_WRITE_THROUGH_CACHEABLE  U(0x00001000)
73 #define EFI_RESOURCE_ATTRIBUTE_WRITE_BACK_CACHEABLE     U(0x00002000)
74 #define EFI_RESOURCE_ATTRIBUTE_16_BIT_IO                U(0x00004000)
75 #define EFI_RESOURCE_ATTRIBUTE_32_BIT_IO                U(0x00008000)
76 #define EFI_RESOURCE_ATTRIBUTE_64_BIT_IO                U(0x00010000)
77 #define EFI_RESOURCE_ATTRIBUTE_UNCACHED_EXPORTED        U(0x00020000)
78 #define EFI_RESOURCE_ATTRIBUTE_READ_PROTECTABLE         U(0x00100000)
79 #define EFI_RESOURCE_ATTRIBUTE_WRITE_PROTECTABLE        U(0x00200000)
80 #define EFI_RESOURCE_ATTRIBUTE_EXECUTION_PROTECTABLE    U(0x00400000)
81 #define EFI_RESOURCE_ATTRIBUTE_PERSISTABLE              U(0x01000000)
82 #define EFI_RESOURCE_ATTRIBUTE_READ_ONLY_PROTECTED      U(0x00040000)
83 #define EFI_RESOURCE_ATTRIBUTE_READ_ONLY_PROTECTABLE    U(0x00080000)
84 #define EFI_RESOURCE_ATTRIBUTE_MORE_RELIABLE            U(0x02000000)
85 
86 #endif  /* EFI_TYPES_H */
87