Changes for V4 ============== 1) Move delete of QuarkSocPkg\QuarkNorthCluster\Binary\QuarkMicrocode from QuarkPlatformPkg commit to QuarkSocPkg commit 2) Fix incorrect license header in PlatformSecLibModStrs.uni Changes for V3 ============== 1) Set PcdResetOnMemoryTypeInformationChange FALSE in QuarkMin.dsc This is required because QuarkMin.dsc uses the emulated variable driver that does not preserve any non-volatile UEFI variables across reset. If the condition is met where the memory type information variable needs to be updated, then the system will reset every time the UEFI Shell is run. By setting this PCD to FALSE, then reset action is disabled. 2) Move one binary file to QuarkSocBinPkg 3) Change RMU.bin FILE statements to INF statement in DSC FD region to be compatible with PACKAGES_PATH search for QuarkSocBinPkg Changes for V2 ============== 1) Use new generic PCI serial driver PciSioSerialDxe in MdeModulePkg 2) Configure PcdPciSerialParameters for PCI serial driver for Quark 3) Use new MtrrLib API to reduce time to set MTRRs for all DRAM 4) Convert all UNI files to utf-8 5) Replace tabs with spaces and remove trailing spaces 6) Add License.txt Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Michael Kinney <michael.d.kinney@intel.com> Acked-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19287 6f19259b-4bc3-4df7-8a09-765794883524
141 lines
4.2 KiB
PHP
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
|