1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- /* SPDX-License-Identifier: GPL-2.0 */
- /*
- * ifdtool - Manage Intel Firmware Descriptor information
- *
- * Copyright (C) 2011 The ChromiumOS Authors.
- *
- * From Coreboot project
- */
- #include <stdint.h>
- #define __packed __attribute__((packed))
- #define IFDTOOL_VERSION "1.1-U-Boot"
- #define WRITE_MAX 16
- 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;
- };
|