meta-openbmc-machines: Add Romulus

Romulus is a Power9 OpenPOWER system developed by IBM.

TODO:
 - bump skeleton for config/Romulus.py
 - bump kernel for device tree

Change-Id: I9779f213e3ebc6286f6eaac35650e6c4fe395f80
Signed-off-by: Joel Stanley <joel@jms.id.au>
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/conf/bblayers.conf.sample b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/conf/bblayers.conf.sample
new file mode 100644
index 0000000..14b6687
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/conf/bblayers.conf.sample
@@ -0,0 +1,35 @@
+# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
+# changes incompatibly
+LCONF_VERSION = "7"
+
+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-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-romulus \
+  "
+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-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-romulus \
+  "
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/conf/conf-notes.txt b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/conf/conf-notes.txt
new file mode 100644
index 0000000..9b3c01a
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/conf/conf-notes.txt
@@ -0,0 +1,2 @@
+Common targets are:
+     obmc-phosphor-image
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/conf/layer.conf b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/conf/layer.conf
new file mode 100644
index 0000000..18c57da
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/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 += "romulus"
+BBFILE_PATTERN_romulus = ""
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/conf/local.conf.sample b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/conf/local.conf.sample
new file mode 100644
index 0000000..c3d029d
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/conf/local.conf.sample
@@ -0,0 +1,21 @@
+MACHINE ??= "romulus"
+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-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/conf/machine/romulus.conf b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/conf/machine/romulus.conf
new file mode 100644
index 0000000..ef39de9
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/conf/machine/romulus.conf
@@ -0,0 +1,10 @@
+KMACHINE = "aspeed"
+KERNEL_DEVICETREE = "${KMACHINE}-bmc-opp-${MACHINE}.dtb"
+
+UBOOT_MACHINE = "ast_g5_ncsi_config"
+
+OBMC_MACHINE_FEATURES += "obmc-mrw"
+
+require conf/machine/include/ast2500.inc
+require conf/machine/include/obmc-bsp-common.inc
+require conf/machine/include/ibm.inc
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/recipes-kernel/linux/linux-obmc/romulus.cfg b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/recipes-kernel/linux/linux-obmc/romulus.cfg
new file mode 100644
index 0000000..01fb1c1
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/recipes-kernel/linux/linux-obmc/romulus.cfg
@@ -0,0 +1,3 @@
+CONFIG_HWMON=y
+CONFIG_SENSORS_TMP421=y
+CONFIG_SENSORS_MAX31785=y
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/recipes-kernel/linux/linux-obmc_%.bbappend b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/recipes-kernel/linux/linux-obmc_%.bbappend
new file mode 100644
index 0000000..5d48028
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/recipes-kernel/linux/linux-obmc_%.bbappend
@@ -0,0 +1,2 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/linux-obmc:"
+SRC_URI += "file://romulus.cfg"
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/recipes-phosphor/workbook/romulus-config.bb b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/recipes-phosphor/workbook/romulus-config.bb
new file mode 100644
index 0000000..6abc16b
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/recipes-phosphor/workbook/romulus-config.bb
@@ -0,0 +1,5 @@
+SUMMARY = "Romulus board wiring"
+DESCRIPTION = "Board wiring information for the Romulus OpenPOWER system."
+PR = "r1"
+
+inherit config-in-skeleton
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/recipes.txt b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/recipes.txt
new file mode 100644
index 0000000..3ec3f4a
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/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