summaryrefslogtreecommitdiffstats
path: root/meta-openbmc-machines
diff options
context:
space:
mode:
authorPatrick Venture <venture@google.com>2017-05-09 10:04:13 -0700
committerPatrick Williams <patrick@stwcx.xyz>2017-06-05 01:02:44 +0000
commitbfe9b60de56dcd1fff9951ee7c2acaa16d94f185 (patch)
tree244d7e27f7c3d5ad54dbaa311919960c1c026bc5 /meta-openbmc-machines
parentef318571cf607b66310e1be229107c97c02caed4 (diff)
downloadtalos-openbmc-bfe9b60de56dcd1fff9951ee7c2acaa16d94f185.tar.gz
talos-openbmc-bfe9b60de56dcd1fff9951ee7c2acaa16d94f185.zip
Add sensor and some FRU definitions for ipmi.
When phosphor-ipmi-host supports returning sensor data, this is the file it will use to build the cpp map and provide the information. This has been tested on my platform via ipmitool from the host. Change-Id: Ie5b0696935d23d6f50c9f62ddb583618a9f3ff91 Signed-off-by: Patrick Venture <venture@google.com>
Diffstat (limited to 'meta-openbmc-machines')
-rw-r--r--meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/conf/machine/quanta-q71l.conf27
-rw-r--r--meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/phosphor-ipmi-fru%.bbappend18
-rw-r--r--meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/phosphor-ipmi-fru%/obmc/eeproms/system/chassis/bmc2
-rw-r--r--meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/phosphor-ipmi-fru%/obmc/eeproms/system/chassis/fp2
-rw-r--r--meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/phosphor-ipmi-fru%/obmc/eeproms/system/chassis/motherboard2
-rw-r--r--meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/phosphor-ipmi-fru%/obmc/eeproms/system/chassis/pdb2
-rw-r--r--meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-fru-properties.bb23
-rw-r--r--meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-fru-properties/extra-properties.yaml71
-rw-r--r--meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-inventory-map-native.bb22
-rw-r--r--meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-inventory-map/config.yaml109
-rw-r--r--meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-sensor-map-native.bb18
-rw-r--r--meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-sensor-map/config.yaml142
-rw-r--r--meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/workbook/quanta-q71l-config.bb37
-rw-r--r--meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/workbook/quanta-q71l-config/Quanta-q71l.py48
14 files changed, 523 insertions, 0 deletions
diff --git a/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/conf/machine/quanta-q71l.conf b/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/conf/machine/quanta-q71l.conf
index 498fd536e..9f2b25ef1 100644
--- a/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/conf/machine/quanta-q71l.conf
+++ b/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/conf/machine/quanta-q71l.conf
@@ -9,3 +9,30 @@ UBOOT_ENTRYPOINT = "0x40008000"
UBOOT_LOADADDRESS = "0x40008000"
FLASH_SIZE = "32768"
+
+# If we included the openpower.inc we'd get these from that.
+#OBMC_MACHINE_FEATURES += "\
+# obmc-phosphor-fan-mgmt \
+# obmc-phosphor-chassis-mgmt \
+# obmc-phosphor-flash-mgmt \
+# obmc-host-ipmi \
+# obmc-host-ctl \
+# openpower-pflash \
+# obmc-host-state-mgmt \
+# obmc-chassis-state-mgmt \
+# obmc-bmc-state-mgmt \
+# "
+# But we don't, and it's ok :D We're pulling in specific packages in an image recipe.
+
+# This sets up our own Quanta-q71l.py inclusion based on the Zaius.py in the skeleton repo.
+# As something temporarily required.
+VIRTUAL-RUNTIME_skeleton_workbook = "${MACHINE}-config"
+PREFERRED_PROVIDER_virtual/obmc-inventory-data ?= "${VIRTUAL-RUNTIME_skeleton_workbook}"
+
+# These are meant to include the inventory config.yaml and so on.
+PREFERRED_PROVIDER_virtual/phosphor-ipmi-fru-inventory = "q71l-ipmi-inventory-map-native"
+PREFERRED_PROVIDER_virtual/phosphor-ipmi-fru-properties = "q71l-ipmi-fru-properties"
+
+PREFERRED_PROVIDER_virtual/phosphor-ipmi-sensor-inventory = "q71l-ipmi-sensor-map-native"
+
+PREFERRED_PROVIDER_virtual/obmc-host-ipmi-hw = "phosphor-ipmi-bt"
diff --git a/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/phosphor-ipmi-fru%.bbappend b/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/phosphor-ipmi-fru%.bbappend
new file mode 100644
index 000000000..24ae11c6f
--- /dev/null
+++ b/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/phosphor-ipmi-fru%.bbappend
@@ -0,0 +1,18 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+EEPROM_NAMES = "motherboard pdb fp bmc"
+
+EEPROMFMT = "system/chassis/{0}"
+EEPROM_ESCAPEDFMT = "system-chassis-{0}"
+EEPROMS = "${@compose_list(d, 'EEPROMFMT', 'EEPROM_NAMES')}"
+EEPROMS_ESCAPED = "${@compose_list(d, 'EEPROM_ESCAPEDFMT', 'EEPROM_NAMES')}"
+
+ENVFMT = "obmc/eeproms/{0}"
+SYSTEMD_ENVIRONMENT_FILE_${PN} += "${@compose_list(d, 'ENVFMT', 'EEPROMS')}"
+
+TMPL = "obmc-read-eeprom@.service"
+TGT = "${SYSTEMD_DEFAULT_TARGET}"
+INSTFMT = "obmc-read-eeprom@{0}.service"
+FMT = "../${TMPL}:${TGT}.wants/${INSTFMT}"
+
+SYSTEMD_LINK_${PN} += "${@compose_list(d, 'FMT', 'EEPROMS_ESCAPED')}"
diff --git a/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/phosphor-ipmi-fru%/obmc/eeproms/system/chassis/bmc b/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/phosphor-ipmi-fru%/obmc/eeproms/system/chassis/bmc
new file mode 100644
index 000000000..04040806b
--- /dev/null
+++ b/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/phosphor-ipmi-fru%/obmc/eeproms/system/chassis/bmc
@@ -0,0 +1,2 @@
+SYSFS_PATH=/sys/bus/i2c/devices/8-0050/eeprom
+FRUID=50
diff --git a/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/phosphor-ipmi-fru%/obmc/eeproms/system/chassis/fp b/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/phosphor-ipmi-fru%/obmc/eeproms/system/chassis/fp
new file mode 100644
index 000000000..32e3ef7b8
--- /dev/null
+++ b/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/phosphor-ipmi-fru%/obmc/eeproms/system/chassis/fp
@@ -0,0 +1,2 @@
+SYSFS_PATH=/sys/bus/i2c/devices/1-0057/eeprom
+FRUID=57
diff --git a/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/phosphor-ipmi-fru%/obmc/eeproms/system/chassis/motherboard b/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/phosphor-ipmi-fru%/obmc/eeproms/system/chassis/motherboard
new file mode 100644
index 000000000..b01390ae9
--- /dev/null
+++ b/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/phosphor-ipmi-fru%/obmc/eeproms/system/chassis/motherboard
@@ -0,0 +1,2 @@
+SYSFS_PATH=/sys/bus/i2c/devices/1-0054/eeprom
+FRUID=56
diff --git a/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/phosphor-ipmi-fru%/obmc/eeproms/system/chassis/pdb b/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/phosphor-ipmi-fru%/obmc/eeproms/system/chassis/pdb
new file mode 100644
index 000000000..a08392130
--- /dev/null
+++ b/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/phosphor-ipmi-fru%/obmc/eeproms/system/chassis/pdb
@@ -0,0 +1,2 @@
+SYSFS_PATH=/sys/bus/i2c/devices/7-0052/eeprom
+FRUID=52
diff --git a/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-fru-properties.bb b/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-fru-properties.bb
new file mode 100644
index 000000000..0297b8b1b
--- /dev/null
+++ b/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-fru-properties.bb
@@ -0,0 +1,23 @@
+SUMMARY = "FRU properties config for ipmi-fru-parser"
+PR = "r1"
+
+inherit native
+inherit obmc-phosphor-license
+inherit phosphor-ipmi-fru
+
+SRC_URI += "file://extra-properties.yaml"
+
+PROVIDES += "virtual/phosphor-ipmi-fru-properties"
+
+S = "${WORKDIR}"
+
+do_install() {
+ # TODO: install this to inventory_datadir
+ # after ipmi-fru-parser untangles the host
+ # firmware config from the machine inventory.
+ DEST=${D}${properties_datadir}
+
+ install -d ${DEST}
+ install extra-properties.yaml ${DEST}/.
+}
+
diff --git a/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-fru-properties/extra-properties.yaml b/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-fru-properties/extra-properties.yaml
new file mode 100644
index 000000000..75bbe0c27
--- /dev/null
+++ b/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-fru-properties/extra-properties.yaml
@@ -0,0 +1,71 @@
+/system/chassis/motherboard/cpu0:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system/chassis/motherboard/cpu1:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system/chassis/motherboard/cpu2:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system/chassis/motherboard/cpu3:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system/chassis/motherboard/bmc:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system/chassis/motherboard:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system/chassis/pdb:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system/chassis/fp:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
diff --git a/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-inventory-map-native.bb b/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-inventory-map-native.bb
new file mode 100644
index 000000000..dc19aa458
--- /dev/null
+++ b/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-inventory-map-native.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Quanta Q71l IPMI to DBus Inventory mapping."
+PR = "r1"
+
+inherit native
+inherit obmc-phosphor-license
+inherit phosphor-ipmi-fru
+
+SRC_URI += "file://config.yaml"
+
+PROVIDES += "virtual/phosphor-ipmi-fru-inventory"
+
+S = "${WORKDIR}"
+
+do_install() {
+ # TODO: install this to inventory_datadir
+ # after ipmi-fru-parser untangles the host
+ # firmware config from the machine inventory.
+ DEST=${D}${config_datadir}
+
+ install -d ${DEST}
+ install config.yaml ${DEST}
+}
diff --git a/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-inventory-map/config.yaml b/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-inventory-map/config.yaml
new file mode 100644
index 000000000..8bb010590
--- /dev/null
+++ b/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-inventory-map/config.yaml
@@ -0,0 +1,109 @@
+0x56:
+ /system/chassis/motherboard:
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Board
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Board
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Board
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Board
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Board
+ /system:
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Chassis
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Chassis
+ Model:
+ IPMIFruProperty: Type
+ IPMIFruSection: Chassis
+
+0x50:
+ /system/chassis/motherboard/bmc:
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Board
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Board
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Board
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Board
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Board
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: FRU File ID
+ IPMIFruSection: Board
+
+0x52:
+ /system/chassis/pdb:
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Board
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Board
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Board
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Board
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Board
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Board
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: FRU File ID
+ IPMIFruSection: Board
+
+0x57:
+ /system/chassis/fp:
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Board
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Board
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Board
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Board
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Board
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Board
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: FRU File ID
+ IPMIFruSection: Board
+
diff --git a/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-sensor-map-native.bb b/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-sensor-map-native.bb
new file mode 100644
index 000000000..951a55fb7
--- /dev/null
+++ b/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-sensor-map-native.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Quanta Q71l IPMI to DBus Sensor mapping."
+PR = "r1"
+
+inherit native
+inherit phosphor-ipmi-host
+inherit obmc-phosphor-license
+
+PROVIDES += "virtual/phosphor-ipmi-sensor-inventory"
+
+SRC_URI += "file://config.yaml"
+
+S = "${WORKDIR}"
+
+do_install() {
+ DEST=${D}${sensor_datadir}
+ install -d ${DEST}
+ install config.yaml ${DEST}/sensor.yaml
+}
diff --git a/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-sensor-map/config.yaml b/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-sensor-map/config.yaml
new file mode 100644
index 000000000..0d6261d69
--- /dev/null
+++ b/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-sensor-map/config.yaml
@@ -0,0 +1,142 @@
+0xF0:
+ sensorType: 0x01
+ path: /xyz/openbmc_project/sensors/temperature/temp2_inlet
+ sensorReadingType: 0x01
+ multiplierM: 511
+ offsetB: 0
+ bExp: 0
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ 0x0:
+ type: int
+
+0xF1:
+ sensorType: 0x01
+ path: /xyz/openbmc_project/sensors/temperature/temp1
+ sensorReadingType: 0x01
+ multiplierM: 511
+ offsetB: 0
+ bExp: 0
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ 0x0:
+ type: int
+
+0xF2:
+ sensorType: 0x01
+ path: /xyz/openbmc_project/sensors/temperature/temp3
+ sensorReadingType: 0x01
+ multiplierM: 511
+ offsetB: 0
+ bExp: 0
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ 0x0:
+ type: int
+
+0xB0:
+ sensorType: 0x04
+ path: /xyz/openbmc_project/sensors/fan_tach/fan1
+ sensorReadingType: 0x01
+ multiplierM: 100
+ offsetB: 0
+ bExp: 0
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ 0x0:
+ type: int
+
+0xB1:
+ sensorType: 0x04
+ path: /xyz/openbmc_project/sensors/fan_tach/fan2
+ sensorReadingType: 0x01
+ multiplierM: 100
+ offsetB: 0
+ bExp: 0
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ 0x0:
+ type: int
+
+0xB2:
+ sensorType: 0x04
+ path: /xyz/openbmc_project/sensors/fan_tach/fan3
+ sensorReadingType: 0x01
+ multiplierM: 100
+ offsetB: 0
+ bExp: 0
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ 0x0:
+ type: int
+
+0xB3:
+ sensorType: 0x04
+ path: /xyz/openbmc_project/sensors/fan_tach/fan4
+ sensorReadingType: 0x01
+ multiplierM: 100
+ offsetB: 0
+ bExp: 0
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ 0x0:
+ type: int
+
+0xB4:
+ sensorType: 0x04
+ path: /xyz/openbmc_project/sensors/fan_tach/fan5
+ sensorReadingType: 0x01
+ multiplierM: 100
+ offsetB: 0
+ bExp: 0
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ 0x0:
+ type: int
+
+0xB5:
+ sensorType: 0x04
+ path: /xyz/openbmc_project/sensors/fan_tach/fan6
+ sensorReadingType: 0x01
+ multiplierM: 100
+ offsetB: 0
+ bExp: 0
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ 0x0:
+ type: int
+
+0xB6:
+ sensorType: 0x04
+ path: /xyz/openbmc_project/sensors/fan_tach/fan7
+ sensorReadingType: 0x01
+ multiplierM: 100
+ offsetB: 0
+ bExp: 0
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ 0x0:
+ type: int
+
+0xB7:
+ sensorType: 0x04
+ path: /xyz/openbmc_project/sensors/fan_tach/fan8
+ sensorReadingType: 0x01
+ multiplierM: 100
+ offsetB: 0
+ bExp: 0
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ 0x0:
+ type: int
diff --git a/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/workbook/quanta-q71l-config.bb b/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/workbook/quanta-q71l-config.bb
new file mode 100644
index 000000000..647633f61
--- /dev/null
+++ b/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/workbook/quanta-q71l-config.bb
@@ -0,0 +1,37 @@
+SUMMARY = "Quanta Q71l board wiring"
+DESCRIPTION = "Board wiring information for the Quanta Q71l system."
+PR = "r1"
+
+inherit allarch
+inherit setuptools
+inherit pythonnative
+inherit obmc-phosphor-license
+
+PROVIDES += "virtual/obmc-inventory-data"
+RPROVIDES_${PN} += "virtual-obmc-inventory-data"
+
+DEPENDS += "python"
+
+S = "${WORKDIR}"
+SRC_URI += "file://Quanta-q71l.py"
+
+# the following is unnecessary.
+python() {
+ machine = d.getVar('MACHINE', True).capitalize() + '.py'
+ d.setVar('_config_in_skeleton', machine)
+}
+
+do_make_setup() {
+ cp ${S}/${_config_in_skeleton} \
+ ${S}/obmc_system_config.py
+ cat <<EOF > ${S}/setup.py
+from distutils.core import setup
+
+setup(name='${BPN}',
+ version='${PR}',
+ py_modules=['obmc_system_config'],
+ )
+EOF
+}
+
+addtask make_setup after do_patch before do_configure
diff --git a/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/workbook/quanta-q71l-config/Quanta-q71l.py b/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/workbook/quanta-q71l-config/Quanta-q71l.py
new file mode 100644
index 000000000..a1036d8a9
--- /dev/null
+++ b/meta-openbmc-machines/meta-x86/meta-quanta/meta-q71l/recipes-phosphor/workbook/quanta-q71l-config/Quanta-q71l.py
@@ -0,0 +1,48 @@
+## System states
+## state can change to next state in 2 ways:
+## - a process emits a GotoSystemState signal with state name to goto
+## - objects specified in EXIT_STATE_DEPEND have started
+SYSTEM_STATES = [
+ 'BASE_APPS',
+ 'BMC_STARTING',
+ 'BMC_READY',
+ 'HOST_POWERING_ON',
+ 'HOST_POWERED_ON',
+ 'HOST_BOOTING',
+ 'HOST_BOOTED',
+ 'HOST_POWERED_OFF',
+]
+
+EXIT_STATE_DEPEND = {
+ 'BASE_APPS' : {
+ '/xyz/openbmc_poroject/sensors': 0,
+ },
+ 'BMC_STARTING' : {
+ '/xyz/openbmc_project/control/chassis0': 0,
+ },
+}
+
+FRU_INSTANCES = {}
+
+# I believe these numbers need to match the yaml file used to create the c++ ipmi map.
+# the devices have types, but I don't believe that factors in here, I think these are
+# just unique IDs.
+ID_LOOKUP = {
+ 'FRU' : {},
+ # The number at the end needs to match the FRU ID.
+ # https://github.com/openbmc/skeleton/blob/master/pysystemmgr/system_manager.py#L143
+ # The paramter for it is of type 'y' (unsigned 8-bit integer) presumably decimal?
+ 'FRU_STR' : {},
+ 'SENSOR' : {},
+ 'GPIO_PRESENT' : {}
+}
+
+GPIO_CONFIG = {}
+HWMON_CONFIG = {}
+GPIO_CONFIGS = {}
+
+# Miscellaneous non-poll sensor with system specific properties.
+# The sensor id is the same as those defined in ID_LOOKUP['SENSOR'].
+MISC_SENSORS = {}
+
+# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
OpenPOWER on IntegriCloud