]> git.proxmox.com Git - mirror_edk2.git/blame - QuarkPlatformPkg/Include/Platform.h
EmulatorPkg: Remove framework pkgs dependency from EmulatorPkg
[mirror_edk2.git] / QuarkPlatformPkg / Include / Platform.h
CommitLineData
b303605e
MK
1/** @file\r
2Quark platform specific information.\r
3\r
4Copyright (c) 2013 Intel Corporation.\r
5\r
0eb3de2e 6SPDX-License-Identifier: BSD-2-Clause-Patent\r
b303605e
MK
7\r
8\r
9**/\r
10#include "Uefi.h"\r
11\r
12#ifndef __PLATFORM_H__\r
13#define __PLATFORM_H__\r
14\r
15//\r
16// Constant definition\r
17//\r
18#define MAX_SMRAM_RANGES 4\r
19#define MAX_NODE 1\r
20\r
21#define QUARK_STAGE1_IMAGE_TYPE_MASK 0xF0\r
22#define QUARK_STAGE1_BOOT_IMAGE_TYPE 0x00 // Stage1 Boot images 0x00 -> 0x0F.\r
23#define QUARK_STAGE1_RECOVERY_IMAGE_TYPE 0x10 // Stage1 Recovery images 0x10 -> 0x1F.\r
24\r
25#define QUARK_BOOTROM_BASE_ADDRESS 0xFFFE0000 // Base address of Quark ROM in memory map.\r
26#define QUARK_BOOTROM_SIZE_BYTES 0x20000 // Quark ROM is 128KB.\r
27#define SMM_DEFAULT_SMBASE 0x30000 // Default SMBASE address.\r
28#define SMM_DEFAULT_SMBASE_SIZE_BYTES 0x10000 // Size in bytes of default SMRAM.\r
29\r
30//\r
31// Gpio to be used to assert / deassert PCI express PERST# signal.\r
32//\r
33#define PCIEXP_PERST_RESUMEWELL_GPIO 3\r
34\r
35//\r
36// Minimum time in microseconds for assertion of PERST# signal.\r
37//\r
38#define PCIEXP_PERST_MIN_ASSERT_US 100\r
39\r
40//\r
41// Microsecond delay post issueing common lane reset.\r
42//\r
43#define PCIEXP_DELAY_US_POST_CMNRESET_RESET 1\r
44\r
45//\r
46// Microsecond delay to wait for PLL to lock.\r
47//\r
48#define PCIEXP_DELAY_US_WAIT_PLL_LOCK 80\r
49\r
50//\r
51// Microsecond delay post issueing sideband interface reset.\r
52//\r
53#define PCIEXP_DELAY_US_POST_SBI_RESET 20\r
54\r
55//\r
56// Microsecond delay post deasserting PERST#.\r
57//\r
58#define PCIEXP_DELAY_US_POST_PERST_DEASSERT 10\r
59\r
60//\r
61// Catastrophic Trip point in degrees Celsius for this platform.\r
62//\r
63#define PLATFORM_CATASTROPHIC_TRIP_CELSIUS 105\r
64\r
65//\r
66// Platform flash update LED common definitions.\r
67//\r
68#define PLATFORM_FLASH_UPDATE_LED_TOGGLE_COUNT 7\r
69#define PLATFORM_FLASH_UPDATE_LED_TOGGLE_DELTA (1000 * 1000) // In Microseconds for EFI_STALL.\r
70\r
71//\r
72// This structure stores the base and size of the ACPI reserved memory used when\r
73// resuming from S3. This region must be allocated by the platform code.\r
74//\r
75typedef struct {\r
76 UINT32 AcpiReservedMemoryBase;\r
77 UINT32 AcpiReservedMemorySize;\r
78 UINT32 SystemMemoryLength;\r
79} RESERVED_ACPI_S3_RANGE;\r
80\r
81#define RESERVED_ACPI_S3_RANGE_OFFSET (EFI_PAGE_SIZE - sizeof (RESERVED_ACPI_S3_RANGE))\r
82\r
83//\r
84// Define valid platform types.\r
85// First add value before TypePlatformMax in EFI_PLATFORM_TYPE definition\r
86// and then add string description to end of EFI_PLATFORM_TYPE_NAME_TABLE_DEFINITION.\r
87// Value shown for supported platforms to help sanity checking with build tools\r
88// and ACPI method usage.\r
89//\r
90typedef enum {\r
91 TypeUnknown = 0, // !!! SHOULD BE THE FIRST ENTRY !!!\r
92 QuarkEmulation = 1,\r
93 ClantonPeakSVP = 2,\r
94 KipsBay = 3,\r
95 CrossHill = 4,\r
96 ClantonHill = 5,\r
97 Galileo = 6,\r
98 TypePlatformRsv7 = 7,\r
99 GalileoGen2 = 8,\r
100 TypePlatformMax // !!! SHOULD BE THE LAST ENTRY !!!\r
101} EFI_PLATFORM_TYPE;\r
102\r
103#define EFI_PLATFORM_TYPE_NAME_TABLE_DEFINITION \\r
104 L"TypeUnknown",\\r
105 L"QuarkEmulation",\\r
106 L"ClantonPeakSVP",\\r
107 L"KipsBay",\\r
108 L"CrossHill",\\r
109 L"ClantonHill",\\r
110 L"Galileo",\\r
111 L"TypePlatformRsv7",\\r
112 L"GalileoGen2",\\r
113\r
114typedef struct {\r
115 UINT32 EntryOffset;\r
116 UINT8 ImageIndex;\r
117} QUARK_EDKII_STAGE1_HEADER;\r
118\r
119#endif\r