diff options
author | Matthew Raybuck <matthew.raybuck@ibm.com> | 2019-04-30 10:01:43 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2019-05-09 16:31:05 -0500 |
commit | d2da0774fa01e5bb89a717baf814e43f5f3fef0a (patch) | |
tree | c14c07ab8648848e6ede1c730b8a1636ed1ffcae /src/usr/targeting/common/xmltohb/attribute_types.xml | |
parent | c0b91d3b52a6139f7e56a6e3896018cdeac26dae (diff) | |
download | talos-hostboot-d2da0774fa01e5bb89a717baf814e43f5f3fef0a.tar.gz talos-hostboot-d2da0774fa01e5bb89a717baf814e43f5f3fef0a.zip |
Targeting updates for EEPROM content type
Adds a new enumerationType called EEPROM_CONTENT_TYPE as well as a new
field to the EEPROM_VPD_PRIMARY_INFO and EEPROM_VPD_BACKUP_INFO called
eepromContentType. EEPROM_CONTENT_TYPE serves to define the constants
for the five types of eeprom content types; they are: RAW, DDIMM,
ISDIMM, IBM_FRUVPD, and IBM_MVPD.
There are five targetTypes that default eepromContentType to the
appropriate value for that targetType; they are: PROC, OCMB, NODE,
LCARD_DIMM, MCS. Due to the limitations of targeting, an enumeration type
can't be used with complexTypes. Instead, eepromContentType matches the
values of the five types defined by EEPROM_CONTENT_TYPE.
This commit is used to support Part and Serial Number lookups when
deciding EEPROM cache content updates.
Change-Id: Ie8f1e81ff7273c76178c5c621771d5b6c75903e9
RTC:203788
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/76855
Reviewed-by: Glenn Miles <milesg@ibm.com>
Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/targeting/common/xmltohb/attribute_types.xml')
-rw-r--r-- | src/usr/targeting/common/xmltohb/attribute_types.xml | 102 |
1 files changed, 82 insertions, 20 deletions
diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml index b1ae2e230..2378f270e 100644 --- a/src/usr/targeting/common/xmltohb/attribute_types.xml +++ b/src/usr/targeting/common/xmltohb/attribute_types.xml @@ -884,6 +884,54 @@ </attribute> <attribute> + <description>Specifies a target's eeprom content type.</description> + <hasStringConversion/> + <id>EEPROM_CONTENT_TYPE</id> + <persistency>non-volatile</persistency> + <readable/> + <simpleType> + <enumeration> + <id>EEPROM_CONTENT_TYPE</id> + </enumeration> + </simpleType> + </attribute> + + <enumerationType> + <default>RAW</default> + <description>Enumeration indicating a target's eeprom + content type. + RAW - eeprom has no specified layout + ISDIMM - uses standard JEDEC layout for DDR memory + IBM_FRUVPD - uses ipz converged vpd layout with records/keywords for + generic FRUs + IBM_MVPD - use ipz converged vpd layout with records/keywords for + processor modules + DDIMM - uses Differential DIMM layout + </description> + <enumerator> + <name>RAW</name> + <value>0</value> + </enumerator> + <enumerator> + <name>ISDIMM</name> + <value>1</value> + </enumerator> + <enumerator> + <name>IBM_FRUVPD</name> + <value>2</value> + </enumerator> + <enumerator> + <name>IBM_MVPD</name> + <value>3</value> + </enumerator> + <enumerator> + <name>DDIMM</name> + <value>4</value> + </enumerator> + <id>EEPROM_CONTENT_TYPE</id> + </enumerationType> + + <attribute> <id>EEPROM_NV_INFO</id> <description>Information needed to address the NV controller on the NVDIMM</description> <complexType> @@ -1179,8 +1227,9 @@ <attribute> <complexType> - <description>Structure to define the addressing for an I2C - slave device.</description> + <description>Structure to define the addressing for an attached I2C + eeprom device that contains secondary VPD info. + </description> <field> <default>physical:sys-0</default> <description>Entity path to the chip that contains the I2C @@ -1189,49 +1238,49 @@ <type>EntityPath</type> </field> <field> - <default>0x80</default> + <default>0xFF</default> <description>Port from the I2C Master device. This is a 6-bit value.</description> <name>port</name> <type>uint8_t</type> </field> <field> - <default>0x80</default> + <default>0xFF</default> <description>Device address on the I2C bus. This is a 7-bit value, but then shifted 1 bit left.</description> <name>devAddr</name> <type>uint8_t</type> </field> <field> - <default>0x80</default> + <default>0xFF</default> <description>I2C master engine. This is a 2-bit value.</description> <name>engine</name> <type>uint8_t</type> </field> <field> - <default>0x02</default> + <default>0xFF</default> <description>The number of bytes a device requires to set its internal address/offset.</description> <name>byteAddrOffset</name> <type>uint8_t</type> </field> <field> - <default>0x0</default> + <default>0xFFFFFFFFFFFFFFFF</default> <description>The number of kilobytes a device can hold. 'Zero' value possible for some devices.</description> <name>maxMemorySizeKB</name> <type>uint64_t</type> </field> <field> - <default>0x01</default> + <default>0xFF</default> <description>The number of chips making up an eeprom device. </description> <name>chipCount</name> <type>uint8_t</type> </field> <field> - <default>0x0</default> + <default>0xFFFFFFFFFFFFFFFF</default> <description>The maximum number of bytes that can be written to a device at one time. 'Zero' value means no maximum value is expected or checked.</description> @@ -1239,7 +1288,7 @@ <type>uint64_t</type> </field> <field> - <default>0xA</default> + <default>0xFFFFFFFFFFFFFFFF</default> <description>The amount of time in milliseconds a device requires on the completion of a write command to update its internal memory.</description> @@ -1264,6 +1313,12 @@ <name>i2cMuxPath</name> <type>EntityPath</type> </field> + <field> + <default>0xFFFFFFFF</default> + <description>Indicates the target's eeprom content type</description> + <name>eepromContentType</name> + <type>uint32_t</type> + </field> </complexType> <description>Information needed to address the EERPROM slaves</description> <id>EEPROM_VPD_BACKUP_INFO</id> @@ -1273,8 +1328,9 @@ <attribute> <complexType> - <description>Structure to define the addressing for an I2C - slave device.</description> + <description>Structure to define the addressing for an attached I2C + eeprom device that contains primary VPD info. + </description> <field> <default>physical:sys-0</default> <description>Entity path to the chip that contains the I2C @@ -1283,28 +1339,28 @@ <type>EntityPath</type> </field> <field> - <default>0x80</default> + <default>0xFF</default> <description>Port from the I2C Master device. This is a 6-bit value.</description> <name>port</name> <type>uint8_t</type> </field> <field> - <default>0x80</default> + <default>0xFF</default> <description>Device address on the I2C bus. This is a 7-bit value, but then shifted 1 bit left.</description> <name>devAddr</name> <type>uint8_t</type> </field> <field> - <default>0x80</default> + <default>0xFF</default> <description>I2C master engine. This is a 2-bit value.</description> <name>engine</name> <type>uint8_t</type> </field> <field> - <default>0x02</default> + <default>0xFF</default> <description> The number of bytes a device requires to set its internal address/offset. DDR4 DIMMs require a special EEPROM @@ -1318,21 +1374,21 @@ <type>uint8_t</type> </field> <field> - <default>0x0</default> + <default>0xFFFFFFFFFFFFFFFF</default> <description>The number of kilobytes a device can hold. 'Zero' value possible for some devices.</description> <name>maxMemorySizeKB</name> <type>uint64_t</type> </field> <field> - <default>0x01</default> + <default>0xFF</default> <description>The number of chips making up an eeprom device. </description> <name>chipCount</name> <type>uint8_t</type> </field> <field> - <default>0x0</default> + <default>0xFFFFFFFFFFFFFFFF</default> <description>The maximum number of bytes that can be written to a device at one time. 'Zero' value means no maximum value is expected or checked.</description> @@ -1340,7 +1396,7 @@ <type>uint64_t</type> </field> <field> - <default>0xA</default> + <default>0xFFFFFFFFFFFFFFFF</default> <description>The amount of time in milliseconds a device requires on the completion of a write command to update its internal memory.</description> @@ -1365,6 +1421,12 @@ <name>i2cMuxPath</name> <type>EntityPath</type> </field> + <field> + <default>0xFFFFFFFF</default> + <description>Indicates the target's eeprom content type</description> + <name>eepromContentType</name> + <type>uint32_t</type> + </field> </complexType> <description>Information needed to address the EEPROM slaves</description> <id>EEPROM_VPD_PRIMARY_INFO</id> |