Add Stonewither OpenPOWER system layer

This system uses much of the same hardware as Witherspoon,
but not have any power supplies or fans in the chassis.  As such,
it includes the meta-witherspoon layer and points to the Witherspoon
device tree and MRW XML.

A future commit will fully remove fan and power supply
monitoring.

Change-Id: I1c7f7da66b306f3c30eb955a63121cc3f62f663a
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
diff --git a/meta-stonewither/README.md b/meta-stonewither/README.md
new file mode 100644
index 0000000..963404a
--- /dev/null
+++ b/meta-stonewither/README.md
@@ -0,0 +1,8 @@
+Stonewither
+================
+
+This is the Stonewither machine layer.
+
+Stonewither is very similar to the 4 GPU Witherspoon system and uses the
+same motherboard.  Unlike Witherspoon, the fans and power supplies have been
+removed from the chassis and are part of the rack.
diff --git a/meta-stonewither/conf/bblayers.conf.sample b/meta-stonewither/conf/bblayers.conf.sample
new file mode 100644
index 0000000..4bcca84
--- /dev/null
+++ b/meta-stonewither/conf/bblayers.conf.sample
@@ -0,0 +1,39 @@
+# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
+# changes incompatibly
+LCONF_VERSION = "6"
+
+BBPATH = "${TOPDIR}"
+BBFILES ?= ""
+
+BBLAYERS ?= " \
+  ##OEROOT##/meta \
+  ##OEROOT##/meta-poky \
+  ##OEROOT##/import-layers/meta-openembedded/meta-oe \
+  ##OEROOT##/import-layers/meta-openembedded/meta-networking \
+  ##OEROOT##/import-layers/meta-openembedded/meta-perl \
+  ##OEROOT##/import-layers/meta-openembedded/meta-python \
+  ##OEROOT##/import-layers/meta-virtualization \
+  ##OEROOT##/meta-phosphor \
+  ##OEROOT##/meta-openbmc-bsp/meta-aspeed \
+  ##OEROOT##/meta-openbmc-bsp/meta-aspeed/meta-ast2500 \
+  ##OEROOT##/meta-openbmc-machines/meta-openpower \
+  ##OEROOT##/meta-openbmc-machines/meta-openpower/meta-ibm \
+  ##OEROOT##/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon \
+  ##OEROOT##/meta-openbmc-machines/meta-openpower/meta-ibm/meta-stonewither \
+  "
+BBLAYERS_NON_REMOVABLE ?= " \
+  ##OEROOT##/meta \
+  ##OEROOT##/meta-poky \
+  ##OEROOT##/import-layers/meta-openembedded/meta-oe \
+  ##OEROOT##/import-layers/meta-openembedded/meta-networking \
+  ##OEROOT##/import-layers/meta-openembedded/meta-perl \
+  ##OEROOT##/import-layers/meta-openembedded/meta-python \
+  ##OEROOT##/import-layers/meta-virtualization \
+  ##OEROOT##/meta-phosphor \
+  ##OEROOT##/meta-openbmc-bsp/meta-aspeed \
+  ##OEROOT##/meta-openbmc-bsp/meta-aspeed/meta-ast2500 \
+  ##OEROOT##/meta-openbmc-machines/meta-openpower \
+  ##OEROOT##/meta-openbmc-machines/meta-openpower/meta-ibm \
+  ##OEROOT##/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon \
+  ##OEROOT##/meta-openbmc-machines/meta-openpower/meta-ibm/meta-stonewither \
+  "
diff --git a/meta-stonewither/conf/conf-notes.txt b/meta-stonewither/conf/conf-notes.txt
new file mode 100644
index 0000000..9b3c01a
--- /dev/null
+++ b/meta-stonewither/conf/conf-notes.txt
@@ -0,0 +1,2 @@
+Common targets are:
+     obmc-phosphor-image
diff --git a/meta-stonewither/conf/layer.conf b/meta-stonewither/conf/layer.conf
new file mode 100644
index 0000000..ee7760c
--- /dev/null
+++ b/meta-stonewither/conf/layer.conf
@@ -0,0 +1,9 @@
+# We have a conf and classes directory, add to BBPATH
+BBPATH .= ":${LAYERDIR}"
+
+# We have recipes-* directories, add to BBFILES
+BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
+            ${LAYERDIR}/recipes-*/*/*.bbappend"
+
+BBFILE_COLLECTIONS += "stonewither"
+BBFILE_PATTERN_stonewither = ""
diff --git a/meta-stonewither/conf/local.conf.sample b/meta-stonewither/conf/local.conf.sample
new file mode 100644
index 0000000..1153d85
--- /dev/null
+++ b/meta-stonewither/conf/local.conf.sample
@@ -0,0 +1,21 @@
+MACHINE ??= "stonewither"
+DISTRO ?= "openbmc-phosphor"
+PACKAGE_CLASSES ?= "package_rpm"
+SANITY_TESTED_DISTROS_append ?= " *"
+EXTRA_IMAGE_FEATURES = "debug-tweaks"
+USER_CLASSES ?= "buildstats image-mklibs image-prelink"
+PATCHRESOLVE = "noop"
+BB_DISKMON_DIRS = "\
+    STOPTASKS,${TMPDIR},1G,100K \
+    STOPTASKS,${DL_DIR},1G,100K \
+    STOPTASKS,${SSTATE_DIR},1G,100K \
+    STOPTASKS,/tmp,100M,100K \
+    ABORT,${TMPDIR},100M,1K \
+    ABORT,${DL_DIR},100M,1K \
+    ABORT,${SSTATE_DIR},100M,1K \
+    ABORT,/tmp,10M,1K"
+CONF_VERSION = "1"
+INHERIT += "extrausers"
+EXTRA_USERS_PARAMS = " \
+  usermod -p '\$1\$UGMqyqdG\$FZiylVFmRRfl9Z0Ue8G7e/' root; \
+  "
diff --git a/meta-stonewither/conf/machine/stonewither.conf b/meta-stonewither/conf/machine/stonewither.conf
new file mode 100644
index 0000000..de0eff2
--- /dev/null
+++ b/meta-stonewither/conf/machine/stonewither.conf
@@ -0,0 +1,13 @@
+require conf/machine/witherspoon.conf
+
+#Use the Withespoon device tree
+KERNEL_DEVICETREE = "${KMACHINE}-bmc-opp-witherspoon.dtb"
+
+#No power supplies
+OBMC_POWER_SUPPLY_INSTANCES = ""
+
+#Use the witherspoon MRW XML
+MRW_XML = "witherspoon.xml"
+
+#No fans to detect
+VIRTUAL-RUNTIME_obmc-fan-presence = ""
\ No newline at end of file
diff --git a/meta-stonewither/recipes-phosphor/workbook/stonewither-config.bb b/meta-stonewither/recipes-phosphor/workbook/stonewither-config.bb
new file mode 100644
index 0000000..18b3a68
--- /dev/null
+++ b/meta-stonewither/recipes-phosphor/workbook/stonewither-config.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Stonewither board wiring"
+DESCRIPTION = "Board wiring information for the Stonewither OpenPOWER system."
+PR = "r1"
+
+inherit config-in-skeleton
+
+#Use Witherspoon's config
+do_make_setup() {
+        cp ${S}/Witherspoon.py \
+                ${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
+}
diff --git a/meta-stonewither/recipes.txt b/meta-stonewither/recipes.txt
new file mode 100644
index 0000000..3ec3f4a
--- /dev/null
+++ b/meta-stonewither/recipes.txt
@@ -0,0 +1,2 @@
+recipes-kernel       - The kernel and generic applications/libraries with strong kernel dependencies
+recipes-phosphor     - Phosphor OpenBMC applications and configuration