payloads/edk2: Disable the CPU Timer Lib unless supported
[coreboot.git] / src / soc / ti / am335x / header.h
blob84e09f38d51b83b2c804842e2197051ae331387a
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 #ifndef __SOC_TI_AM335X_HEADER_H
4 #define __SOC_TI_AM335X_HEADER_H
6 #include <stdint.h>
8 struct configuration_header_toc_item {
9 // Offset from the start address of the TOC to the actual address of
10 // a section.
11 uint32_t start;
13 // Size of a section.
14 uint32_t size;
16 // Reserved.
17 uint32_t reserved[3];
19 // 12-character name of a section, including the zero (\0) terminator.
20 char filename[12];
21 } __packed;
23 struct configuration_header_settings {
24 // Key used for section verification.
25 uint32_t key;
27 // Enables or disables the section.
28 // 00h: Disable.
29 // Other: Enable.
30 uint8_t valid;
32 // Configuration header version.
33 uint8_t version;
35 // Reserved.
36 uint16_t reserved;
38 // Flags. It's not clear what this is used for.
39 uint32_t flags;
40 } __packed;
42 struct gp_device_header {
43 // Size of the image.
44 uint32_t size;
46 // Address to store the image/code entry point.
47 uint32_t destination;
48 } __packed;
50 struct config_headers {
51 // The table of contents.
52 struct configuration_header_toc_item toc_chsettings;
53 struct configuration_header_toc_item toc_end;
55 // An inert instance of chsettings.
56 struct configuration_header_settings chsettings;
57 } __packed;
59 struct omap_image_headers {
60 union {
61 struct config_headers config_headers;
62 uint8_t bytes[512];
64 struct gp_device_header image_header;
67 #endif