12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- /*
- * ifdtool - Manage Intel Firmware Descriptor information
- *
- * Copyright (C) 2011 The ChromiumOS Authors.
- *
- * SPDX-License-Identifier: GPL-2.0
- *
- * From Coreboot project
- */
- #include <stdint.h>
- #define __packed __attribute__((packed))
- #define IFDTOOL_VERSION "1.1-U-Boot"
- enum spi_frequency {
- SPI_FREQUENCY_20MHZ = 0,
- SPI_FREQUENCY_33MHZ = 1,
- SPI_FREQUENCY_50MHZ = 4,
- };
- enum component_density {
- COMPONENT_DENSITY_512KB = 0,
- COMPONENT_DENSITY_1MB = 1,
- COMPONENT_DENSITY_2MB = 2,
- COMPONENT_DENSITY_4MB = 3,
- COMPONENT_DENSITY_8MB = 4,
- COMPONENT_DENSITY_16MB = 5,
- };
- /* flash descriptor */
- struct __packed fdbar_t {
- uint32_t flvalsig;
- uint32_t flmap0;
- uint32_t flmap1;
- uint32_t flmap2;
- uint8_t reserved[0xefc - 0x20];
- uint32_t flumap1;
- };
- #define MAX_REGIONS 5
- /* regions */
- struct __packed frba_t {
- uint32_t flreg[MAX_REGIONS];
- };
- /* component section */
- struct __packed fcba_t {
- uint32_t flcomp;
- uint32_t flill;
- uint32_t flpb;
- };
- #define MAX_STRAPS 18
- /* pch strap */
- struct __packed fpsba_t {
- uint32_t pchstrp[MAX_STRAPS];
- };
- /* master */
- struct __packed fmba_t {
- uint32_t flmstr1;
- uint32_t flmstr2;
- uint32_t flmstr3;
- };
- /* processor strap */
- struct __packed fmsba_t {
- uint32_t data[8];
- };
- /* ME VSCC */
- struct vscc_t {
- uint32_t jid;
- uint32_t vscc;
- };
- struct vtba_t {
- /* Actual number of entries specified in vtl */
- struct vscc_t entry[8];
- };
- struct region_t {
- int base, limit, size;
- };
|