| /** @file | |
| Quark platform specific information. | |
| Copyright (c) 2013 Intel Corporation. | |
| This program and the accompanying materials | |
| are licensed and made available under the terms and conditions of the BSD License | |
| which accompanies this distribution. The full text of the license may be found at | |
| http://opensource.org/licenses/bsd-license.php | |
| THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
| WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
| **/ | |
| #include "Uefi.h" | |
| #ifndef __PLATFORM_H__ | |
| #define __PLATFORM_H__ | |
| // | |
| // Constant definition | |
| // | |
| #define MAX_SMRAM_RANGES 4 | |
| #define MAX_NODE 1 | |
| #define QUARK_STAGE1_IMAGE_TYPE_MASK 0xF0 | |
| #define QUARK_STAGE1_BOOT_IMAGE_TYPE 0x00 // Stage1 Boot images 0x00 -> 0x0F. | |
| #define QUARK_STAGE1_RECOVERY_IMAGE_TYPE 0x10 // Stage1 Recovery images 0x10 -> 0x1F. | |
| #define QUARK_BOOTROM_BASE_ADDRESS 0xFFFE0000 // Base address of Quark ROM in memory map. | |
| #define QUARK_BOOTROM_SIZE_BYTES 0x20000 // Quark ROM is 128KB. | |
| #define SMM_DEFAULT_SMBASE 0x30000 // Default SMBASE address. | |
| #define SMM_DEFAULT_SMBASE_SIZE_BYTES 0x10000 // Size in bytes of default SMRAM. | |
| // | |
| // Gpio to be used to assert / deassert PCI express PERST# signal. | |
| // | |
| #define PCIEXP_PERST_RESUMEWELL_GPIO 3 | |
| // | |
| // Minimum time in microseconds for assertion of PERST# signal. | |
| // | |
| #define PCIEXP_PERST_MIN_ASSERT_US 100 | |
| // | |
| // Microsecond delay post issueing common lane reset. | |
| // | |
| #define PCIEXP_DELAY_US_POST_CMNRESET_RESET 1 | |
| // | |
| // Microsecond delay to wait for PLL to lock. | |
| // | |
| #define PCIEXP_DELAY_US_WAIT_PLL_LOCK 80 | |
| // | |
| // Microsecond delay post issueing sideband interface reset. | |
| // | |
| #define PCIEXP_DELAY_US_POST_SBI_RESET 20 | |
| // | |
| // Microsecond delay post deasserting PERST#. | |
| // | |
| #define PCIEXP_DELAY_US_POST_PERST_DEASSERT 10 | |
| // | |
| // Catastrophic Trip point in degrees Celsius for this platform. | |
| // | |
| #define PLATFORM_CATASTROPHIC_TRIP_CELSIUS 105 | |
| // | |
| // Platform flash update LED common definitions. | |
| // | |
| #define PLATFORM_FLASH_UPDATE_LED_TOGGLE_COUNT 7 | |
| #define PLATFORM_FLASH_UPDATE_LED_TOGGLE_DELTA (1000 * 1000) // In Microseconds for EFI_STALL. | |
| // | |
| // This structure stores the base and size of the ACPI reserved memory used when | |
| // resuming from S3. This region must be allocated by the platform code. | |
| // | |
| typedef struct { | |
| UINT32 AcpiReservedMemoryBase; | |
| UINT32 AcpiReservedMemorySize; | |
| UINT32 SystemMemoryLength; | |
| } RESERVED_ACPI_S3_RANGE; | |
| #define RESERVED_ACPI_S3_RANGE_OFFSET (EFI_PAGE_SIZE - sizeof (RESERVED_ACPI_S3_RANGE)) | |
| // | |
| // Define valid platform types. | |
| // First add value before TypePlatformMax in EFI_PLATFORM_TYPE definition | |
| // and then add string description to end of EFI_PLATFORM_TYPE_NAME_TABLE_DEFINITION. | |
| // Value shown for supported platforms to help sanity checking with build tools | |
| // and ACPI method usage. | |
| // | |
| typedef enum { | |
| TypeUnknown = 0, // !!! SHOULD BE THE FIRST ENTRY !!! | |
| QuarkEmulation = 1, | |
| ClantonPeakSVP = 2, | |
| KipsBay = 3, | |
| CrossHill = 4, | |
| ClantonHill = 5, | |
| Galileo = 6, | |
| TypePlatformRsv7 = 7, | |
| GalileoGen2 = 8, | |
| TypePlatformMax // !!! SHOULD BE THE LAST ENTRY !!! | |
| } EFI_PLATFORM_TYPE; | |
| #define EFI_PLATFORM_TYPE_NAME_TABLE_DEFINITION \ | |
| L"TypeUnknown",\ | |
| L"QuarkEmulation",\ | |
| L"ClantonPeakSVP",\ | |
| L"KipsBay",\ | |
| L"CrossHill",\ | |
| L"ClantonHill",\ | |
| L"Galileo",\ | |
| L"TypePlatformRsv7",\ | |
| L"GalileoGen2",\ | |
| typedef struct { | |
| UINT32 EntryOffset; | |
| UINT8 ImageIndex; | |
| } QUARK_EDKII_STAGE1_HEADER; | |
| #endif |