233 lines
12 KiB
YAML
233 lines
12 KiB
YAML
## @file
|
|
#
|
|
# Slim Bootloader CFGDATA Template File.
|
|
#
|
|
# Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
#
|
|
##
|
|
|
|
|
|
CFGHDR_TMPL: >
|
|
- CfgHeader :
|
|
length : 0x04
|
|
value : {0x01:2b, ((_LENGTH_$(1)_)/4):10b, $(3):4b, $(4):4b, $(2):12b}
|
|
- CondValue :
|
|
length : 0x04
|
|
value : 0x00000000
|
|
|
|
|
|
FEATURES_TMPL: >
|
|
- $ACTION :
|
|
page : PLT_FEATURES:FEATURES:"Features"
|
|
- $ACTION :
|
|
page : PLT_FEATURES
|
|
- Features :
|
|
- $STRUCT :
|
|
name : PlatformFeatures
|
|
struct : FEATURES_DATA
|
|
length : 0x04
|
|
value : $(1)
|
|
- Acpi :
|
|
name : ACPI Enable
|
|
type : Combo
|
|
option : $EN_DIS
|
|
help : >
|
|
Enable/Disable ACPI feature. 1:ACPI Enabled, 0:ACPI Disabled
|
|
length : 1b
|
|
- MeasuredBoot :
|
|
name : MeasuredBoot Enable
|
|
type : Combo
|
|
option : $EN_DIS
|
|
help : >
|
|
Enable/Disable MeasuredBoot feature. 1:MeasuredBoot Enabled, 0:MeasuredBoot Disabled
|
|
length : 1b
|
|
- Vt :
|
|
name : VT Enable
|
|
type : Combo
|
|
option : $EN_DIS
|
|
help : >
|
|
Enable/Disable Vt-x/Vt-d feature. 1:VT Enabled, 0:VT Disabled
|
|
length : 1b
|
|
- eMMCTuning :
|
|
name : eMMC Tuning Enable
|
|
type : Combo
|
|
option : $EN_DIS
|
|
help : >
|
|
Enable/Disable EMMC feature, if disabled get the DLLs from DLL config data
|
|
length : 1b
|
|
- DciDebug :
|
|
name : DCI Debug Enable
|
|
type : Combo
|
|
option : $EN_DIS
|
|
help : >
|
|
Enable/Disable DCI Debug feature. 1:DCI Debug Enabled, 0:DCI Debug Disabled
|
|
length : 1b
|
|
- Rsvd1 :
|
|
name : Reserved
|
|
type : Reserved
|
|
length : 27b
|
|
|
|
|
|
GPIO_TMPL: >
|
|
- $ACTION :
|
|
page : GIO_$(1):GIO:"GPIO $(1)"
|
|
- $ACTION :
|
|
page : GIO_$(1)
|
|
- GpioPinConfig0_$(1) :
|
|
- $STRUCT :
|
|
name : GPIO $(1) PIN Config0
|
|
type : EditNum, HEX, (0x00000000,0xFFFFFFFF)
|
|
help : >
|
|
GPIO $(1) PIN Configuration
|
|
length : 0x04
|
|
value : $(2)
|
|
- GPIOPADMode_$(1) :
|
|
name : PadMode
|
|
type : Combo
|
|
option : 0x0:Hardware Default, 0x1:GPIO control of the pad, 0x3:Native function 1 < $(4) >, 0x5:Native function 2 < $(5) >, 0x7:Native function 3 < $(6) >, 0x9:Native function 4 < $(7) >
|
|
help : >
|
|
GPIO PAD Mode. If GPIO is set to one of NativeX modes then following settings are not applicable and can be skipped:-
|
|
Interrupt related settings, Host Software Ownership, Output/Input enabling/disabling, Output lock
|
|
condition : $(COND_GPIO_SKIP)
|
|
length : 5b
|
|
- GPIOHostSoftPadOwn_$(1) :
|
|
name : HostSoftPadOwn
|
|
type : Combo
|
|
option : 0x0:Host Ownership Default(Leave ownership value unmodified), 0x1:Host ownership to ACPI, 0x3:Host ownership to GPIO Driver mode
|
|
help : >
|
|
GPIO Host Software Pad Ownership. This setting affects GPIO interrupt status registers. Depending on chosen ownership
|
|
some GPIO Interrupt status register get updated and other masked:-
|
|
- HOST ownership to ACPI - Use this setting if pad is not going to be used by GPIO OS driver.
|
|
If GPIO is configured to generate SCI/SMI/NMI then this setting must be used for interrupts to work.
|
|
- HOST ownership to GPIO Driver mode - Use this setting only if GPIO pad should be controlled by GPIO OS Driver.
|
|
GPIO OS Driver will be able to control the pad if appropriate entry in ACPI exists.
|
|
condition : $(COND_GPIO_SKIP)
|
|
length : 2b
|
|
- GPIODirection_$(1) :
|
|
name : Direction
|
|
type : Combo
|
|
option : 0x0:DirDefault, 0x9:DirInOut, 0x19:DirInInvOut, 0xB:DirIn, 0x1B:DirInInv, 0x5:DirOut, 0x7:DirNone
|
|
help : >
|
|
GPIO Host Software Pad Ownership:
|
|
- DirDefault = Leave pad direction setting unmodified, - DirInOut = Set pad for both output and input,
|
|
- DirInInvOut = Set pad for both output and input with inversion, - DirIn = Set pad for input only,
|
|
- DirInInv = Set pad for input with inversion, - DirOut = Set pad for output only,
|
|
- DirNone = Disable both output and input.
|
|
condition : $(COND_GPIO_SKIP)
|
|
length : 6b
|
|
- GPIOOutputState_$(1) :
|
|
name : OutputState
|
|
type : Combo
|
|
option : 0x0:OutDefault, 0x1:OutLow, 0x3:OutHigh
|
|
help : >
|
|
GPIO Output State.This field is relevant only if output is enabled:-
|
|
- OutDefault = Leave output value unmodified, - OutLow = Set output to low, - OutHigh = Set output to high
|
|
condition : $(COND_GPIO_SKIP)
|
|
length : 2b
|
|
- GPIOInterruptConfig_$(1) :
|
|
name : InterruptConfig
|
|
type : Combo
|
|
option : >
|
|
0x0:IntDefault , 0x1:IntDisable, 0x3:IntNmi , 0x5:IntSmi, 0x9:IntSci, 0x11:IntApic, 0x20:IntLevel, 0x60:IntEdge, 0xA0:IntLvlEdgDis, 0xE0:IntBothEdge,
|
|
0x31:IntLevel | IntApic, 0x29:IntLevel | IntSci, 0x25:IntLevel | IntSmi, 0x69:IntEdge | IntSci, 0x71:IntEdge | IntApic, 0x65:IntEdge | IntSmi, 0x60:IntEdge | IntDefault,
|
|
0xA1:IntLvlEdgDis | IntDisable
|
|
help : >
|
|
GPIO Interrupt Configuration - This setting is applicable only if pad is in GPIO mode and has input enabled.
|
|
GPIO_INT_CONFIG allows to choose which interrupt is generated (IOxAPIC/SCI/SMI/NMI) and how it is triggered (edge or level).
|
|
Refer to PADCFG_DW0 register description in EDS for details on this settings. Field from GpioIntNmi to GpioIntApic can be OR'ed with
|
|
GpioIntLevel to GpioIntBothEdge to describe an interrupt e.g. GpioIntApic | GpioIntLevel.
|
|
If GPIO is set to cause an SCI then also GPI_GPE_EN is enabled for this pad.
|
|
If GPIO is set to cause an NMI then also GPI_NMI_EN is enabled for this pad.
|
|
Not all GPIO are capable of generating an SMI or NMI interrupt.
|
|
When routing GPIO to cause an IOxAPIC interrupt care must be taken, as this interrupt cannot be shared and its IRQn number is not configurable.
|
|
If GPIO is under GPIO OS driver control and appropriate ACPI GpioInt descriptor exist then use only trigger type setting (from GpioIntLevel to GpioIntBothEdge).
|
|
This type of GPIO Driver interrupt doesn't have any additional routing setting required to be set by BIOS. Interrupt is handled by GPIO OS Driver.
|
|
- IntDefault = Leave value of interrupt routing unmodified, - IntDisable = Disable IOxAPIC/SCI/SMI/NMI interrupt generation,
|
|
- IntNmi = Enable NMI interrupt only, - IntSmi = Enable SMI interrupt only, - IntSci = Enable SCI interrupt only, - IntApic = Enable IOxAPIC interrupt only,
|
|
- IntLevel = Set interrupt as level triggered, - IntEdge = Set interrupt as edge triggered, - IntLvlEdgDis = Disable interrupt trigger, - IntBothEdge = Set interrupt as both edge triggered
|
|
condition : $(COND_GPIO_SKIP)
|
|
length : 9b
|
|
- GPIOResetConfig_$(1) :
|
|
name : Power/ResetConfig
|
|
type : Combo
|
|
option : 0x0:ResetDefault, 0x1:ResetResume, 0x3:HostDeepReset, 0x5:PlatformReset, 0x7:DswReset
|
|
help : >
|
|
GPIO Power Configuration. This allows to set GPIO Reset type which will be used to reset certain GPIO settings.
|
|
- ResetDefault = Leave value of pad reset unmodified, - ResumeReset = Pad setting will reset on DeepSx transition and G3,
|
|
- HostDeepReset = Pad settings will reset on:Warm/Cold/Global reset,DeepSx transition,G3,
|
|
- PlatformReset = Pad settings will reset on:S3/S4/S5 transition, Warm/Cold/Global reset, DeepSx transition, G3
|
|
- DswReset = Pad settings will reset on G3
|
|
condition : $(COND_GPIO_SKIP)
|
|
length : 8b
|
|
- GpioPinConfig1_$(1) :
|
|
- $STRUCT :
|
|
name : GPIO $(1) PIN Config1
|
|
type : EditNum, HEX, (0x00000000,0xFFFFFFFF)
|
|
help : >
|
|
GPIO $(1) PIN Configuration
|
|
length : 0x04
|
|
value : $(3)
|
|
- GPIOElectricalCfg_$(1) :
|
|
name : GPIO ElectricalCfg
|
|
type : Combo
|
|
option : 0x0:TermDefault, 0x1:TermNone, 0x5:TermNone, 0x9:TermWpd20K, 0x13:TermWpu1K, 0x17:TermWpu2K, 0x15:TermWpu5K, 0x19:TermWpu20K, 0x1B:TermWpu1K2K, 0x1F:TermNative, 0x20:NoTolerance1v8, 0x60:Tolerance1v8
|
|
help : >
|
|
GPIO Electrical Configuration. Set GPIO termination and Pad Tolerance.(applicable only for some pads):-
|
|
- TermDefault = Leave termination setting unmodified, - TermNone = None, - TermWpd5K = 5kOhm weak pull-down, - TermWpd20K = 20kOhm weak pull-down,
|
|
- TermWpu1K = 1kOhm weak pull-up, - TermWpu2K = 2kOhm weak pull-up, - TermWpu5K = 5kOhm weak pull-up, - TermWpu20K = 20kOhm weak pull-up, - TermWpu1K2K = 1kOhm & 2kOhm weak pull-up,
|
|
- TermNative = Native function. This setting is applicable only to some native modes,
|
|
- NoTolerance1v8 = Disable 1.8V pad tolerance, Tolerance1v8 = Enable 1.8V pad tolerance
|
|
condition : $(COND_GPIO_SKIP)
|
|
length : 9b
|
|
- GPIOLockConfig_$(1) :
|
|
name : LockConfig
|
|
type : Combo
|
|
option : 0x0:LockDefault, 0x1:PadConfigLock, 0x3:PadConfigUnlock, 0x5:PadLock , 0xC:OutputStateUnlock, 0xF:PadUnlock
|
|
help : >
|
|
GPIO Lock Configuration.
|
|
- LockDefault = Leave value of pad as-is, - PadConfigLock = Lock Pad configuration,
|
|
- PadConfigUnlock = Leave Pad configuration unlocked, - PadLock = Lock both Pad configuration and output control,
|
|
- OutputStateUnlock = Leave Pad output control unlocked, PadUnlock = Leave both Pad configuration and output control unlocked
|
|
condition : $(COND_GPIO_SKIP)
|
|
length : 4b
|
|
- Reserved1_$(1) :
|
|
name : Reserved1
|
|
type : Reserved
|
|
length : 3b
|
|
- PadNum_$(1) :
|
|
name : PadNum
|
|
type : Reserved
|
|
length : 8b
|
|
- GrpIdx_$(1) :
|
|
name : GrpIdx
|
|
type : Reserved
|
|
length : 5b
|
|
- Reserved2_$(1) :
|
|
name : Reserved2
|
|
type : Reserved
|
|
length : 1b
|
|
- Hide_$(1) :
|
|
name : Hide
|
|
type : Reserved
|
|
length : 1b
|
|
- GPIOSkip_$(1) :
|
|
name : GPIO Skip
|
|
type : Combo
|
|
option : $EN_DIS
|
|
help : >
|
|
ENABLE- Skip GPIO PAD programming (keep the defaults). DISABLE- Program GPIO PAD configuration.
|
|
order : 0000.0000
|
|
length : 1b
|
|
|
|
|
|
|
|
- !include Platform/CommonBoardPkg/CfgData/Template_BootOption.yaml
|
|
|
|
|
|
- !include Template_PcieRp.yaml
|
|
|
|
|
|
- !include Template_Spd.yaml
|
|
|