audk/QuarkPlatformPkg/Library/PlatformSecLib/Ia32/Platform.inc

141 lines
4.2 KiB
PHP

;
; Copyright (c) 2013-2015 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.
;
;------------------------------------------------------------------------------
;
; Module Name:
;
; Platform.inc
;
; Abstract:
;
; Quark A0 Platform Specific Definitions
;
;------------------------------------------------------------------------------
JMP32 MACRO FunctionName
lea esp, @F
jmp FunctionName
@@:
ENDM
RET32 MACRO
jmp esp
ENDM
;
; ROM/SPI/MEMORY Definitions
;
QUARK_DDR3_MEM_BASE_ADDRESS EQU 000000000h ; Memory Base Address = 0
QUARK_MAX_DDR3_MEM_SIZE_BYTES EQU 080000000h ; DDR3 Memory Size = 2GB
QUARK_ESRAM_MEM_SIZE_BYTES EQU 000080000h ; eSRAM Memory Size = 512K
QUARK_STACK_SIZE_BYTES EQU 008000h ; Quark stack size = 32K
;
; RTC/CMOS definitions
;
RTC_INDEX EQU 070h
NMI_DISABLE EQU 080h ; Bit7=1 disables NMI
NMI_ENABLE EQU 000h ; Bit7=0 disables NMI
RTC_DATA EQU 071h
;
; PCI Configuration definitions
;
PCI_CFG EQU 1 SHL 01Fh ; PCI configuration access mechanism
PCI_ADDRESS_PORT EQU 0CF8h
PCI_DATA_PORT EQU 0CFCh
;
; Quark PCI devices
;
HOST_BRIDGE_PFA EQU 0000h ; B0:D0:F0 (Host Bridge)
ILB_PFA EQU 00F8h ; B0:D31:F0 (Legacy Block)
;
; ILB PCI Config Registers
;
BDE EQU 0D4h ; BIOS Decode Enable register
DECODE_ALL_REGIONS_ENABLE EQU 0FF000000h ; Decode all BIOS decode ranges
;
; iLB Reset Register
;
ILB_RESET_REG EQU 0CF9h
CF9_WARM_RESET EQU 02h
CF9_COLD_RESET EQU 08h
;
; Host Bridge PCI Config Registers
;
MESSAGE_BUS_CONTROL_REG EQU 0D0h ; Message Bus Control Register
SB_OPCODE_FIELD EQU 018h ; Bit location of Opcode field
OPCODE_SIDEBAND_REG_READ EQU 010h ; Read opcode
OPCODE_SIDEBAND_REG_WRITE EQU 011h ; Write opcode
OPCODE_SIDEBAND_ALT_REG_READ EQU 06h ; Alternate Read opcode
OPCODE_SIDEBAND_ALT_REG_WRITE EQU 07h ; Alternate Write opcode
OPCODE_WARM_RESET_REQUEST EQU 0F4h ; Reset Warm
OPCODE_COLD_RESET_REQUEST EQU 0F5h ; Reset Cold
SB_PORT_FIELD EQU 010h ; Bit location of Port ID field
MEMORY_ARBITER_PORT_ID EQU 00h
HOST_BRIDGE_PORT_ID EQU 03h
RMU_PORT_ID EQU 04h
MEMORY_MANAGER_PORT_ID EQU 05h
SOC_UNIT_PORT_ID EQU 031h
SB_ADDR_FIELD EQU 008h ; Bit location of Register field
SB_BE_FIELD EQU 004h ; Bit location of Byte Enables field
ALL_BYTE_EN EQU 00Fh ; All Byte Enables
MESSAGE_DATA_REG EQU 0D4h ; Message Data Register
;
; Memory Arbiter Config Registers
;
AEC_CTRL_OFFSET EQU 00h
;
; Host Bridge Config Registers
;
HMISC2_OFFSET EQU 03h
OR_PM_FIELD EQU 010h
SMI_EN EQU 1 SHL 13h
HMBOUND_OFFSET EQU 08h
HMBOUND_ADDRESS EQU (QUARK_DDR3_MEM_BASE_ADDRESS + QUARK_MAX_DDR3_MEM_SIZE_BYTES + QUARK_ESRAM_MEM_SIZE_BYTES)
HMBOUND_LOCK EQU 00000001h
HECREG_OFFSET EQU 09h
EC_BASE EQU 0E0000000h
EC_ENABLE EQU 01h
HLEGACY_OFFSET EQU 0Ah
NMI EQU 1 SHL 0Eh ; Pin 14
SMI EQU 1 SHL 0Ch ; Pin 12
INTR EQU 1 SHL 0Ah ; Pin 10
;
; Memory Manager Config Registers
;
ESRAMPGCTRL_BLOCK_OFFSET EQU 082h
BLOCK_ENABLE_PG EQU 010000000h
BIMRVCTL_OFFSET EQU 019h
ENABLE_IMR_INTERRUPT EQU 080000000h
;
; SOC UNIT Debug Registers
;
CFGSTICKY_W1_OFFSET EQU 050h
FORCE_COLD_RESET EQU 00000001h
CFGSTICKY_RW_OFFSET EQU 051h
RESET_FOR_ESRAM_LOCK EQU 00000020h
RESET_FOR_HMBOUND_LOCK EQU 00000040h
CFGNONSTICKY_W1_OFFSET EQU 052h
FORCE_WARM_RESET EQU 00000001h