meta-asrock: initial skeleton of spc621d8hm3 support

This is a half-width single-socket Xeon server board with an AST2500
BMC.

Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
Change-Id: I3362a992997d02d43f409e1df00c9f8098d05c5b
diff --git a/meta-asrock/meta-spc621d8hm3/conf/layer.conf b/meta-asrock/meta-spc621d8hm3/conf/layer.conf
new file mode 100644
index 0000000..786b5df
--- /dev/null
+++ b/meta-asrock/meta-spc621d8hm3/conf/layer.conf
@@ -0,0 +1,10 @@
+# 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 += "spc621d8hm3-layer"
+BBFILE_PATTERN_spc621d8hm3-layer = "^${LAYERDIR}/"
+LAYERSERIES_COMPAT_spc621d8hm3-layer = "nanbield scarthgap"
diff --git a/meta-asrock/meta-spc621d8hm3/conf/machine/spc621d8hm3.conf b/meta-asrock/meta-spc621d8hm3/conf/machine/spc621d8hm3.conf
new file mode 100644
index 0000000..9248c62
--- /dev/null
+++ b/meta-asrock/meta-spc621d8hm3/conf/machine/spc621d8hm3.conf
@@ -0,0 +1,20 @@
+KMACHINE = "aspeed"
+KERNEL_DEVICETREE = "aspeed/${KMACHINE}-bmc-asrock-${MACHINE}.dtb"
+
+UBOOT_DEVICETREE = "ast2500-evb"
+UBOOT_MACHINE = "evb-ast2500_defconfig"
+
+FLASH_SIZE = "65536"
+
+require conf/machine/include/ast2500.inc
+require conf/machine/include/obmc-bsp-common.inc
+
+PREFERRED_PROVIDER_virtual/obmc-fan-mgmt = "packagegroup-asrock-apps"
+PREFERRED_PROVIDER_virtual/obmc-chassis-mgmt = "packagegroup-asrock-apps"
+PREFERRED_PROVIDER_virtual/obmc-flash-mgmt = "packagegroup-asrock-apps"
+PREFERRED_PROVIDER_virtual/obmc-system-mgmt = "packagegroup-asrock-apps"
+
+PREFERRED_PROVIDER_virtual/obmc-host-ipmi-hw ?= "phosphor-ipmi-kcs"
+
+VIRTUAL-RUNTIME_obmc-inventory-manager = "entity-manager"
+VIRTUAL-RUNTIME_obmc-sensors-hwmon = "dbus-sensors"
diff --git a/meta-asrock/meta-spc621d8hm3/conf/templates/default/bblayers.conf.sample b/meta-asrock/meta-spc621d8hm3/conf/templates/default/bblayers.conf.sample
new file mode 100644
index 0000000..1f6e4ab
--- /dev/null
+++ b/meta-asrock/meta-spc621d8hm3/conf/templates/default/bblayers.conf.sample
@@ -0,0 +1,18 @@
+# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
+# changes incompatibly
+LCONF_VERSION = "8"
+
+BBPATH = "${TOPDIR}"
+BBFILES ?= ""
+
+BBLAYERS ?= " \
+  ##OEROOT##/meta \
+  ##OEROOT##/meta-poky \
+  ##OEROOT##/meta-openembedded/meta-oe \
+  ##OEROOT##/meta-openembedded/meta-networking \
+  ##OEROOT##/meta-openembedded/meta-python \
+  ##OEROOT##/meta-phosphor \
+  ##OEROOT##/meta-aspeed \
+  ##OEROOT##/meta-asrock \
+  ##OEROOT##/meta-asrock/meta-spc621d8hm3 \
+  "
diff --git a/meta-asrock/meta-spc621d8hm3/conf/templates/default/local.conf.sample b/meta-asrock/meta-spc621d8hm3/conf/templates/default/local.conf.sample
new file mode 100644
index 0000000..87f8765
--- /dev/null
+++ b/meta-asrock/meta-spc621d8hm3/conf/templates/default/local.conf.sample
@@ -0,0 +1,17 @@
+MACHINE ??= "spc621d8hm3"
+DISTRO ?= "openbmc-phosphor"
+PACKAGE_CLASSES ?= "package_ipk"
+SANITY_TESTED_DISTROS:append ?= " *"
+EXTRA_IMAGE_FEATURES = "debug-tweaks"
+USER_CLASSES ?= "buildstats"
+PATCHRESOLVE = "noop"
+BB_DISKMON_DIRS = "\
+    STOPTASKS,${TMPDIR},1G,100K \
+    STOPTASKS,${DL_DIR},1G,100K \
+    STOPTASKS,${SSTATE_DIR},1G,100K \
+    STOPTASKS,/tmp,100M,100K \
+    HALT,${TMPDIR},100M,1K \
+    HALT,${DL_DIR},100M,1K \
+    HALT,${SSTATE_DIR},100M,1K \
+    HALT,/tmp,10M,1K"
+CONF_VERSION = "2"
diff --git a/meta-asrock/meta-spc621d8hm3/recipes-asrock/packagegroups/packagegroup-asrock-apps.bb b/meta-asrock/meta-spc621d8hm3/recipes-asrock/packagegroups/packagegroup-asrock-apps.bb
new file mode 100644
index 0000000..da98e6d
--- /dev/null
+++ b/meta-asrock/meta-spc621d8hm3/recipes-asrock/packagegroups/packagegroup-asrock-apps.bb
@@ -0,0 +1,28 @@
+SUMMARY = "OpenBMC for ASRock - Applications"
+PR = "r1"
+
+inherit packagegroup
+
+PROVIDES = "${PACKAGES}"
+PACKAGES = " \
+        ${PN}-flash \
+        ${PN}-system \
+        "
+
+PROVIDES += "virtual/obmc-flash-mgmt"
+PROVIDES += "virtual/obmc-system-mgmt"
+
+RPROVIDES:${PN}-flash += "virtual-obmc-flash-mgmt"
+RPROVIDES:${PN}-system += "virtual-obmc-system-mgmt"
+
+SUMMARY:${PN}-flash = "ASRock Flash"
+RDEPENDS:${PN}-flash = " \
+        phosphor-ipmi-flash \
+        "
+
+SUMMARY:${PN}-system = "ASRock System"
+RDEPENDS:${PN}-system = " \
+        phosphor-host-postd \
+        phosphor-post-code-manager \
+        phosphor-software-manager \
+        "
diff --git a/meta-asrock/meta-spc621d8hm3/recipes-kernel/linux/linux-aspeed/spc621d8hm3.cfg b/meta-asrock/meta-spc621d8hm3/recipes-kernel/linux/linux-aspeed/spc621d8hm3.cfg
new file mode 100644
index 0000000..5733f47
--- /dev/null
+++ b/meta-asrock/meta-spc621d8hm3/recipes-kernel/linux/linux-aspeed/spc621d8hm3.cfg
@@ -0,0 +1,6 @@
+CONFIG_SENSORS_NCT7802=y
+CONFIG_PECI=y
+CONFIG_PECI_CPU=y
+CONFIG_PECI_ASPEED=y
+CONFIG_SENSORS_PECI_CPUTEMP=y
+CONFIG_SENSORS_PECI_DIMMTEMP=y
diff --git a/meta-asrock/meta-spc621d8hm3/recipes-kernel/linux/linux-aspeed_%.bbappend b/meta-asrock/meta-spc621d8hm3/recipes-kernel/linux/linux-aspeed_%.bbappend
new file mode 100644
index 0000000..2427f1c
--- /dev/null
+++ b/meta-asrock/meta-spc621d8hm3/recipes-kernel/linux/linux-aspeed_%.bbappend
@@ -0,0 +1,4 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+SRC_URI += " \
+    file://spc621d8hm3.cfg \
+    "