Michael Kinney b303605e1b QuarkPlatformPkg: Add new package for Galileo boards
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
2015-12-15 19:23:57 +00:00

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