meta-phosphor: fru-device: Enable on POWER images

There are a handful of tweaks required before fru-device can be
installed in images supporting systems with Power processors.

Skip the remote CFAM i2c buses on Power9 and Power10 to avoid kernel
logs full of i2c related errors and nonfunctional buses.  These buses
will very likely not have EEPROMS with IPMI FRU format VPD on them for
for the foreseeable future anyway.

Don't launch fru-device automatically until additional verification
occurs.

(From meta-phosphor rev: c497f3535c8b7c0529f000e56f042943b5534322)

Change-Id: I5aa6c5fe231337f61847db030293d6b907c4dd06
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
diff --git a/meta-phosphor/recipes-phosphor/configuration/entity-manager/blocklist.json b/meta-phosphor/recipes-phosphor/configuration/entity-manager/blocklist.json
new file mode 100644
index 0000000..f112a7b
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/configuration/entity-manager/blocklist.json
@@ -0,0 +1,3 @@
+{
+    "buses": []
+}
diff --git a/meta-phosphor/recipes-phosphor/configuration/entity-manager/ibm-power10-cpu/blocklist.json b/meta-phosphor/recipes-phosphor/configuration/entity-manager/ibm-power10-cpu/blocklist.json
new file mode 100644
index 0000000..e0f80f6
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/configuration/entity-manager/ibm-power10-cpu/blocklist.json
@@ -0,0 +1,3 @@
+{
+    "buses": [100, 101, 110, 111, 112, 113, 114, 115, 202, 203, 210, 211, 214, 215, 216, 217, 300, 301, 310, 311, 312, 313, 314, 315, 402, 403, 410, 411, 414, 415, 416, 417]
+}
diff --git a/meta-phosphor/recipes-phosphor/configuration/entity-manager/ibm-power9-cpu/blocklist.json b/meta-phosphor/recipes-phosphor/configuration/entity-manager/ibm-power9-cpu/blocklist.json
new file mode 100644
index 0000000..2dbf22d
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/configuration/entity-manager/ibm-power9-cpu/blocklist.json
@@ -0,0 +1,3 @@
+{
+    "buses": [100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214]
+}
diff --git a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb
index d028e69..4162b2b 100644
--- a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb
@@ -2,7 +2,7 @@
 DESCRIPTION = "Entity Manager provides d-bus configuration data \
 and configures system sensors"
 
-SRC_URI = "git://github.com/openbmc/entity-manager.git"
+SRC_URI = "git://github.com/openbmc/entity-manager.git file://blocklist.json"
 SRCREV = "1034e026001ceafb64d828622557af25e0fa5a38"
 PV = "0.1+git${SRCPV}"
 
@@ -11,6 +11,7 @@
 
 SYSTEMD_SERVICE_${PN} = "xyz.openbmc_project.EntityManager.service \
                          ${@bb.utils.contains('DISTRO_FEATURES', 'ipmi-fru', 'xyz.openbmc_project.FruDevice.service', '', d)}"
+SYSTEMD_AUTO_ENABLE_${PN}_ibm-power-cpu = "disable"
 
 DEPENDS = "boost \
            nlohmann-json \
@@ -24,3 +25,7 @@
 
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipmi-fru', d)}"
 PACKAGECONFIG[ipmi-fru] = "-Dfru-device=true, -Dfru-device=false, i2c-tools,"
+
+do_install_append() {
+    install -D ${WORKDIR}/blocklist.json ${D}${datadir}/${BPN}/blacklist.json
+}