meta-ibm: introduce new huygens system

The huygens machine is based on the new pstbmc machine family from IBM.
It will be our first redundant BMC system [1].

The initial focus on this machine will be the redundant BMC feature.
The simulation model we use will just be 2 BMCs initially. Due to this
focus and simulation model, this commit strips out all of the host
firmware and host processor related features.

Tested:
- Confirmed in our 2 BMC simulation model that both BMCs come to Ready
  and only the expected vpd services have failed
- Confirmed network into the BMCs worked as expected

[1]: https://gerrit.openbmc.org/c/openbmc/docs/+/70233

Change-Id: Ieb42337980c0ec39d16c492c77810473d5105aa0
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
diff --git a/meta-ibm/conf/machine/huygens.conf b/meta-ibm/conf/machine/huygens.conf
new file mode 100644
index 0000000..a5f6cd0
--- /dev/null
+++ b/meta-ibm/conf/machine/huygens.conf
@@ -0,0 +1,25 @@
+MACHINEOVERRIDES =. "pstbmc:"
+require conf/machine/pstbmc.conf
+
+# Focus Huygens initially on a multi-BMC setup for integrating
+# BMC to BMC redundancy logic. Remove anything host or chassis
+# related that causes failures booting to BMC Ready.
+MACHINE_FEATURES:remove = " \
+    op-fsi \
+    phal \
+    "
+
+DISTRO_FEATURES:remove = " \
+    openpower-virtual-pnor \
+    openpower-hostfw-over-pldm \
+    mpreboot \
+    "
+
+IMAGE_FEATURES:remove = " \
+    obmc-leds \
+    obmc-chassis-mgmt \
+    obmc-fan-control \
+    obmc-fan-mgmt \
+    obmc-host-ctl \
+    obmc-host-ipmi \
+    "
diff --git a/meta-ibm/conf/templates/default/conf-notes.txt b/meta-ibm/conf/templates/default/conf-notes.txt
index 99d7599..8070972 100644
--- a/meta-ibm/conf/templates/default/conf-notes.txt
+++ b/meta-ibm/conf/templates/default/conf-notes.txt
@@ -2,6 +2,8 @@
 
 pstbmc:
 MACHINE=pstbmc bitbake obmc-phosphor-image
+huygens:
+MACHINE=huygens bitbake obmc-phosphor-image
 p10bmc:
 MACHINE=p10bmc bitbake obmc-phosphor-image
 witherspoon:
diff --git a/meta-ibm/dynamic-layers/meta-openpower/recipes-phosphor/packagegroups/packagegroup-op-apps.bbappend b/meta-ibm/dynamic-layers/meta-openpower/recipes-phosphor/packagegroups/packagegroup-op-apps.bbappend
index 3561360..afb7959 100644
--- a/meta-ibm/dynamic-layers/meta-openpower/recipes-phosphor/packagegroups/packagegroup-op-apps.bbappend
+++ b/meta-ibm/dynamic-layers/meta-openpower/recipes-phosphor/packagegroups/packagegroup-op-apps.bbappend
@@ -1 +1,4 @@
 RDEPENDS:${PN}-system:remove:witherspoon = "croserver"
+
+# No host firmware related features for huygens wanted yet
+RDEPENDS:${PN}-flash:remove:huygens = " openpower-software-manager"
diff --git a/meta-ibm/recipes-phosphor/images/obmc-phosphor-image.bbappend b/meta-ibm/recipes-phosphor/images/obmc-phosphor-image.bbappend
index 745071f..0029ee7 100644
--- a/meta-ibm/recipes-phosphor/images/obmc-phosphor-image.bbappend
+++ b/meta-ibm/recipes-phosphor/images/obmc-phosphor-image.bbappend
@@ -1,6 +1,8 @@
 OBMC_IMAGE_EXTRA_INSTALL:append:ibm-ac-server = " mboxd max31785-msl phosphor-msl-verify liberation-fonts uart-render-controller first-boot-set-hostname"
 OBMC_IMAGE_EXTRA_INSTALL:remove:witherspoon-tacoma = " liberation-fonts uart-render-controller"
 OBMC_IMAGE_EXTRA_INSTALL:append:p10bmc = " mboxd"
+# No host firmware related features for huygens wanted yet
+OBMC_IMAGE_EXTRA_INSTALL:remove:huygens = " mboxd"
 
 IMAGE_FEATURES:append = " obmc-dbus-monitor"
 
diff --git a/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend b/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
index a7f2ea4..51cb77e 100644
--- a/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
+++ b/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
@@ -28,6 +28,7 @@
 RDEPENDS:${PN}-inventory:append:ibm-ac-server = " openpower-fru-vpd openpower-occ-control phosphor-cooling-type phosphor-gpio-monitor-presence"
 RDEPENDS:${PN}-inventory:append:p10bmc = " openpower-fru-vpd openpower-occ-control phosphor-gpio-monitor-presence entity-manager"
 RDEPENDS:${PN}-inventory:append:witherspoon-tacoma = " entity-manager"
+RDEPENDS:${PN}-inventory:remove:huygens = " openpower-occ-control"
 
 RDEPENDS:${PN}-fan-control:append:ibm-ac-server = " fan-watchdog"
 RDEPENDS:${PN}-fan-control:append:p10bmc = " fan-watchdog phosphor-fan-sensor-monitor"
diff --git a/meta-ibm/recipes-phosphor/pldm/pldm_%.bbappend b/meta-ibm/recipes-phosphor/pldm/pldm_%.bbappend
index 589bf3d..1d30faf 100644
--- a/meta-ibm/recipes-phosphor/pldm/pldm_%.bbappend
+++ b/meta-ibm/recipes-phosphor/pldm/pldm_%.bbappend
@@ -1,6 +1,9 @@
 # Force the mctp-demux to be used until machine is ready to use in-kernel MCTP
 PACKAGECONFIG:append = " transport-mctp-demux oem-ibm"
 
+# Huygens does not currently want the IBM OEM functions (no PHYP)
+PACKAGECONFIG:remove:huygens = " oem-ibm"
+
 EXTRA_OEMESON += " \
         -Dsoftoff-timeout-seconds=2700 \
         "