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>
diff --git a/meta-q71l/recipes-phosphor/workbook/quanta-q71l-config.bb b/meta-q71l/recipes-phosphor/workbook/quanta-q71l-config.bb
new file mode 100644
index 0000000..647633f
--- /dev/null
+++ b/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-q71l/recipes-phosphor/workbook/quanta-q71l-config/Quanta-q71l.py b/meta-q71l/recipes-phosphor/workbook/quanta-q71l-config/Quanta-q71l.py
new file mode 100644
index 0000000..a1036d8
--- /dev/null
+++ b/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