Files
BrentHoltsclaw 596b51258c Update HSF for DVN
Signed-off-by: BrentHoltsclaw <brent.holtsclaw@intel.com>
2020-02-05 23:55:30 -08:00

192 lines
12 KiB
XML

<?xml version="1.0"?>
<configuration platform="DNV" >
<!--
XML configuration file for Denverton
* Intel Atom(R) Processor C3000 Product Family
https://www.intel.com/content/www/us/en/processors/atom/atom-technical-resources.html
337018-002
-->
<pci>
</pci>
<mmio>
<bar name="SPIBAR" bus="0" dev="0x1F" fun="5" reg="0x10" width="4" mask="0xFFFFC000" size="0x200" desc="SPI Controller Register Range"/>
</mmio>
<io>
<bar name="ABASE" register="ABASE" base_field="Base" size="0x100" desc="ACPI Base Address"/>
<bar name="TCOBASE" register="TCOBASE" base_field="Base" size="0x20" desc="TCO Base Address"/>
</io>
<memory>
</memory>
<registers>
<register name="P2SBC" type="pcicfg" bus="0" dev="0x1F" fun="1" offset="0xE0" size="4" desc="P2SB Control">
<field name="MASKLOCK" bit="17" size="12" desc="Base address"/>
</register>
<register name="SMBUS_HCFG" type="pcicfg" bus="0" dev="0x1F" fun="4" offset="0x40" size="1" desc="Host Configuration">
<field name="SPD_WD" bit="4" size="1" desc="SPD Write Disable"/>
</register>
<register name="SMI_EN" type="iobar" bar="ABASE" offset="0x30" size="4" desc="SMI Control and Enable">
<field name="GBL_SMI_EN" bit="0" size="1"/>
<field name="TCO_EN" bit="13" size="1"/>
</register>
<register name="TCO1_CNT" type="iobar" bar="TCOBASE" offset="0x8" size="4" desc="SMI Control and Enable">
<field name="TCO_LOCK" bit="12" size="1"/>
</register>
<register name="BC" type="pcicfg" bus="0" dev="0x1F" fun="5" offset="0xDC" size="1" desc="BIOS Control">
<field name="BIOSWE" bit="0" size="1" desc="Write Protect Disable"/>
<field name="BLE" bit="1" size="1" desc="BIOS Lock Enable"/>
<field name="SRC" bit="2" size="2" desc="SPI Read Configuration"/>
<field name="TSS" bit="4" size="1" desc="Top Swap Status"/>
<field name="SMM_BWP" bit="5" size="1" desc="Enable InSMM.STS"/>
<field name="BILD" bit="7" size="1" desc="BIOS Interface Lock-Down"/>
</register>
<register name="ABASE" type="pcicfg" bus="0" dev="0x1F" fun="2" offset="0x40" size="4" desc="ACPI Base Address">
<field name="Base" bit="8" size="24" desc="Base Address"/>
</register>
<register name="TCOBASE" type="pcicfg" bus="0" dev="0x1F" fun="4" offset="0x50" size="4" desc="TCO Base Address">
<field name="Base" bit="5" size="11" desc="Base Address"/>
</register>
<!-- SPI Flash Controller MMIO registers -->
<register name="HSFS" type="mmio" bar="SPIBAR" offset="0x04" size="4" desc="Hardware Sequencing Flash Status Register">
<field name="SCIP" bit="5" size="1" desc="SPI cycle in progress"/>
<field name="WRSDIS" bit="11" size="1" desc="Write status disable"/>
<field name="PR34LKD" bit="12" size="1" desc="PRR3 PRR4 Lock-Down"/>
<field name="FDOPSS" bit="13" size="1" desc="Flash Descriptor Override Pin-Strap Status"/>
<field name="FDV" bit="14" size="1" desc="Flash Descriptor Valid"/>
<field name="FLOCKDN" bit="15" size="1" desc="Flash Configuration Lock-Down"/>
<field name="FGO" bit="16" size="1" desc="Flash cycle go"/>
<field name="FCYCLE" bit="17" size="4" desc="Flash Cycle Type"/>
<field name="WET" bit="21" size="1" desc="Write Enable Type"/>
<field name="FDBC" bit="24" size="6" desc="Flash Data Byte Count"/>
<field name="FSMIE" bit="31" size="1" desc="Flash SPI SMI Enable"/>
</register>
<register name="PR0" type="mmio" bar="SPIBAR" offset="0x84" size="4" desc="Protected Range 0">
<field name="PRB" bit="0" size="15" desc="Protected Range Base"/>
<field name="RPE" bit="15" size="1" desc="Read Protection Enabled"/>
<field name="PRL" bit="16" size="15" desc="Protected Range Limit"/>
<field name="WPE" bit="31" size="1" desc="Write Protection Enabled"/>
</register>
<register name="PR1" type="mmio" bar="SPIBAR" offset="0x88" size="4" desc="Protected Range 1">
<field name="PRB" bit="0" size="15" desc="Protected Range Base"/>
<field name="RPE" bit="15" size="1" desc="Read Protection Enabled"/>
<field name="PRL" bit="16" size="15" desc="Protected Range Limit"/>
<field name="WPE" bit="31" size="1" desc="Write Protection Enabled"/>
</register>
<register name="PR2" type="mmio" bar="SPIBAR" offset="0x8C" size="4" desc="Protected Range 2">
<field name="PRB" bit="0" size="15" desc="Protected Range Base"/>
<field name="RPE" bit="15" size="1" desc="Read Protection Enabled"/>
<field name="PRL" bit="16" size="15" desc="Protected Range Limit"/>
<field name="WPE" bit="31" size="1" desc="Write Protection Enabled"/>
</register>
<register name="PR3" type="mmio" bar="SPIBAR" offset="0x90" size="4" desc="Protected Range 3">
<field name="PRB" bit="0" size="15" desc="Protected Range Base"/>
<field name="RPE" bit="15" size="1" desc="Read Protection Enabled"/>
<field name="PRL" bit="16" size="15" desc="Protected Range Limit"/>
<field name="WPE" bit="31" size="1" desc="Write Protection Enabled"/>
</register>
<register name="PR4" type="mmio" bar="SPIBAR" offset="0x94" size="4" desc="Protected Range 4">
<field name="PRB" bit="0" size="15" desc="Protected Range Base"/>
<field name="RPE" bit="15" size="1" desc="Read Protection Enabled"/>
<field name="PRL" bit="16" size="15" desc="Protected Range Limit"/>
<field name="WPE" bit="31" size="1" desc="Write Protection Enabled"/>
</register>
<register name="GPR0" type="mmio" bar="SPIBAR" offset="0x98" size="4" desc="Global Protected Range 0">
<field name="PRB" bit="0" size="15" desc="Protected Range Base"/>
<field name="RPE" bit="15" size="1" desc="Read Protection Enabled"/>
<field name="PRL" bit="16" size="15" desc="Protected Range Limit"/>
<field name="WPE" bit="31" size="1" desc="Write Protection Enabled"/>
</register>
<register name="PREOP" type="mmio" bar="SPIBAR" offset="0xA4" size="2" desc="Prefix Opcode Configuration Register">
<field name="PREOP0" bit="0" size="8" desc="Prefix Opcode 0"/>
<field name="PREOP1" bit="8" size="8" desc="Prefix Opcode 1"/>
</register>
<register name="OPTYPE" type="mmio" bar="SPIBAR" offset="0xA4" size="4" desc="Opcode Type Configuration Register">
<field name="PREFIX0" bit="0" size="8" desc="Prefix Opcode 0"/>
<field name="PREFIX1" bit="8" size="8" desc="Prefix Opcode 1"/>
<field name="OPTYPE0" bit="16" size="2" desc="Opcode Type 0"/>
<field name="OPTYPE1" bit="18" size="2" desc="Opcode Type 1"/>
<field name="OPTYPE2" bit="20" size="2" desc="Opcode Type 2"/>
<field name="OPTYPE3" bit="22" size="2" desc="Opcode Type 3"/>
<field name="OPTYPE4" bit="24" size="2" desc="Opcode Type 4"/>
<field name="OPTYPE5" bit="26" size="2" desc="Opcode Type 5"/>
<field name="OPTYPE6" bit="28" size="2" desc="Opcode Type 6"/>
<field name="OPTYPE7" bit="30" size="2" desc="Opcode Type 7"/>
</register>
<register name="OPMENU" type="mmio" bar="SPIBAR" offset="0xA8" size="8" desc="Opcode Menu Configuration Register">
<field name="OPCODE0" bit="0" size="8" desc="Allowable Opcode 0"/>
<field name="OPCODE1" bit="8" size="8" desc="Allowable Opcode 1"/>
<field name="OPCODE2" bit="16" size="8" desc="Allowable Opcode 2"/>
<field name="OPCODE3" bit="24" size="8" desc="Allowable Opcode 3"/>
<field name="OPCODE4" bit="32" size="8" desc="Allowable Opcode 4"/>
<field name="OPCODE5" bit="40" size="8" desc="Allowable Opcode 5"/>
<field name="OPCODE6" bit="48" size="8" desc="Allowable Opcode 6"/>
<field name="OPCODE7" bit="56" size="8" desc="Allowable Opcode 7"/>
</register>
<register name="OPMENU_LO" type="mmio" bar="SPIBAR" offset="0xA8" size="4" desc="Opcode Menu Configuration Register Low">
<field name="OPCODE0" bit="0" size="8" desc="Allowable Opcode 0"/>
<field name="OPCODE1" bit="8" size="8" desc="Allowable Opcode 1"/>
<field name="OPCODE2" bit="16" size="8" desc="Allowable Opcode 2"/>
<field name="OPCODE3" bit="24" size="8" desc="Allowable Opcode 3"/>
</register>
<register name="OPMENU_HI" type="mmio" bar="SPIBAR" offset="0xAC" size="4" desc="Opcode Menu Configuration Register High">
<field name="OPCODE4" bit="0" size="8" desc="Allowable Opcode 4"/>
<field name="OPCODE5" bit="8" size="8" desc="Allowable Opcode 5"/>
<field name="OPCODE6" bit="16" size="8" desc="Allowable Opcode 6"/>
<field name="OPCODE7" bit="24" size="8" desc="Allowable Opcode 7"/>
</register>
<register name="LVSCC" type="mmio" bar="SPIBAR" offset="0xC4" size="4" desc="Vendor Specific Component Capabilities for Component 0">
<field name="LWG" bit="2" size="1" desc="Lower Write Granularity"/>
<field name="LWSR" bit="3" size="1" desc="Lower Write Status Required"/>
<field name="LWEWS" bit="4" size="1" desc="Write Enable on Write Status"/>
<field name="EO_4k" bit="8" size="8" desc="4k Erase Opcode"/>
<field name="EO_64k" bit="16" size="8" desc="64k Erase Opcode"/>
<field name="EO_4k_VALID" bit="28" size="1" desc="4k Erase Valid"/>
<field name="EO_64k_VALID" bit="29" size="1" desc="64k Erase Valid"/>
<field name="VCL" bit="30" size="1" desc="Vendor Component Lock"/>
<field name="CPPTV" bit="31" size="1" desc="Component Property Parameter Table Valid"/>
</register>
<register name="UVSCC" type="mmio" bar="SPIBAR" offset="0xC8" size="4" desc="Vendor Specific Component Capabilities for Component 1">
<field name="UWG" bit="2" size="1" desc="Upper Write Granularity"/>
<field name="UWSR" bit="3" size="1" desc="Upper Write Status Required"/>
<field name="UWEWS" bit="4" size="1" desc="Write Enable on Write Status"/>
<field name="EO_4k" bit="8" size="8" desc="4k Erase Opcode"/>
<field name="EO_64k" bit="16" size="8" desc="64k Erase Opcode"/>
<field name="EO_4k_VALID" bit="28" size="1" desc="4k Erase Valid"/>
<field name="EO_64k_VALID" bit="29" size="1" desc="64k Erase Valid"/>
<field name="CPPTV" bit="31" size="1" desc="Component Property Parameter Table Valid"/>
</register>
<!-- ME Host Firmware Status https://github.com/coreboot/coreboot/blob/master/src/southbridge/intel/*/{pch,me}.h -->
<register name="HFS" type="pcicfg" bus="0" dev="0x18" fun="0" offset="0x40" size="4" desc="ME Host Firmware Status">
<field name="MFG_MODE" bit="4" size="1" desc="ME Manufacturing Mode" />
<field name="FW_INIT_COMPLETE" bit="9" size="1" desc="ME Firmware Initialization Complete" />
<field name="UPDATE_IN_PROGRESS" bit="11" size="1" desc="ME Update In Progress" />
</register>
</registers>
<controls>
<control name="FlashLockDown" register="HSFS" field="FLOCKDN" desc="Flash Configuration Lock-Down"/>
<control name="SpiWriteStatusDis" register="HSFS" field="WRSDIS" desc="Write Status Disable"/>
<control name="SmmBiosWriteProtection" register="BC" field="SMM_BWP" desc="SMM BIOS Write Protection"/>
<control name="BiosLockEnable" register="BC" field="BLE" desc="BIOS Lock Enable"/>
<control name="BiosWriteEnable" register="BC" field="BIOSWE" desc="BIOS Write Enable"/>
<control name="TopSwapStatus" register="BC" field="TSS" desc="Top Swap Status"/>
<control name="BiosInterfaceLockDown" register="BC" field="BILD" desc="BIOS Interface Lock-Down"/>
<control name="GlobalSMIEnable" register="SMI_EN" field="GBL_SMI_EN" desc="Global SMI Enable"/>
<control name="TCOSMILock" register="TCO1_CNT" field="TCO_LOCK" desc="TCO SMI Lock"/>
<control name="TCOSMIEnable" register="SMI_EN" field="TCO_EN" desc="TCO SMI Enable"/>
</controls>
</configuration>