summaryrefslogtreecommitdiff
path: root/meta-openbmc-mods/meta-common
diff options
context:
space:
mode:
authorJason M. Bills <jason.m.bills@linux.intel.com>2020-05-26 22:54:18 +0300
committerJason M. Bills <jason.m.bills@linux.intel.com>2020-05-27 03:02:18 +0300
commit58cf8b1a7389d20494c909b3542beeb987c69581 (patch)
tree345a0053ae99b25a9d8f14a0fc497aed583b736f /meta-openbmc-mods/meta-common
parent028c1a3663f63db3fdf4b92e6f091506c1c784f9 (diff)
downloadopenbmc-58cf8b1a7389d20494c909b3542beeb987c69581.tar.xz
Update to internal 0.56
Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
Diffstat (limited to 'meta-openbmc-mods/meta-common')
-rw-r--r--meta-openbmc-mods/meta-common/classes/image_types_intel_pfr.bbclass2
-rw-r--r--meta-openbmc-mods/meta-common/classes/obmc-phosphor-image-common.bbclass1
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/busybox/busybox/dev-only.cfg4
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/busybox/busybox/disable.cfg6
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/busybox/busybox_%.bbappend4
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/ipmi/intel-ipmi-oem_%.bbappend2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/nv-sync/nv-sync/nv-sync.service2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/os-release/version-vars.inc5
-rw-r--r--meta-openbmc-mods/meta-common/recipes-devtools/mtd-util/mtd-util.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-graphics/libvncserver/libvncserver_%.bbappend4
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/host-misc-comm-manager/host-misc-comm-manager_git.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/hsbp/hsbp-manager_git.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/intel-blocksign-native.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv2/smbios-mdrv2.service1
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0001-arm-dts-add-DTS-for-Intel-ast2500-platforms.patch22
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0001-arm-dts-add-DTS-for-Intel-ast2600-platforms.patch22
-rwxr-xr-x[-rw-r--r--]meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0005-128MB-flashmap-for-PFR.patch29
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0103-Refine-clock-settings.patch72
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0104-Add-chip-unique-id-reading-interface.patch20
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0105-i2c-aspeed-fix-arbitration-loss-handling-logic.patch38
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed_%.bbappend1
-rw-r--r--meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network/0009-Enhance-DHCP-beyond-just-OFF-and-IPv4-IPv6-enabled.patch94
-rw-r--r--meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network/0011-Added-enable-disable-control-of-the-Network-Interfac.patch189
-rw-r--r--meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network_%.bbappend3
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/configuration/entity-manager_%.bbappend2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0028-MCTP-Daemon-D-Bus-interface-definition.patch459
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces_%.bbappend1
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager/0008-item_updater-update-the-bmc_active-objectPath.patch30
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager_%.bbappend1
-rwxr-xr-xmeta-openbmc-mods/meta-common/recipes-phosphor/fru/default-fru/checkFru.sh4
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0002-Use-chip-id-based-UUID-for-Service-Root.patch71
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb_%.bbappend6
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-kcs_%.bbappend2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-net_%.bbappend2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/pmci/libmctp-intel_git.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/pmci/mctpd.bb4
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors_%.bbappend4
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/virtual-media/virtual-media.bb5
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/webui/phosphor-webui_%.bbappend2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-utilities/nbdkit/nbdkit_git.bb2
-rwxr-xr-xmeta-openbmc-mods/meta-common/recipes-x86/chassis/x86-power-control_%.bbappend2
41 files changed, 769 insertions, 359 deletions
diff --git a/meta-openbmc-mods/meta-common/classes/image_types_intel_pfr.bbclass b/meta-openbmc-mods/meta-common/classes/image_types_intel_pfr.bbclass
index 505391669..abbb0d2dc 100644
--- a/meta-openbmc-mods/meta-common/classes/image_types_intel_pfr.bbclass
+++ b/meta-openbmc-mods/meta-common/classes/image_types_intel_pfr.bbclass
@@ -72,6 +72,8 @@ do_image_pfr () {
mv ${PFR_IMAGES_DIR}/bmc_unsigned_cap.bin ${PFR_IMAGES_DIR}/bmc_unsigned_cap-${DATETIME}.bin
mv ${PFR_IMAGES_DIR}/bmc_signed_cap.bin ${PFR_IMAGES_DIR}/bmc_signed_cap-${DATETIME}.bin
mv ${PFR_IMAGES_DIR}/image-mtd-pfr ${PFR_IMAGES_DIR}/image-mtd-pfr-${DATETIME}.bin
+ ln -sf ${PFR_IMAGES_DIR}/image-mtd-pfr-${DATETIME}.bin ${PFR_IMAGES_DIR}/image-mtd-pfr.bin
+ ln -sf ${PFR_IMAGES_DIR}/bmc_signed_cap-${DATETIME}.bin ${PFR_IMAGES_DIR}/bmc_signed_cap.bin
}
do_image_pfr[vardepsexclude] += "DATE DATETIME"
diff --git a/meta-openbmc-mods/meta-common/classes/obmc-phosphor-image-common.bbclass b/meta-openbmc-mods/meta-common/classes/obmc-phosphor-image-common.bbclass
index ceee7f0fc..4d50fbc52 100644
--- a/meta-openbmc-mods/meta-common/classes/obmc-phosphor-image-common.bbclass
+++ b/meta-openbmc-mods/meta-common/classes/obmc-phosphor-image-common.bbclass
@@ -42,7 +42,6 @@ IMAGE_INSTALL_append = " \
nv-sync \
security-manager \
multi-node-nl \
- mctpd \
virtual-media \
enable-nics \
host-misc-comm-manager \
diff --git a/meta-openbmc-mods/meta-common/recipes-core/busybox/busybox/dev-only.cfg b/meta-openbmc-mods/meta-common/recipes-core/busybox/busybox/dev-only.cfg
new file mode 100644
index 000000000..f8f49e001
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-core/busybox/busybox/dev-only.cfg
@@ -0,0 +1,4 @@
+CONFIG_NC=y
+CONFIG_NETSTAT=y
+CONFIG_TFTP=y
+CONFIG_WGET=y
diff --git a/meta-openbmc-mods/meta-common/recipes-core/busybox/busybox/disable.cfg b/meta-openbmc-mods/meta-common/recipes-core/busybox/busybox/disable.cfg
new file mode 100644
index 000000000..2550ffaf5
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-core/busybox/busybox/disable.cfg
@@ -0,0 +1,6 @@
+CONFIG_NC=n
+CONFIG_NETSTAT=n
+CONFIG_TELNET=n
+CONFIG_TFTP=n
+CONFIG_WGET=n
+CONFIG_UDHCPD=n
diff --git a/meta-openbmc-mods/meta-common/recipes-core/busybox/busybox_%.bbappend b/meta-openbmc-mods/meta-common/recipes-core/busybox/busybox_%.bbappend
new file mode 100644
index 000000000..deb9ccbf8
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-core/busybox/busybox_%.bbappend
@@ -0,0 +1,4 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+SRC_URI += "file://disable.cfg"
+
+SRC_URI += "${@bb.utils.contains('EXTRA_IMAGE_FEATURES', 'debug-tweaks','file://dev-only.cfg','',d)}"
diff --git a/meta-openbmc-mods/meta-common/recipes-core/ipmi/intel-ipmi-oem_%.bbappend b/meta-openbmc-mods/meta-common/recipes-core/ipmi/intel-ipmi-oem_%.bbappend
index 16ee0b625..5fda8788e 100644
--- a/meta-openbmc-mods/meta-common/recipes-core/ipmi/intel-ipmi-oem_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-core/ipmi/intel-ipmi-oem_%.bbappend
@@ -2,4 +2,4 @@ EXTRA_OECMAKE += "${@bb.utils.contains('IMAGE_FSTYPES', 'intel-pfr', '-DINTEL_PF
EXTRA_OECMAKE += "${@bb.utils.contains('EXTRA_IMAGE_FEATURES', 'validation-unsecure', '-DBMC_VALIDATION_UNSECURE_FEATURE=ON', '', d)}"
EXTRA_OECMAKE += "-DUSING_ENTITY_MANAGER_DECORATORS=OFF"
SRC_URI = "git://github.com/openbmc/intel-ipmi-oem.git"
-SRCREV = "2b664d5a185247f0448c763ba7d0e42cfc245024"
+SRCREV = "899bfd15e7230b5da0b2b16c814f4e3bdf6c824c"
diff --git a/meta-openbmc-mods/meta-common/recipes-core/nv-sync/nv-sync/nv-sync.service b/meta-openbmc-mods/meta-common/recipes-core/nv-sync/nv-sync/nv-sync.service
index f5210dd5b..bad3329d3 100644
--- a/meta-openbmc-mods/meta-common/recipes-core/nv-sync/nv-sync/nv-sync.service
+++ b/meta-openbmc-mods/meta-common/recipes-core/nv-sync/nv-sync/nv-sync.service
@@ -6,6 +6,8 @@ Description=Overlay sync to NV storage
ExecStart=bash -c 'while true; do rsync -a --delete /tmp/.overlay/ /tmp/.rwfs/.overlay; sync /tmp/.rwfs/.overlay; sleep 10; done'
# On shutdown, archive the bash history so we don't lose it and run one last sync
ExecStop=bash -c 'history -a; rsync -a --delete /tmp/.overlay/ /tmp/.rwfs/.overlay; sync /tmp/.rwfs/.overlay; sleep 5'
+# Due to sync delay stopping this service will take more than default 10 seconds
+TimeoutStopSec=20
[Install]
WantedBy=multi-user.target
diff --git a/meta-openbmc-mods/meta-common/recipes-core/os-release/version-vars.inc b/meta-openbmc-mods/meta-common/recipes-core/os-release/version-vars.inc
index 0c8f3be56..95061a570 100644
--- a/meta-openbmc-mods/meta-common/recipes-core/os-release/version-vars.inc
+++ b/meta-openbmc-mods/meta-common/recipes-core/os-release/version-vars.inc
@@ -53,11 +53,14 @@ python() {
'describe --long --abbrev=6 ' +
'--match \'{}-[0-9]*\.[0-9]*\''.format(gen))
- # Until tags in meta-openbmc-mods, interim measure keep builds working.
+ # If no tag in meta-openbmc-mods, provide default version
if meta_vers.startswith('fatal:'):
meta_vers = '{}-0.0-0'.format(gen)
meta_hash = irun_git(d, mibase, 'rev-parse HEAD')
+ # If no hash from meta-openbmc-mods, provide default
+ if meta_hash.startswith('fatal:'):
+ meta_hash = '00000000'
version_id = '{}-{}'.format(meta_vers, obmc_hash[0:7])
if version_id:
d.setVar('VERSION_ID', version_id)
diff --git a/meta-openbmc-mods/meta-common/recipes-devtools/mtd-util/mtd-util.bb b/meta-openbmc-mods/meta-common/recipes-devtools/mtd-util/mtd-util.bb
index 7e9d2f195..32bfba4b6 100644
--- a/meta-openbmc-mods/meta-common/recipes-devtools/mtd-util/mtd-util.bb
+++ b/meta-openbmc-mods/meta-common/recipes-devtools/mtd-util/mtd-util.bb
@@ -11,7 +11,7 @@ SRCREV = "69016601a521a95732cc49a3f4c8c7fe4b0ee058"
S = "${WORKDIR}/git"
-DEPENDS += "dbus openssl zlib boost microsoft-gsl"
+DEPENDS += "dbus systemd sdbusplus openssl zlib boost microsoft-gsl i2c-tools"
inherit cmake pkgconfig
diff --git a/meta-openbmc-mods/meta-common/recipes-graphics/libvncserver/libvncserver_%.bbappend b/meta-openbmc-mods/meta-common/recipes-graphics/libvncserver/libvncserver_%.bbappend
index 741ac3715..2f877ed53 100644
--- a/meta-openbmc-mods/meta-common/recipes-graphics/libvncserver/libvncserver_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-graphics/libvncserver/libvncserver_%.bbappend
@@ -1,5 +1,5 @@
FILESEXTRAPATHS_append := ":${THISDIR}/${PN}"
# Use the latest to support obmc-ikvm properly
-#SRC_URI = "git://github.com/LibVNC/libvncserver"
-SRCREV = "9409a6e6aaeaff9dc36f71c21ba5b81b10d44ace"
+SRC_URI = "git://github.com/LibVNC/libvncserver;nobranch=1"
+SRCREV = "ce9ae99b370d76521add190a8ca593aa6e3114dd"
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/host-misc-comm-manager/host-misc-comm-manager_git.bb b/meta-openbmc-mods/meta-common/recipes-intel/host-misc-comm-manager/host-misc-comm-manager_git.bb
index 604ee8068..0a07f5ab0 100644
--- a/meta-openbmc-mods/meta-common/recipes-intel/host-misc-comm-manager/host-misc-comm-manager_git.bb
+++ b/meta-openbmc-mods/meta-common/recipes-intel/host-misc-comm-manager/host-misc-comm-manager_git.bb
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI = "git://github.com/Intel-BMC/host-misc-comm-manager.git;protocol=ssh"
-SRCREV = "2f7be710dea914b975bfb20a9d7a466da85f88cc"
+SRCREV = "7e14ddf805cda0cdf3db564081144d9532e555cd"
inherit cmake systemd
SYSTEMD_SERVICE_${PN} = "xyz.openbmc_project.Host.Misc.Manager.service"
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/hsbp/hsbp-manager_git.bb b/meta-openbmc-mods/meta-common/recipes-intel/hsbp/hsbp-manager_git.bb
index b6fa1c9ea..47e2d7c46 100644
--- a/meta-openbmc-mods/meta-common/recipes-intel/hsbp/hsbp-manager_git.bb
+++ b/meta-openbmc-mods/meta-common/recipes-intel/hsbp/hsbp-manager_git.bb
@@ -2,7 +2,7 @@ SUMMARY = "HSBP Manager"
DESCRIPTION = "HSBP Manager monitors HSBPs through SMBUS"
SRC_URI = "git://github.com/openbmc/s2600wf-misc.git"
-SRCREV = "da0c35fce8b53c1fba05b253c2e24effbbd97197"
+SRCREV = "d86629cedb04607301eef6220688c53f0b29ea0e"
PV = "0.1+git${SRCPV}"
LICENSE = "Apache-2.0"
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/intel-blocksign-native.bb b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/intel-blocksign-native.bb
index 9f8100dc2..4f72dbe2b 100644
--- a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/intel-blocksign-native.bb
+++ b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/intel-blocksign-native.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://${INTELBASE}/COPYING.apache-2.0;md5=34400b68072d710fe
DEPENDS = "openssl-native libxml2-native "
-SRC_URI = "git://github.com/Intel-BMC/blocksign;protocol=ssh"
+SRC_URI = "git://git@github.com/Intel-BMC/blocksign;protocol=ssh"
SRCREV = "852d88a1cbf4dc5856ff88e823a38d2872a86ffe"
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv2/smbios-mdrv2.service b/meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv2/smbios-mdrv2.service
index b72873406..342d17b13 100644
--- a/meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv2/smbios-mdrv2.service
+++ b/meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv2/smbios-mdrv2.service
@@ -5,6 +5,7 @@ Description=Intel BMC SMBIOS MDR V2
Restart=always
RestartSec=5
StartLimitBurst=10
+ExecStartPre=/bin/mkdir -p /var/lib/smbios
ExecStart=/usr/bin/env smbiosmdrv2app
SyslogIdentifier=smbiosmdrv2app
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0001-arm-dts-add-DTS-for-Intel-ast2500-platforms.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0001-arm-dts-add-DTS-for-Intel-ast2500-platforms.patch
index 5a01aaeed..5c4fb8a25 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0001-arm-dts-add-DTS-for-Intel-ast2500-platforms.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0001-arm-dts-add-DTS-for-Intel-ast2500-platforms.patch
@@ -1,4 +1,4 @@
-From c2019bbf210e0e750478a3e6c0c9bfa557c5bc0f Mon Sep 17 00:00:00 2001
+From 2399c5d353e4b8dc55bd7c56bb3f1d01918bccd9 Mon Sep 17 00:00:00 2001
From: Yuan Li <yuan.li@linux.intel.com>
Date: Tue, 19 Sep 2017 15:55:39 +0800
Subject: [PATCH] arm: dts: add DTS for Intel ast2500 platforms
@@ -16,17 +16,18 @@ Signed-off-by: Chen Yugang <yugang.chen@linux.intel.com>
Signed-off-by: Zhikui Ren <zhikui.ren@intel.com>
Signed-off-by: jayaprakash Mutyala <mutyalax.jayaprakash@intel.com>
Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
+Signed-off-by: Arun P. Mohanan <arun.p.m@linux.intel.com>
---
- arch/arm/boot/dts/aspeed-bmc-intel-ast2500.dts | 474 +++++++++++++++++++++++++
- 1 file changed, 474 insertions(+)
+ .../arm/boot/dts/aspeed-bmc-intel-ast2500.dts | 477 ++++++++++++++++++
+ 1 file changed, 477 insertions(+)
create mode 100644 arch/arm/boot/dts/aspeed-bmc-intel-ast2500.dts
diff --git a/arch/arm/boot/dts/aspeed-bmc-intel-ast2500.dts b/arch/arm/boot/dts/aspeed-bmc-intel-ast2500.dts
new file mode 100644
-index 000000000000..18fa1f804874
+index 000000000000..980e2b55a09a
--- /dev/null
+++ b/arch/arm/boot/dts/aspeed-bmc-intel-ast2500.dts
-@@ -0,0 +1,468 @@
+@@ -0,0 +1,477 @@
+/dts-v1/;
+
+#include "aspeed-g5.dtsi"
@@ -255,6 +256,15 @@ index 000000000000..18fa1f804874
+ status = "okay";
+};
+
++&sio_regs {
++ status = "okay";
++ sio_status {
++ offset = <0x8C>;
++ bit-mask = <0x1F>;
++ bit-shift = <4>;
++ };
++};
++
+&lpc_sio {
+ status = "okay";
+};
@@ -496,5 +506,5 @@ index 000000000000..18fa1f804874
+ status = "okay";
+};
--
-2.7.4
+2.17.1
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0001-arm-dts-add-DTS-for-Intel-ast2600-platforms.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0001-arm-dts-add-DTS-for-Intel-ast2600-platforms.patch
index b3e7342c5..e77f744ff 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0001-arm-dts-add-DTS-for-Intel-ast2600-platforms.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0001-arm-dts-add-DTS-for-Intel-ast2600-platforms.patch
@@ -1,4 +1,4 @@
-From 0fca4f924e45f1968f610ad8903f18d638188784 Mon Sep 17 00:00:00 2001
+From 297e22a00a71d386c93b1e0d587a01c0386b31f3 Mon Sep 17 00:00:00 2001
From: Vernon Mauery <vernon.mauery@linux.intel.com>
Date: Tue, 19 Sep 2017 15:55:39 +0800
Subject: [PATCH] arm: dts: add DTS for Intel ast2600 platforms
@@ -11,17 +11,18 @@ Signed-off-by: Chen Yugang <yugang.chen@linux.intel.com>
Signed-off-by: Kuiying Wang <kuiying.wang@intel.com>
Signed-off-by: arun-pm <arun.p.m@linux.intel.com>
Signed-off-by: Ayushi Smriti <smriti.ayushi@intel.com>
+Signed-off-by: Arun P. Mohanan <arun.p.m@linux.intel.com>
---
- arch/arm/boot/dts/aspeed-bmc-intel-ast2600.dts | 516 +++++++++++++++++++++++++
- 1 file changed, 516 insertions(+)
+ .../arm/boot/dts/aspeed-bmc-intel-ast2600.dts | 519 ++++++++++++++++++
+ 1 file changed, 519 insertions(+)
create mode 100644 arch/arm/boot/dts/aspeed-bmc-intel-ast2600.dts
diff --git a/arch/arm/boot/dts/aspeed-bmc-intel-ast2600.dts b/arch/arm/boot/dts/aspeed-bmc-intel-ast2600.dts
new file mode 100644
-index 000000000000..6d626338232e
+index 000000000000..a95b5ac828b3
--- /dev/null
+++ b/arch/arm/boot/dts/aspeed-bmc-intel-ast2600.dts
-@@ -0,0 +1,510 @@
+@@ -0,0 +1,519 @@
+// SPDX-License-Identifier: GPL-2.0+
+/dts-v1/;
+
@@ -279,6 +280,15 @@ index 000000000000..6d626338232e
+ status = "okay";
+};
+
++&sio_regs {
++ status = "okay";
++ sio_status {
++ offset = <0x8C>;
++ bit-mask = <0x1F>;
++ bit-shift = <4>;
++ };
++};
++
+&lpc_sio {
+ status = "okay";
+};
@@ -533,5 +543,5 @@ index 000000000000..6d626338232e
+ status = "okay";
+};
--
-2.7.4
+2.17.1
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0005-128MB-flashmap-for-PFR.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0005-128MB-flashmap-for-PFR.patch
index ca54df9ee..7dd9990a9 100644..100755
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0005-128MB-flashmap-for-PFR.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0005-128MB-flashmap-for-PFR.patch
@@ -1,6 +1,6 @@
-From 9a71adc7aecbfdf066ba54c763c2ecd8fb09d3cd Mon Sep 17 00:00:00 2001
-From: Vikram Bodireddy <vikram.bodireddy@intel.com>
-Date: Wed, 6 Feb 2019 15:59:34 +0530
+From ca0fa975d066b15637188e8fe37dd6d12e0e2bc4 Mon Sep 17 00:00:00 2001
+From: Kuiying Wang <kuiying.wang@intel.com>
+Date: Tue, 28 Apr 2020 22:32:41 +0800
Subject: [PATCH] Selecting 128MB for PFR
PFR platforms requires 128MB flash mapping.
@@ -8,15 +8,17 @@ This will override the existing 64MB flash map
and loads 128MB flash map.
Signed-off-by: Vikram Bodireddy <vikram.bodireddy@intel.com>
+Signed-off-by: Kuiying Wang <kuiying.wang@intel.com>
---
arch/arm/boot/dts/aspeed-bmc-intel-ast2500.dts | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ arch/arm/boot/dts/aspeed-bmc-intel-ast2600.dts | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/boot/dts/aspeed-bmc-intel-ast2500.dts b/arch/arm/boot/dts/aspeed-bmc-intel-ast2500.dts
-index 4815104459f1..df02bb1aaf36 100644
+index 13b94bdf5d62..2cab5fb38d4f 100644
--- a/arch/arm/boot/dts/aspeed-bmc-intel-ast2500.dts
+++ b/arch/arm/boot/dts/aspeed-bmc-intel-ast2500.dts
-@@ -89,7 +89,7 @@
+@@ -96,7 +96,7 @@
flash@0 {
status = "okay";
m25p,fast-read;
@@ -25,6 +27,19 @@ index 4815104459f1..df02bb1aaf36 100644
};
};
+diff --git a/arch/arm/boot/dts/aspeed-bmc-intel-ast2600.dts b/arch/arm/boot/dts/aspeed-bmc-intel-ast2600.dts
+index a95b5ac828b3..bf66e1b6c0fd 100644
+--- a/arch/arm/boot/dts/aspeed-bmc-intel-ast2600.dts
++++ b/arch/arm/boot/dts/aspeed-bmc-intel-ast2600.dts
+@@ -94,7 +94,7 @@
+ spi-max-frequency = <40000000>;
+ spi-tx-bus-width = <4>;
+ m25p,fast-read;
+-#include "openbmc-flash-layout-intel-64MB.dtsi"
++#include "openbmc-flash-layout-intel-128MB.dtsi"
+ };
+ };
+
--
-2.7.4
+2.17.1
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0103-Refine-clock-settings.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0103-Refine-clock-settings.patch
index 4d7440185..ef234fffe 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0103-Refine-clock-settings.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0103-Refine-clock-settings.patch
@@ -1,4 +1,4 @@
-From dd7498a847b3e908dabaed2e9a27b43a26d0dba0 Mon Sep 17 00:00:00 2001
+From 9fc2343bac42db2432f96db1bbfc6979822a7154 Mon Sep 17 00:00:00 2001
From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
Date: Thu, 26 Mar 2020 14:20:19 -0700
Subject: [PATCH] Refine clock settings
@@ -8,11 +8,11 @@ code from Aspeed SDK v00.05.05
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
---
- drivers/clk/clk-ast2600.c | 104 +++++++++++++++++++++++++++++++++++++---------
- 1 file changed, 85 insertions(+), 19 deletions(-)
+ drivers/clk/clk-ast2600.c | 60 +++++++++++++++++++++++++++++++++++++++++------
+ 1 file changed, 53 insertions(+), 7 deletions(-)
diff --git a/drivers/clk/clk-ast2600.c b/drivers/clk/clk-ast2600.c
-index af908b2dbeb6..e5079c5f4fcf 100644
+index fb6b11440b97..e07326544fdc 100644
--- a/drivers/clk/clk-ast2600.c
+++ b/drivers/clk/clk-ast2600.c
@@ -31,6 +31,24 @@
@@ -86,69 +86,7 @@ index af908b2dbeb6..e5079c5f4fcf 100644
&aspeed_g6_clk_lock);
if (IS_ERR(hw))
return PTR_ERR(hw);
-@@ -650,12 +665,20 @@ static struct platform_driver aspeed_g6_clk_driver = {
- };
- builtin_platform_driver(aspeed_g6_clk_driver);
-
--static const u32 ast2600_a0_axi_ahb_div_table[] = {
-- 2, 2, 3, 5,
-+static u32 ast2600_a0_axi_ahb_div_table[] = {
-+ 2, 2, 3, 4,
- };
-
--static const u32 ast2600_a1_axi_ahb_div_table[] = {
-- 4, 6, 2, 4,
-+static u32 ast2600_a1_axi_ahb_div0_table[] = {
-+ 3, 2, 3, 4,
-+};
-+
-+static u32 ast2600_a1_axi_ahb_div1_table[] = {
-+ 3, 4, 6, 8,
-+};
-+
-+static const u32 ast2600_a1_axi_ahb_default_table[] = {
-+ 3, 4, 3, 4, 2, 2, 2, 2,
- };
-
- static void __init aspeed_g6_cc(struct regmap *map)
-@@ -686,16 +709,28 @@ static void __init aspeed_g6_cc(struct regmap *map)
-
- /* Strap bits 12:11 define the AXI/AHB clock frequency ratio (aka HCLK)*/
- regmap_read(map, ASPEED_G6_STRAP1, &val);
-- if (val & BIT(16))
-- axi_div = 1;
-- else
-- axi_div = 2;
--
- regmap_read(map, ASPEED_G6_SILICON_REV, &chip_id);
-- if (chip_id & BIT(16))
-- ahb_div = ast2600_a1_axi_ahb_div_table[(val >> 11) & 0x3];
-- else
-+ if (chip_id & BIT(16)) {
-+ if (val & BIT(16)) {
-+ axi_div = 1;
-+ ast2600_a1_axi_ahb_div1_table[0] =
-+ ast2600_a1_axi_ahb_default_table[(val >> 8) &
-+ 0x3];
-+ ahb_div = ast2600_a1_axi_ahb_div1_table[(val >> 11) &
-+ 0x3];
-+ } else {
-+ axi_div = 2;
-+ ast2600_a1_axi_ahb_div0_table[0] =
-+ ast2600_a1_axi_ahb_default_table[(val >> 8) &
-+ 0x3];
-+ ahb_div = ast2600_a1_axi_ahb_div0_table[(val >> 11) &
-+ 0x3];
-+ }
-+ } else {
-+ /* a0 : fix axi = hpll/2 */
-+ axi_div = 2;
- ahb_div = ast2600_a0_axi_ahb_div_table[(val >> 11) & 0x3];
-+ }
-
- hw = clk_hw_register_fixed_factor(NULL, "ahb", "hpll", 0, 1, axi_div * ahb_div);
- aspeed_g6_clk_data->hws[ASPEED_CLK_AHB] = hw;
-@@ -751,6 +786,37 @@ static void __init aspeed_g6_cc_init(struct device_node *np)
+@@ -770,6 +785,37 @@ static void __init aspeed_g6_cc_init(struct device_node *np)
return;
}
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0104-Add-chip-unique-id-reading-interface.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0104-Add-chip-unique-id-reading-interface.patch
index f366287f1..ec215d07a 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0104-Add-chip-unique-id-reading-interface.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0104-Add-chip-unique-id-reading-interface.patch
@@ -1,4 +1,4 @@
-From 61fd1c976a0867deec8607183849969e2d96aef7 Mon Sep 17 00:00:00 2001
+From 766f7e504cc2a0508c887c7625332c88f93c5729 Mon Sep 17 00:00:00 2001
From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
Date: Fri, 27 Mar 2020 14:42:05 -0700
Subject: [PATCH] Add chip unique id reading interface
@@ -8,12 +8,13 @@ Optionally, the id can be encrypted using a dts-supplied hash data.
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
+Signed-off-by: Arun P. Mohanan <arun.p.m@linux.intel.com>
---
drivers/soc/aspeed/aspeed-bmc-misc.c | 118 ++++++++++++++++++++++++---
1 file changed, 105 insertions(+), 13 deletions(-)
diff --git a/drivers/soc/aspeed/aspeed-bmc-misc.c b/drivers/soc/aspeed/aspeed-bmc-misc.c
-index 04d97ab17274..c80b2e71f254 100644
+index 04d97ab17274..4aad3129f793 100644
--- a/drivers/soc/aspeed/aspeed-bmc-misc.c
+++ b/drivers/soc/aspeed/aspeed-bmc-misc.c
@@ -7,15 +7,18 @@
@@ -52,7 +53,7 @@ index 04d97ab17274..c80b2e71f254 100644
* label = "foo";
* }
*/
-@@ -48,9 +53,22 @@ static int aspeed_bmc_misc_parse_dt_child(struct device_node *child,
+@@ -48,9 +53,21 @@ static int aspeed_bmc_misc_parse_dt_child(struct device_node *child,
if (rc < 0)
return rc;
@@ -74,15 +75,13 @@ index 04d97ab17274..c80b2e71f254 100644
+ if (rc < 0)
+ return rc;
+ }
-+ ctrl->mask <<= ctrl->shift;
rc = of_property_read_u32(child, "bit-shift", &ctrl->shift);
if (rc < 0)
-@@ -58,7 +76,9 @@ static int aspeed_bmc_misc_parse_dt_child(struct device_node *child,
-
+@@ -59,6 +76,9 @@ static int aspeed_bmc_misc_parse_dt_child(struct device_node *child,
ctrl->read_only = of_property_read_bool(child, "read-only");
-- ctrl->mask <<= ctrl->shift;
+ ctrl->mask <<= ctrl->shift;
+ /* optional hash_data for obfuscating reads */
+ if (of_property_read_string(child, "hash-data", &ctrl->hash_data))
+ ctrl->hash_data = NULL;
@@ -188,7 +187,7 @@ index 04d97ab17274..c80b2e71f254 100644
}
static ssize_t aspeed_bmc_misc_store(struct kobject *kobj,
-@@ -114,15 +206,15 @@ static ssize_t aspeed_bmc_misc_store(struct kobject *kobj,
+@@ -114,17 +206,17 @@ static ssize_t aspeed_bmc_misc_store(struct kobject *kobj,
long val;
int rc;
@@ -206,8 +205,11 @@ index 04d97ab17274..c80b2e71f254 100644
+ return rc;
+
val <<= ctrl->shift;
- rc = regmap_update_bits(ctrl->map, ctrl->offset, ctrl->mask, val);
+- rc = regmap_update_bits(ctrl->map, ctrl->offset, ctrl->mask, val);
++ rc = regmap_write_bits(ctrl->map, ctrl->offset, ctrl->mask, val);
+ return rc < 0 ? rc : count;
+ }
--
2.17.1
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0105-i2c-aspeed-fix-arbitration-loss-handling-logic.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0105-i2c-aspeed-fix-arbitration-loss-handling-logic.patch
new file mode 100644
index 000000000..f5c0a6ec8
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0105-i2c-aspeed-fix-arbitration-loss-handling-logic.patch
@@ -0,0 +1,38 @@
+From 2cf0bee18a390a90cd1e5736ba79909a8feef94e Mon Sep 17 00:00:00 2001
+From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
+Date: Tue, 28 Apr 2020 12:08:14 -0700
+Subject: [PATCH] i2c: aspeed: fix arbitration loss handling logic
+
+When an arbitration loss happens in a multi-master bus, driver
+drops the packet induce I2C subsystem to retry the transaction
+by returning -EAGAIN. During this handling, tx_ack comes along
+sometimes and it causes this this garbage printing
+out:
+
+aspeed-i2c-bus 1e78a400.i2c-bus: irq handled != irq. expected 0x00000009, but was 0x00000008
+
+To fix this issue, this commit adds the tx_ack flag clearing into
+the arbitration loss handling logic.
+
+Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
+---
+ drivers/i2c/busses/i2c-aspeed.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/drivers/i2c/busses/i2c-aspeed.c b/drivers/i2c/busses/i2c-aspeed.c
+index b56e60508914..8625c0da440b 100644
+--- a/drivers/i2c/busses/i2c-aspeed.c
++++ b/drivers/i2c/busses/i2c-aspeed.c
+@@ -896,6 +896,9 @@ static u32 aspeed_i2c_master_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
+ if (bus->master_state != ASPEED_I2C_MASTER_INACTIVE) {
+ bus->cmd_err = ret;
+ bus->master_state = ASPEED_I2C_MASTER_INACTIVE;
++ if (ret == -EAGAIN)
++ irq_handled |= (irq_status &
++ ASPEED_I2CD_INTR_TX_ACK);
+ goto out_complete;
+ }
+ }
+--
+2.7.4
+
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed_%.bbappend b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed_%.bbappend
index 936ea4100..1f3085503 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed_%.bbappend
@@ -75,6 +75,7 @@ SRC_URI += " \
file://0102-Fix-for-dirty-node-in-jffs2-summary-entry.patch \
file://0103-Refine-clock-settings.patch \
file://0104-Add-chip-unique-id-reading-interface.patch \
+ file://0105-i2c-aspeed-fix-arbitration-loss-handling-logic.patch \
"
SRC_URI += "${@bb.utils.contains('IMAGE_FSTYPES', 'intel-pfr', 'file://0005-128MB-flashmap-for-PFR.patch', '', d)}"
diff --git a/meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network/0009-Enhance-DHCP-beyond-just-OFF-and-IPv4-IPv6-enabled.patch b/meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network/0009-Enhance-DHCP-beyond-just-OFF-and-IPv4-IPv6-enabled.patch
index 596dfce48..1b36e9d77 100644
--- a/meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network/0009-Enhance-DHCP-beyond-just-OFF-and-IPv4-IPv6-enabled.patch
+++ b/meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network/0009-Enhance-DHCP-beyond-just-OFF-and-IPv4-IPv6-enabled.patch
@@ -1,4 +1,4 @@
-From 163c1756ee676859622614996be81393eb348220 Mon Sep 17 00:00:00 2001
+From 8aee963295f7da07ae67aa09c4eba3fbd2a6ff19 Mon Sep 17 00:00:00 2001
From: Johnathan Mantey <johnathanx.mantey@intel.com>
Date: Thu, 30 Jan 2020 15:07:39 -0800
Subject: [PATCH] Enhance DHCP beyond just OFF and IPv4/IPv6 enabled.
@@ -32,6 +32,8 @@ DHCP.
Change-Id: I2e0ff80ac3a5e88bcff28adac419bf21e37be162
Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>
+
+%% original patch: 0009-Enhance-DHCP-beyond-just-OFF-and-IPv4-IPv6-enabled.patch
---
Makefile.am | 1 +
configure.ac | 1 +
@@ -71,7 +73,7 @@ index 12d6caa..fed3e09 100644
# Checks for header files.
AC_CHECK_HEADER(systemd/sd-bus.h, ,\
diff --git a/ethernet_interface.cpp b/ethernet_interface.cpp
-index fca86bd..3fb0f5e 100644
+index d6c7bdd..82716f9 100644
--- a/ethernet_interface.cpp
+++ b/ethernet_interface.cpp
@@ -3,7 +3,6 @@
@@ -82,7 +84,7 @@ index fca86bd..3fb0f5e 100644
#include "neighbor.hpp"
#include "network_manager.hpp"
#include "vlan_interface.hpp"
-@@ -62,10 +61,12 @@ struct EthernetIntfSocket
+@@ -69,10 +68,12 @@ struct EthernetIntfSocket
int sock{-1};
};
@@ -96,7 +98,7 @@ index fca86bd..3fb0f5e 100644
bool emitSignal) :
Ifaces(bus, objPath.c_str(), true),
bus(bus), manager(parent), objPath(objPath)
-@@ -112,6 +113,65 @@ static IP::Protocol convertFamily(int family)
+@@ -119,6 +120,65 @@ static IP::Protocol convertFamily(int family)
throw std::invalid_argument("Bad address family");
}
@@ -162,7 +164,7 @@ index fca86bd..3fb0f5e 100644
void EthernetInterface::createIPAddressObjects()
{
addrs.clear();
-@@ -122,7 +182,7 @@ void EthernetInterface::createIPAddressObjects()
+@@ -129,7 +189,7 @@ void EthernetInterface::createIPAddressObjects()
{
IP::Protocol addressType = convertFamily(addr.addrType);
IP::AddressOrigin origin = IP::AddressOrigin::Static;
@@ -171,7 +173,7 @@ index fca86bd..3fb0f5e 100644
{
origin = IP::AddressOrigin::DHCP;
}
-@@ -183,11 +243,11 @@ ObjectPath EthernetInterface::iP(IP::Protocol protType, std::string ipaddress,
+@@ -190,11 +250,11 @@ ObjectPath EthernetInterface::iP(IP::Protocol protType, std::string ipaddress,
uint8_t prefixLength, std::string gateway)
{
@@ -185,7 +187,7 @@ index fca86bd..3fb0f5e 100644
}
IP::AddressOrigin origin = IP::AddressOrigin::Static;
-@@ -460,7 +520,7 @@ bool EthernetInterface::iPv6AcceptRA(bool value)
+@@ -469,7 +529,7 @@ bool EthernetInterface::iPv6AcceptRA(bool value)
return value;
}
@@ -194,7 +196,7 @@ index fca86bd..3fb0f5e 100644
{
if (value == EthernetInterfaceIntf::dHCPEnabled())
{
-@@ -552,7 +612,7 @@ void EthernetInterface::loadVLAN(VlanId id)
+@@ -685,7 +745,7 @@ void EthernetInterface::loadVLAN(VlanId id)
std::string path = objPath;
path += "_" + std::to_string(id);
@@ -203,7 +205,7 @@ index fca86bd..3fb0f5e 100644
getDHCPValue(manager.getConfDir().string(), vlanInterfaceName);
auto vlanIntf = std::make_unique<phosphor::network::VlanInterface>(
-@@ -574,7 +634,8 @@ ObjectPath EthernetInterface::createVLAN(VlanId id)
+@@ -707,7 +767,8 @@ ObjectPath EthernetInterface::createVLAN(VlanId id)
path += "_" + std::to_string(id);
auto vlanIntf = std::make_unique<phosphor::network::VlanInterface>(
@@ -213,7 +215,7 @@ index fca86bd..3fb0f5e 100644
// write the device file for the vlan interface.
vlanIntf->writeDeviceFile();
-@@ -647,8 +708,6 @@ void EthernetInterface::writeConfigurationFile()
+@@ -780,8 +841,6 @@ void EthernetInterface::writeConfigurationFile()
// write all the static ip address in the systemd-network conf file
using namespace std::string_literals;
@@ -222,16 +224,12 @@ index fca86bd..3fb0f5e 100644
namespace fs = std::experimental::filesystem;
// if there is vlan interafce then write the configuration file
-@@ -717,42 +776,45 @@ void EthernetInterface::writeConfigurationFile()
+@@ -855,42 +914,45 @@ void EthernetInterface::writeConfigurationFile()
}
// Add the DHCP entry
- auto value = dHCPEnabled() ? "true"s : "false"s;
- stream << "DHCP="s + value + "\n";
--
-- // When the interface configured as dhcp, we don't need below given entries
-- // in config file.
-- if (dHCPEnabled() == false)
+ std::string value = convertForMessage(EthernetInterfaceIntf::dHCPEnabled());
+ std::string::size_type loc = value.rfind(".");
+ std::string requestedDHCPState = value.substr(loc + 1);
@@ -242,14 +240,33 @@ index fca86bd..3fb0f5e 100644
+ bool dhcpv4Requested = dhcpToBeEnabled(IP::Protocol::IPv4, mappedDHCPState);
+ // Static IP addresses
+ for (const auto& addr : addrs)
- {
-- // Static
-- for (const auto& addr : addrs)
++ {
+ bool isValidIPv4 = isValidIP(AF_INET, addr.second->address());
+ bool isValidIPv6 = isValidIP(AF_INET6, addr.second->address());
+ if (((!dhcpv4Requested && isValidIPv4) ||
+ (!dhcpv6Requested && isValidIPv6)) &&
+ addressIsStatic(addr.second->origin()))
++ {
++ // Process all static addresses
++ std::string address = addr.second->address() + "/" +
++ std::to_string(addr.second->prefixLength());
++
++ // build the address entries. Do not use [Network] shortcuts to
++ // insert address entries.
++ stream << "[Address]\n";
++ stream << "Address=" << address << "\n";
++ }
++ }
+
+- // When the interface configured as dhcp, we don't need below given entries
+- // in config file.
+- if (dHCPEnabled() == false)
++ if (manager.getSystemConf())
+ {
+- // Static
+- for (const auto& addr : addrs)
++ const auto& gateway = manager.getSystemConf()->defaultGateway();
++ if (!gateway.empty())
{
- if (addr.second->origin() == AddressOrigin::Static
-#ifndef LINK_LOCAL_AUTOCONFIGURATION
@@ -263,22 +280,12 @@ index fca86bd..3fb0f5e 100644
-
- stream << "Address=" << address << "\n";
- }
-+ // Process all static addresses
-+ std::string address = addr.second->address() + "/" +
-+ std::to_string(addr.second->prefixLength());
-+
-+ // build the address entries. Do not use [Network] shortcuts to
-+ // insert address entries.
-+ stream << "[Address]\n";
-+ stream << "Address=" << address << "\n";
++ stream << "Gateway=" << gateway << "\n";
}
-+ }
-
+-
- if (manager.getSystemConf())
-+ if (manager.getSystemConf())
-+ {
-+ const auto& gateway = manager.getSystemConf()->defaultGateway();
-+ if (!gateway.empty())
++ const auto& gateway6 = manager.getSystemConf()->defaultGateway6();
++ if (!gateway6.empty())
{
- const auto& gateway = manager.getSystemConf()->defaultGateway();
- if (!gateway.empty())
@@ -290,16 +297,11 @@ index fca86bd..3fb0f5e 100644
- {
- stream << "Gateway=" << gateway6 << "\n";
- }
-+ stream << "Gateway=" << gateway << "\n";
-+ }
-+ const auto& gateway6 = manager.getSystemConf()->defaultGateway6();
-+ if (!gateway6.empty())
-+ {
+ stream << "Gateway=" << gateway6 << "\n";
}
}
-@@ -863,7 +925,7 @@ std::string EthernetInterface::mACAddress(std::string value)
+@@ -1001,7 +1063,7 @@ std::string EthernetInterface::mACAddress(std::string value)
void EthernetInterface::deleteAll()
{
@@ -309,10 +311,10 @@ index fca86bd..3fb0f5e 100644
log<level::INFO>("DHCP enabled on the interface"),
entry("INTERFACE=%s", interfaceName().c_str());
diff --git a/ethernet_interface.hpp b/ethernet_interface.hpp
-index 058d328..4e36ae8 100644
+index 6344533..3f7fd31 100644
--- a/ethernet_interface.hpp
+++ b/ethernet_interface.hpp
-@@ -92,7 +92,7 @@ class EthernetInterface : public Ifaces
+@@ -94,7 +94,7 @@ class EthernetInterface : public Ifaces
* send.
*/
EthernetInterface(sdbusplus::bus::bus& bus, const std::string& objPath,
@@ -320,8 +322,8 @@ index 058d328..4e36ae8 100644
+ DHCPConf dhcpEnabled, Manager& parent,
bool emitSignal = true);
- /** @brief Function to create ipaddress dbus object.
-@@ -158,7 +158,34 @@ class EthernetInterface : public Ifaces
+ /** @brief Function used to load the nameservers.
+@@ -164,7 +164,34 @@ class EthernetInterface : public Ifaces
}
/** Set value of DHCPEnabled */
@@ -358,14 +360,14 @@ index 058d328..4e36ae8 100644
/** Retrieve Link State */
bool linkUp() const override;
diff --git a/test/test_ethernet_interface.cpp b/test/test_ethernet_interface.cpp
-index 30dee8a..87fd68d 100644
+index d0beef7..3e2f9ff 100644
--- a/test/test_ethernet_interface.cpp
+++ b/test/test_ethernet_interface.cpp
-@@ -58,7 +58,8 @@ class TestEthernetInterface : public testing::Test
+@@ -59,7 +59,8 @@ class TestEthernetInterface : public testing::Test
{
mock_clear();
mock_addIF("test0", 1, mac);
-- return {bus, "/xyz/openbmc_test/network/test0", false, manager};
+- return {bus, "/xyz/openbmc_test/network/test0", false, manager, true};
+ return {bus, "/xyz/openbmc_test/network/test0",
+ EthernetInterface::DHCPConf::none, manager};
}
@@ -500,5 +502,5 @@ index a994d05..37ae7ee 100644
/** @brief Delete this d-bus object.
*/
--
-2.25.1
+2.25.2
diff --git a/meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network/0011-Added-enable-disable-control-of-the-Network-Interfac.patch b/meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network/0011-Added-enable-disable-control-of-the-Network-Interfac.patch
deleted file mode 100644
index 58dcf3f21..000000000
--- a/meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network/0011-Added-enable-disable-control-of-the-Network-Interfac.patch
+++ /dev/null
@@ -1,189 +0,0 @@
-From 4bfb4ad5ff795d78e06fbeaf1664df6819880f50 Mon Sep 17 00:00:00 2001
-From: Johnathan Mantey <johnathanx.mantey@intel.com>
-Date: Tue, 29 Oct 2019 16:20:28 -0700
-Subject: [PATCH] Added enable/disable control of the Network Interface Card
-
-Implemented enable/disable function to perform
-"ip link set eth(x) up"
-"ip link set eth(x) down"
-functionality from DBus.
-
-Tested:
-
-Confirmed Redfish PATCH commands on the InterfaceEnabled property
-changes the NIC state. Confirmed the NIC is DOWN/UP using "ip link".
-Confirmed "ip link" state changes can be obsserved from dbus-send
-commands, and from Redfish GET actions.
-
-Confirmed the link is inactive after a reboot.
-
-Confirmed link stays down despite assigning an IP manually.
-
-Confirmed link stays down despite enabling DHCP.
-
-Change-Id: I4152b53055e6546f7a6ca81b5a5eef6f689bcc66
-Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>
----
- ethernet_interface.cpp | 73 ++++++++++++++++++++++++++++++++++++++++--
- ethernet_interface.hpp | 11 ++++++-
- 2 files changed, 81 insertions(+), 3 deletions(-)
-
-diff --git a/ethernet_interface.cpp b/ethernet_interface.cpp
-index 8b8f698..a2754a4 100644
---- a/ethernet_interface.cpp
-+++ b/ethernet_interface.cpp
-@@ -85,6 +85,7 @@ EthernetInterface::EthernetInterface(sdbusplus::bus::bus& bus,
- EthernetInterfaceIntf::autoNeg(std::get<2>(ifInfo));
- EthernetInterfaceIntf::speed(std::get<0>(ifInfo));
- EthernetInterfaceIntf::linkUp(std::get<3>(ifInfo));
-+ EthernetInterfaceIntf::nICEnabled(std::get<4>(ifInfo));
- #endif
- getChannelPrivilege(intfName);
-
-@@ -323,11 +324,12 @@ InterfaceInfo EthernetInterface::getInterfaceInfo() const
- Autoneg autoneg{0};
- DuplexMode duplex{0};
- LinkUp linkState{false};
-+ NICEnabled nicEnabled{false};
- EthernetIntfSocket eifSocket(PF_INET, SOCK_DGRAM, IPPROTO_IP);
-
- if (eifSocket.sock < 0)
- {
-- return std::make_tuple(speed, duplex, autoneg, linkState);
-+ return std::make_tuple(speed, duplex, autoneg, linkState, nicEnabled);
- }
-
- std::strncpy(ifr.ifr_name, interfaceName().c_str(), IFNAMSIZ - 1);
-@@ -341,9 +343,10 @@ InterfaceInfo EthernetInterface::getInterfaceInfo() const
- autoneg = edata.autoneg;
- }
-
-+ nicEnabled = nICEnabled();
- linkState = linkUp();
-
-- return std::make_tuple(speed, duplex, autoneg, linkState);
-+ return std::make_tuple(speed, duplex, autoneg, linkState, nicEnabled);
- }
- #endif
-
-@@ -548,6 +551,67 @@ bool EthernetInterface::linkUp() const
- log<level::ERR>("ioctl failed for SIOCGIFFLAGS:",
- entry("ERROR=%s", strerror(errno)));
- }
-+ return value;
-+}
-+
-+bool EthernetInterface::nICEnabled() const
-+{
-+ EthernetIntfSocket eifSocket(PF_INET, SOCK_DGRAM, IPPROTO_IP);
-+ bool value = EthernetInterfaceIntf::nICEnabled();
-+
-+ if (eifSocket.sock < 0)
-+ {
-+ return value;
-+ }
-+
-+ ifreq ifr{0};
-+ std::strncpy(ifr.ifr_name, interfaceName().c_str(), IF_NAMESIZE - 1);
-+ if (ioctl(eifSocket.sock, SIOCGIFFLAGS, &ifr) == 0)
-+ {
-+ value = static_cast<bool>(ifr.ifr_flags & IFF_UP);
-+ }
-+ else
-+ {
-+ log<level::ERR>("ioctl failed for SIOCGIFFLAGS:",
-+ entry("ERROR=%s", strerror(errno)));
-+ }
-+ return value;
-+}
-+
-+bool EthernetInterface::nICEnabled(bool value)
-+{
-+ if (value == EthernetInterfaceIntf::nICEnabled())
-+ {
-+ return value;
-+ }
-+
-+ EthernetIntfSocket eifSocket(PF_INET, SOCK_DGRAM, IPPROTO_IP);
-+ if (eifSocket.sock < 0)
-+ {
-+ return EthernetInterfaceIntf::nICEnabled();
-+ }
-+
-+ ifreq ifr{0};
-+ std::strncpy(ifr.ifr_name, interfaceName().c_str(), IF_NAMESIZE - 1);
-+ if (ioctl(eifSocket.sock, SIOCGIFFLAGS, &ifr) != 0)
-+ {
-+ log<level::ERR>("ioctl failed for SIOCGIFFLAGS:",
-+ entry("ERROR=%s", strerror(errno)));
-+ return EthernetInterfaceIntf::nICEnabled();
-+ }
-+
-+ ifr.ifr_flags &= ~IFF_UP;
-+ ifr.ifr_flags |= value ? IFF_UP : 0;
-+
-+ if (ioctl(eifSocket.sock, SIOCSIFFLAGS, &ifr) != 0)
-+ {
-+ log<level::ERR>("ioctl failed for SIOCSIFFLAGS:",
-+ entry("ERROR=%s", strerror(errno)));
-+ return EthernetInterfaceIntf::nICEnabled();
-+ }
-+ EthernetInterfaceIntf::nICEnabled(value);
-+ writeConfigurationFile();
-+ manager.restartSystemdUnit(networkdService);
-
- return value;
- }
-@@ -742,6 +806,11 @@ void EthernetInterface::writeConfigurationFile()
- stream << "MACAddress=" << mac << "\n";
- }
-
-+ if (!nICEnabled())
-+ {
-+ stream << "Unmanaged=yes\n";
-+ }
-+
- // write the network section
- stream << "[Network]\n";
- #ifdef LINK_LOCAL_AUTOCONFIGURATION
-diff --git a/ethernet_interface.hpp b/ethernet_interface.hpp
-index 4e36ae8..104750e 100644
---- a/ethernet_interface.hpp
-+++ b/ethernet_interface.hpp
-@@ -60,9 +60,11 @@ using LinkSpeed = uint16_t;
- using DuplexMode = uint8_t;
- using Autoneg = uint8_t;
- using LinkUp = bool;
-+using NICEnabled = bool;
- using VlanId = uint32_t;
- using InterfaceName = std::string;
--using InterfaceInfo = std::tuple<LinkSpeed, DuplexMode, Autoneg, LinkUp>;
-+using InterfaceInfo =
-+ std::tuple<LinkSpeed, DuplexMode, Autoneg, LinkUp, NICEnabled>;
- using AddressMap = std::map<std::string, std::shared_ptr<IPAddress>>;
- using NeighborMap = std::map<std::string, std::shared_ptr<Neighbor>>;
- using VlanInterfaceMap =
-@@ -190,6 +192,12 @@ class EthernetInterface : public Ifaces
- /** Retrieve Link State */
- bool linkUp() const override;
-
-+ /** Retrieve NIC State */
-+ bool nICEnabled() const override;
-+
-+ /** Set value of NICEnabled */
-+ bool nICEnabled(bool value) override;
-+
- /** @brief sets the MAC address.
- * @param[in] value - MAC address which needs to be set on the system.
- * @returns macAddress of the interface or throws an error.
-@@ -246,6 +254,7 @@ class EthernetInterface : public Ifaces
- using EthernetInterfaceIntf::dHCPEnabled;
- using EthernetInterfaceIntf::interfaceName;
- using EthernetInterfaceIntf::linkUp;
-+ using EthernetInterfaceIntf::nICEnabled;
- using MacAddressIntf::mACAddress;
-
- /** @brief Absolute path of the resolv conf file */
---
-2.24.1
-
diff --git a/meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network_%.bbappend b/meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network_%.bbappend
index fe7f050c0..5774d5318 100644
--- a/meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network_%.bbappend
@@ -6,8 +6,7 @@ DEPENDS += "nlohmann-json boost"
SRC_URI = "git://github.com/openbmc/phosphor-networkd;nobranch=1"
SRC_URI += "file://0003-Adding-channel-specific-privilege-to-network.patch \
file://0009-Enhance-DHCP-beyond-just-OFF-and-IPv4-IPv6-enabled.patch \
- file://0011-Added-enable-disable-control-of-the-Network-Interfac.patch \
"
-SRCREV = "ad4bf5ce1292c74ac2ecea413ff27c14cf5748fe"
+SRCREV = "d0679f9bb46670c593061c4aaebec2a577cdd5c3"
EXTRA_OECONF_append = " --enable-nic-ethtool=yes"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/configuration/entity-manager_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/configuration/entity-manager_%.bbappend
index 59330e8f3..01c9ead9f 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/configuration/entity-manager_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/configuration/entity-manager_%.bbappend
@@ -1,6 +1,6 @@
# this is here just to bump faster than upstream
SRC_URI = "git://github.com/openbmc/entity-manager.git"
-SRCREV = "ff58eba9e7f06b60879db38e1be6b41c6b2b9092"
+SRCREV = "2539ccd113174d37feb1b0c036f97ada68f541e7"
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0028-MCTP-Daemon-D-Bus-interface-definition.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0028-MCTP-Daemon-D-Bus-interface-definition.patch
new file mode 100644
index 000000000..fba025207
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0028-MCTP-Daemon-D-Bus-interface-definition.patch
@@ -0,0 +1,459 @@
+From 7a3fc3a969d2a187be20a972a5a7209944731bea Mon Sep 17 00:00:00 2001
+From: "Kowalski, Mariusz" <mariusz.kowalski@intel.com>
+Date: Thu, 27 Feb 2020 15:48:56 +0100
+Subject: [PATCH] MCTP Daemon D-Bus interface definition.
+
+This interface definition was created on base of the MCTP design
+proposed in this document:
+https://gerrit.openbmc-project.xyz/c/openbmc/docs/+/28424/9/designs/mctp.md
+
+Signed-off-by: Mariusz Kowalski <mariusz.kowalski@intel.com>
+Signed-off-by: Karol Wachowski <karol.wachowski@intel.com>
+Change-Id: Ida66f8ffcf00003655edcb0fb0112202797b8e1a
+---
+ xyz/openbmc_project/MCTP/Base.interface.yaml | 231 ++++++++++++++++++
+ .../MCTP/Binding/PCIe.interface.yaml | 29 +++
+ .../MCTP/Binding/SMBus.interface.yaml | 17 ++
+ .../MCTP/BusOwner.interface.yaml | 15 ++
+ .../MCTP/Endpoint.interface.yaml | 19 ++
+ xyz/openbmc_project/MCTP/README.md | 38 +++
+ .../MCTP/SupportedMessageTypes.interface.yaml | 36 +++
+ 7 files changed, 385 insertions(+)
+ create mode 100644 xyz/openbmc_project/MCTP/Base.interface.yaml
+ create mode 100644 xyz/openbmc_project/MCTP/Binding/PCIe.interface.yaml
+ create mode 100644 xyz/openbmc_project/MCTP/Binding/SMBus.interface.yaml
+ create mode 100644 xyz/openbmc_project/MCTP/BusOwner.interface.yaml
+ create mode 100644 xyz/openbmc_project/MCTP/Endpoint.interface.yaml
+ create mode 100644 xyz/openbmc_project/MCTP/README.md
+ create mode 100644 xyz/openbmc_project/MCTP/SupportedMessageTypes.interface.yaml
+
+diff --git a/xyz/openbmc_project/MCTP/Base.interface.yaml b/xyz/openbmc_project/MCTP/Base.interface.yaml
+new file mode 100644
+index 0000000..9a649a5
+--- /dev/null
++++ b/xyz/openbmc_project/MCTP/Base.interface.yaml
+@@ -0,0 +1,231 @@
++description: >
++ Mandatory interface for each instance of the MCTP Daemon to expose
++ the base MCTP daemon and medium type interfaces.
++
++methods:
++ - name: SendMctpMessagePayload
++ description: >
++ Sends message over MCTP interface
++ parameters:
++ - name: DestinationEID
++ type: byte
++ description: >
++ Destination Endpoint ID. The logical address used to route MCTP
++ messages to a specific MCTP endpoint.
++ - name: MsgTag
++ type: byte
++ description: >
++ Message tag. Field that, along with the Source Endpoint IDs and the
++ Tag Owner (TO) field, identifies a unique message at the MCTP
++ transport level.
++ - name: TagOwner
++ type: boolean
++ description: >
++ Tag Owner bit identifies whether the message tag was originated by
++ the endpoint that is the source of the message or by the endpoint
++ that is the destination of the message.
++ - name: Payload
++ type: array[byte]
++ description: Payload of message.
++ returns:
++ - name: Status
++ type: byte
++ description: 0 - if success
++ errors:
++ - xyz.openbmc_project.Common.Error.Timeout
++ - xyz.openbmc_project.Common.Error.InvalidArgument
++ - xyz.openbmc_project.Common.Error.InternalFailure
++
++ - name: SendMctpMessageFileDescriptor
++ description: >
++ Sends message over MCTP interface
++ parameters:
++ - name: DestinationEID
++ type: byte
++ description: >
++ Destination Endpoint ID. The logical address used to route MCTP
++ messages to a specific MCTP endpoint.
++ - name: MsgTag
++ type: byte
++ description: >
++ Message tag. Field that, along with the Source Endpoint IDs and the
++ Tag Owner (TO) field, identifies a unique message at the MCTP
++ transport level.
++ - name: TagOwner
++ type: boolean
++ description: >
++ Tag Owner bit identifies whether the message tag was originated by
++ the endpoint that is the source of the message or by the endpoint
++ that is the destination of the message.
++ - name: FileDescriptor
++ type: unixfd
++ description: File descriptor of message.
++ returns:
++ - name: Status
++ type: byte
++ description: 0 - if success
++ errors:
++ - xyz.openbmc_project.Common.Error.Timeout
++ - xyz.openbmc_project.Common.Error.InvalidArgument
++ - xyz.openbmc_project.Common.Error.InternalFailure
++
++signals:
++ - name: MessageReceivedSignal
++ description: >
++ Signal indicating upper layers about arrival of a MCTP message.
++ properties:
++ - name: MessageType
++ type: enum[self.MessageTypes]
++ description: >
++ Defines the values for the Message Type field for different message
++ types transported through MCTP.
++ - name: SrcEid
++ type: byte
++ description: >
++ Source Endpoint ID. The logical address used to route MCTP messages
++ to a specific MCTP endpoint.
++ - name: MsgTag
++ type: byte
++ description: >
++ Message tag. Field that, along with the Source Endpoint IDs and the
++ Tag Owner (TO) field, identifies a unique message at the MCTP
++ transport level.
++ - name: TagOwner
++ type: boolean
++ description: >
++ Tag Owner bit identifies whether the message tag was originated by
++ the endpoint that is the source of the message or by the endpoint
++ that is the destination of the message.
++ - name: Payload
++ type: array[byte]
++ description: Payload of message.
++
++properties:
++ - name: Eid
++ type: byte
++ description: >
++ Endpoint ID. The logical address used to route MCTP messages to a
++ specific MCTP endpoint.
++
++ - name: BindingID
++ type: enum[self.BindingTypes]
++
++ - name: BindingMediumID
++ type: enum[self.MctpPhysicalMediumIdentifiers]
++
++ - name: StaticEid
++ type: boolean
++ description: Support for statically/dynamicly allocated IDs
++
++ - name: Uuid
++ type: array[byte]
++ description: Guid - 16bytes
++
++ - name: BindingMode
++ type: enum[self.BindingModeTypes]
++ description: Bus Owner / Endpoint / Bridge
++
++enumerations:
++ - name: BindingTypes
++ description: >
++ All other values than described are reserved.
++ values:
++ - name: MctpOverSmbus
++ - name: MctpOverPcieVdm
++ - name: MctpOverUsb
++ description: Reserved for MCTP over USB
++ - name: MctpOverKcs
++ - name: MctpOverSerial
++ - name: VendorDefined
++
++ - name: MctpPhysicalMediumIdentifiers
++ description: >
++ Identifies MCTP physical medium identifiers. see DSP0239.
++ values:
++ - name: Smbus
++ descritpion: SMBus 2.0 100 kHz compatible
++ - name: SmbusI2c
++ descritpion: SMBus 2.0 + I2C 100 kHz compatible
++ - name: I2cCompatible
++ description: I2C 100 kHz compatible (Standard-mode)
++ - name: Smbus3OrI2c400khzCompatible
++ description: SMBus 3.0 or I2C 400 kHz compatible (Fast-mode)
++ - name: Smbus3OrI2c1MhzCompatible
++ description: SMBus 3.0 or I2C 1 MHz compatible (Fast-mode Plus)
++ - name: I2c3Mhz4Compatible
++ description: I2C 3.4 MHz compatible (High-speed mode)
++ - name: Pcie11
++ description: PCIe revision 1.1 compatible
++ - name: Pcie2
++ description: PCIe revision 2.0 compatible
++ - name: Pcie21
++ description: PCIe revision 2.1 compatible
++ - name: Pcie3
++ description: PCIe revision 3.0 compatible
++ - name: Pcie4
++ description: PCIe revision 4.0 compatible
++ - name: Pcie5
++ description: PCIe revision 4.0 compatible
++ - name: PciCompatible
++ description: >
++ PCI compatible (PCI 1.0,2.0,2.1,2.2,2.3,3.0,PCI-X 1.0, PCI-X 2.0)
++ - name: Usb11Compatible
++ description: USB 1.1 compatible
++ - name: Usb20Compatible
++ description: USB 2.0 compatible
++ - name: Usb30Compatible
++ description: USB 3.0 compatible
++ - name: NcSiOverRbt
++ description: >
++ NC-SI over RBT (A physical interface based on RMII as defined in
++ DSP0222)
++ - name: KcsLegacy
++ description: KCS1 / Legacy (Fixed Address Decoding)
++ - name: KcsPci
++ description: KCS1 / PCI (Base Class 0xC0 Subclass 0x01)
++ - name: SerialHostLegacy
++ description: Serial Host2 / Legacy (Fixed Address Decoding)
++ - name: SerialHostPci
++ description: Serial Host2 / PCI (Base Class 0x07 Subclass 0x00)
++ - name: AsynchronousSerial
++ description: Asynchronous Serial (Between MCs and IMDs)
++ - name: I3cSDR
++ description: I3C 12.5 MHz compatible (SDR)
++ - name: I3cHDRDDR
++ description: I3C 25 MHz compatible (HDR-DDR)
++
++ - name: BindingModeTypes
++ values:
++ - name: Endpoint
++ description: >
++ An MCTP communication terminus. An MCTP endpoint is a terminus or
++ origin of MCTP packets or messages. That is, the combined
++ functionality within a physical device that communicates using the
++ MCTP transport protocol and handles MCTP control commands. This
++ includes MCTP-capable management controllers and managed devices.
++ Also referred to in this document as "endpoint".
++ - name: BusOwner
++ description: >
++ The party responsible for managing address assignments (can be
++ logical or physical addresses) on a bus (for example, in MCTP, the
++ bus owner is the party responsible for managing EID assignments for
++ a given bus). A bus owner may also have additional media-specific
++ responsibilities, such as assignment of physical addresses.
++ - name: Bridge
++ description: >
++ An MCTP endpoint that can route MCTP messages not destined for
++ itself that it receives on one interconnect onto another without
++ interpreting them. The ingress and egress media at the bridge may
++ be either homogeneous or heterogeneous. Also referred to in this
++ document as a "bridge".
++
++ - name: MessageTypes
++ values:
++ - name: MctpControl
++ - name: PLDM
++ - name: NCSI
++ - name: Ethernet
++ - name: NVMeMgmtMsg
++ - name: SPDM
++ - name: VDPCI
++ - name: VDIANA
+diff --git a/xyz/openbmc_project/MCTP/Binding/PCIe.interface.yaml b/xyz/openbmc_project/MCTP/Binding/PCIe.interface.yaml
+new file mode 100644
+index 0000000..1bd2881
+--- /dev/null
++++ b/xyz/openbmc_project/MCTP/Binding/PCIe.interface.yaml
+@@ -0,0 +1,29 @@
++description: >
++ Interface exposed by MCTP daemon for PCIe binding
++
++properties:
++ - name: DiscoveredFlag
++ type: enum[self.DiscoveryFlags]
++ description: >
++ Each endpoint (except the bus owner) on the PCIe bus maintains an
++ internal flag called the Discovered flag. The flag is set to the
++ discovered state when the Set Endpoint ID command is received.
++
++ - name: BDF
++ type: uint16
++ description: >
++ Byte 1 [7:0] Bus number
++ Byte 2 [7:3] Device number [2:0] Function Number
++
++enumerations:
++ - name: DiscoveryFlags
++ description: >
++ The Prepare for Endpoint Discovery message causes each recipient
++ endpoint on the PCIe bus to set their respective Discovered flag to
++ the undiscovered state. For the Prepare for Endpoint Discovery request
++ message, the routing in the physical transport header should be set to
++ 011b (Broadcast from Root Complex).
++ values:
++ - name: Discovered
++ - name: Undiscovered
++ - name: NotApplicable
+diff --git a/xyz/openbmc_project/MCTP/Binding/SMBus.interface.yaml b/xyz/openbmc_project/MCTP/Binding/SMBus.interface.yaml
+new file mode 100644
+index 0000000..9219ad0
+--- /dev/null
++++ b/xyz/openbmc_project/MCTP/Binding/SMBus.interface.yaml
+@@ -0,0 +1,17 @@
++description: >
++ Interface exposed by MCTP daemon for SMBus binding
++
++properties:
++ - name: ArpMasterSupport
++ type: boolean
++ description: >
++ The SMBus binding can also run ARP Master protocol and
++ assign SMBus addresses to the devices on the bus.
++
++ - name: BusNumber
++ type: byte
++ description: I2C bus number of the medium used
++
++ - name: SlaveAddress
++ type: byte
++ description: Slave address to be used for this medium
+diff --git a/xyz/openbmc_project/MCTP/BusOwner.interface.yaml b/xyz/openbmc_project/MCTP/BusOwner.interface.yaml
+new file mode 100644
+index 0000000..0853381
+--- /dev/null
++++ b/xyz/openbmc_project/MCTP/BusOwner.interface.yaml
+@@ -0,0 +1,15 @@
++description: >
++ Interface exposed by MCTP root object, when executing in Bus Owner mode.
++
++properties:
++ - name: EidPool
++ type: array[struct[byte, byte]]
++ description: Pool of allowed EIDs to be used
++
++ - name: TopMostBusOwner
++ type: boolean
++ description: To indicate whether BMC is topmost Bus Owner
++
++ - name: OwnEidPool
++ type: boolean
++ description: Indicates Eid pool is managed by self
+diff --git a/xyz/openbmc_project/MCTP/Endpoint.interface.yaml b/xyz/openbmc_project/MCTP/Endpoint.interface.yaml
+new file mode 100644
+index 0000000..b7f9a67
+--- /dev/null
++++ b/xyz/openbmc_project/MCTP/Endpoint.interface.yaml
+@@ -0,0 +1,19 @@
++description:
++ Interface exposed by discovered MCTP endpoints.
++
++properties:
++ - name: Uuid
++ type: array[byte]
++ description: >
++ Universally unique identifier (UUID), also referred to as a globally
++ unique ID (GUID), for the management controller or management device.
++
++ - name: Mode
++ type: enum[xyz.openbmc_project.MCTP.Base.BindingModeTypes]
++ description: Endpoint / BusOwner / Bridge
++
++ - name: NetworkId
++ type: uint16
++ description: >
++ MCTP network ID a unique identifier to distinguish each independent
++ MCTP network within a platform.
+diff --git a/xyz/openbmc_project/MCTP/README.md b/xyz/openbmc_project/MCTP/README.md
+new file mode 100644
+index 0000000..1c3b4aa
+--- /dev/null
++++ b/xyz/openbmc_project/MCTP/README.md
+@@ -0,0 +1,38 @@
++# MCTP Daemon
++
++## Overview
++MCTP service exposes D-Bus methods / properties / signals for managing
++MCTP devices or work as MCTP Endpoint. MCTP daemon will either
++work in Bus Owner or Endpoint mode for the specified physical medium.
++
++### MCTP service
++MCTP service can be started either in Bus Owner mode or Endpoint mode.
++It will expose following objects.
++1. Base object
++2. MCTP Endpoints (discovered in case of Bus Owner mode, queried using
++routing table in case of Endpoint mode)
++Please refer individual yaml file for details about the
++methods / signals / properties exposed in the interfaces.
++
++#### Base object
++Exposed under the path `/xyz/openbmc_project/mctp` with the following
++interfaces.
++1. `xyz.openbmc_project.MCTP.Base` which exposes all the common properties
++needed for MCTP Daemon.
++2. `xyz.openbmc_project.MCTP.BusOwner` available only in Bus Owner mode
++which exposes the properties needed by Bus Owner MCTP Daemon.
++3. `xyz.openbmc_project.MCTP.SupportedMessageTypes` which exposes the message
++types supported.
++4. Binding interface `xyz.openbmc_project.MCTP.Binding.PCIe` or
++`xyz.openbmc_project.MCTP.Binding.SMBus` as per the physical medium in which
++this MCTP Daemon is instantiated.
++
++#### Endpoint object
++Exposed under the path `/xyz/openbmc_project/mctp/device/<eid>` with the
++following interfaces.
++1. `xyz.openbmc_project.MCTP.SupportedMessageTypes` which exposes supported MCTP
++message types for the discovered MCTP Endpoint.
++2. `xyz.openbmc_project.MCTP.Enpoint` which exposes properties like UUID and endpoint
++mode (to identify Bus Owner or Bridge or Endpoint) for the discovered MCTP Endpoint.
++3. `xyz.openbmc_project.MCTP.Bridge` available only for discovered MCTP Bridges to
++expose properties like EID pool. (TBD)
+diff --git a/xyz/openbmc_project/MCTP/SupportedMessageTypes.interface.yaml b/xyz/openbmc_project/MCTP/SupportedMessageTypes.interface.yaml
+new file mode 100644
+index 0000000..fa447ee
+--- /dev/null
++++ b/xyz/openbmc_project/MCTP/SupportedMessageTypes.interface.yaml
+@@ -0,0 +1,36 @@
++description:
++ Interface used to represent the supported MCTP message types.
++ This will be exposed by all MCTP endpoints.
++
++properties:
++ - name: MctpControl
++ type: boolean
++ description: Indicates support availability
++
++ - name: PLDM
++ type: boolean
++ description: Indicates support availability
++
++ - name: NCSI
++ type: boolean
++ description: Indicates support availability
++
++ - name: Ethernet
++ type: boolean
++ description: Indicates support availability
++
++ - name: NVMeMgmtMsg
++ type: boolean
++ description: Indicates support availability
++
++ - name: SPDM
++ type: boolean
++ description: Indicates support availability
++
++ - name: VDPCI
++ type: boolean
++ description: Indicates support availability
++
++ - name: VDIANA
++ type: boolean
++ description: Indicates support availability
+--
+2.17.1
+
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces_%.bbappend
index 63124074a..91f3d8311 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces_%.bbappend
@@ -12,4 +12,5 @@ SRC_URI += "file://0005-Add-DBUS-interface-of-CPU-and-Memory-s-properties.patch
file://0025-Add-PreInterruptFlag-properity-in-DBUS.patch \
file://0001-Reapply-Enhance-DHCP-beyond-just-OFF-and-IPv4-IPv6-e.patch \
file://0026-Add-StandbySpare-support-for-software-inventory.patch \
+ file://0028-MCTP-Daemon-D-Bus-interface-definition.patch \
"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager/0008-item_updater-update-the-bmc_active-objectPath.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager/0008-item_updater-update-the-bmc_active-objectPath.patch
new file mode 100644
index 000000000..bac756a18
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager/0008-item_updater-update-the-bmc_active-objectPath.patch
@@ -0,0 +1,30 @@
+From d9e50ecf8bd8bc764838e7244084184644a3f0fc Mon Sep 17 00:00:00 2001
+From: Chalapathi <chalapathix.venkataramashetty@intel.com>
+Date: Thu, 23 Apr 2020 19:06:19 +0000
+Subject: [PATCH] item_updater: update the bmc_active objectPath
+
+Update the Software object path to bmc_active instead of random Id.
+
+Signed-off-by: Chalapathi <chalapathix.venkataramashetty@intel.com>
+---
+ item_updater.cpp | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/item_updater.cpp b/item_updater.cpp
+index 7fe69e4..3ce1dbf 100644
+--- a/item_updater.cpp
++++ b/item_updater.cpp
+@@ -175,9 +175,7 @@ void ItemUpdater::processBMCImage()
+ if (0 ==
+ iter.path().native().compare(0, BMC_RO_PREFIX_LEN, BMC_ROFS_PREFIX))
+ {
+- // The versionId is extracted from the path
+- // for example /media/ro-2a1022fe.
+- auto id = iter.path().native().substr(BMC_RO_PREFIX_LEN);
++ std::string id = "bmc_active";
+ auto osRelease = iter.path() / OS_RELEASE_FILE;
+ if (!fs::is_regular_file(osRelease))
+ {
+--
+2.17.1
+
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager_%.bbappend
index 96ddfc3ca..edd4254ce 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager_%.bbappend
@@ -10,6 +10,7 @@ SRC_URI += "file://0002-Redfish-firmware-activation.patch \
file://0005-Modified-firmware-activation-to-launch-fwupd.sh-thro.patch \
file://0006-Modify-the-ID-of-software-image-updater-object-on-DB.patch \
file://0007-Adding-StandBySpare-for-firmware-activation.patch \
+ file://0008-item_updater-update-the-bmc_active-objectPath.patch \
"
SRC_URI_PFR = "file://0007-PFR-images-support.patch \
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/fru/default-fru/checkFru.sh b/meta-openbmc-mods/meta-common/recipes-phosphor/fru/default-fru/checkFru.sh
index 52da21230..9227beb20 100755
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/fru/default-fru/checkFru.sh
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/fru/default-fru/checkFru.sh
@@ -29,12 +29,12 @@ if grep -q 'CPU part\s*: 0xb76' /proc/cpuinfo; then
case $BOARD_ID in
12) NAME="D50TNP1SB"
PRODID="0x99";;
- 38) NAME="WilsonCity"
- PRODID="0x91";;
40) NAME="CooperCity"
PRODID="0x9d";;
42) NAME="WilsonCity"
PRODID="0x91";;
+ 44) NAME="WilsonCityM"
+ PRODID="0x91";;
45) NAME="WilsonCity"
PRODID="0x91";;
60) NAME="M50CYP2SB2U"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0002-Use-chip-id-based-UUID-for-Service-Root.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0002-Use-chip-id-based-UUID-for-Service-Root.patch
new file mode 100644
index 000000000..03c27fb43
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0002-Use-chip-id-based-UUID-for-Service-Root.patch
@@ -0,0 +1,71 @@
+From d629bf86a9ac970d8c0505c0aa2488373c9df102 Mon Sep 17 00:00:00 2001
+From: Wiktor Golgowski <wiktor.golgowski@linux.intel.com>
+Date: Thu, 30 Apr 2020 11:09:35 +0200
+Subject: [PATCH] Use chip id-based UUID for Service Root.
+
+If the sysfs-provided chip id is available, it will be used as
+payload to generate Service Root UUID from hardcoded namespace.
+
+Tested:
+Generated UUID is consistent between BMC image reflashes.
+If the sysfs node is not available, code falls back to randomly
+generated UUID.
+
+Signed-off-by: Wiktor GoĊ‚gowski <wiktor.golgowski@linux.intel.com>
+---
+ include/persistent_data_middleware.hpp | 32 +++++++++++++++++++++++---
+ 1 file changed, 29 insertions(+), 3 deletions(-)
+
+diff --git a/include/persistent_data_middleware.hpp b/include/persistent_data_middleware.hpp
+index 348079b..925e7b6 100644
+--- a/include/persistent_data_middleware.hpp
++++ b/include/persistent_data_middleware.hpp
+@@ -30,6 +30,10 @@ class Middleware
+ public:
+ // todo(ed) should read this from a fixed location somewhere, not CWD
+ static constexpr const char* filename = "bmcweb_persistent_data.json";
++ static constexpr const char* chipIdSysfsNode = "/sys/devices/platform"
++ "/ahb/ahb:apb/1e6e2000.syscon/1e6e2000.syscon:misc_control/chip_id";
++ static constexpr const char* UuidNs = "{b7b0553a-54cc-4162-982d-"
++ "944847ed76f5}";
+
+ struct Context
+ {
+@@ -143,9 +147,31 @@ class Middleware
+
+ if (systemUuid.empty())
+ {
+- systemUuid =
+- boost::uuids::to_string(boost::uuids::random_generator()());
+- needWrite = true;
++ // Try to retrieve chip id-based uuid.
++ std::ifstream chipIdFile(chipIdSysfsNode);
++ if (chipIdFile.is_open())
++ {
++ std::string chipId;
++ std::getline(chipIdFile, chipId);
++ if (!chipId.empty())
++ {
++ boost::uuids::name_generator_sha1 gen(
++ boost::uuids::string_generator()(UuidNs));
++ systemUuid = boost::uuids::to_string(gen(chipId.c_str()));
++ needWrite = true;
++ }
++ else
++ {
++ BMCWEB_LOG_ERROR << "Cannot get chip id-based System UUID.";
++ }
++ }
++ // If the above fails, generate random uuid.
++ if (systemUuid.empty())
++ {
++ systemUuid =
++ boost::uuids::to_string(boost::uuids::random_generator()());
++ needWrite = true;
++ }
+ }
+ if (fileRevision < jsonRevision)
+ {
+--
+2.20.1
+
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb_%.bbappend
index 2e59a7b78..c9f95121f 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb_%.bbappend
@@ -1,6 +1,6 @@
# todo(james) remove nobranch
SRC_URI = "git://github.com/openbmc/bmcweb.git"
-SRCREV = "e5aaf047b6b41b0837ef0846cf5356c9a6bcb030"
+SRCREV = "8a3bb71ebcdf14dafd5967192f73bf2416e8bb6e"
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
@@ -11,6 +11,7 @@ USERADD_PARAM_${PN} = "-r -s /usr/sbin/nologin -d /home/bmcweb -m -G shadow bmcw
GROUPADD_PARAM_${PN} = "web; redfish "
SRC_URI += "file://0001-Firmware-update-support-for-StandBySpare.patch \
+ file://0002-Use-chip-id-based-UUID-for-Service-Root.patch \
"
# Enable PFR support
@@ -19,9 +20,6 @@ EXTRA_OECMAKE += "${@bb.utils.contains('IMAGE_FSTYPES', 'intel-pfr', '-DBMCWEB_E
# Enable NBD_PROXY
EXTRA_OECMAKE += " -DBMCWEB_ENABLE_VM_NBDPROXY=ON"
-# Disable MTLS until it passes security review
-EXTRA_OECMAKE += " -DBMCWEB_ENABLE_MUTUAL_TLS_AUTHENTICATION=OFF"
-
# Enable Validation unsecure based on IMAGE_FEATURES
EXTRA_OECMAKE += "${@bb.utils.contains('EXTRA_IMAGE_FEATURES', 'validation-unsecure', '-DBMCWEB_ENABLE_VALIDATION_UNSECURE_FEATURE=ON', '', d)}"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-kcs_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-kcs_%.bbappend
index adb1cc551..97d329498 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-kcs_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-kcs_%.bbappend
@@ -11,7 +11,7 @@ SMM_DEVICE = "ipmi_kcs4"
SYSTEMD_SERVICE_${PN}_append = " ${PN}@${SMM_DEVICE}.service "
SRC_URI = "git://github.com/openbmc/kcsbridge.git"
-SRCREV = "46525ae48db23333493ac927c12ed13a0e663de5"
+SRCREV = "58d596ad9625790b5e06804360aa161579364425"
SRC_URI += "file://99-ipmi-kcs.rules"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-net_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-net_%.bbappend
index 6ea4aa960..15a0041c2 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-net_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-net_%.bbappend
@@ -3,7 +3,7 @@ inherit useradd
# TODO: This should be removed, once up-stream bump up
# issue is resolved
SRC_URI += "git://github.com/openbmc/phosphor-net-ipmid"
-SRCREV = "9979e9971e17c974f29ec9ab720f5482308c119c"
+SRCREV = "a6ad5e161e5e5db4258b04254b19796f154b8533"
USERADD_PACKAGES = "${PN}"
# add a group called ipmi
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/libmctp-intel_git.bb b/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/libmctp-intel_git.bb
index f7bec2af9..82305938d 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/libmctp-intel_git.bb
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/libmctp-intel_git.bb
@@ -2,7 +2,7 @@ SUMMARY = "libmctp_intel"
DESCRIPTION = "Implementation of MCTP(DMTF DSP0236)"
SRC_URI = "git://github.com/Intel-BMC/libmctp.git;protocol=ssh"
-SRCREV = "9f0aa081fdcc1ad5a8ca9025dbd0a559a68f4005"
+SRCREV = "a077c8ca846574509983d10aaa33de943ab6388a"
S = "${WORKDIR}/git/"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/mctpd.bb b/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/mctpd.bb
index d9a2297ac..d0a03636d 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/mctpd.bb
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/mctpd.bb
@@ -5,7 +5,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI = "git://github.com/Intel-BMC/pmci.git;protocol=ssh"
-SRCREV = "34e98dc5e6bac78ccee86fb1ea1837b9ef1360a5"
+SRCREV = "626ae6b67b1e2c53e25c0be0b42561c6776be1c7"
S = "${WORKDIR}/git/mctpd/"
@@ -25,8 +25,10 @@ DEPENDS += " \
cli11 \
nlohmann-json \
gtest \
+ phosphor-dbus-interfaces \
"
SMBUS_BINDING = "smbus"
FILES_${PN} += "${systemd_system_unitdir}/xyz.openbmc_project.mctpd@.service"
SYSTEMD_SERVICE_${PN} += "xyz.openbmc_project.mctpd@${SMBUS_BINDING}.service"
+FILES_${PN} += "/usr/share/mctp/mctp_config.json"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors_%.bbappend
index f8ca43c3c..69b721779 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors_%.bbappend
@@ -1,5 +1,5 @@
-SRCREV = "17aba776373e14851a04e6b9ac518622b117b2a1"
-SRC_URI = "git://github.com/openbmc/dbus-sensors.git"
+SRCREV = "10306bd5032fda014628487665d8000c0db49177"
+#SRC_URI = "git://github.com/openbmc/dbus-sensors.git"
DEPENDS_append = " libgpiod libmctp"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/virtual-media/virtual-media.bb b/meta-openbmc-mods/meta-common/recipes-phosphor/virtual-media/virtual-media.bb
index 5b74dec5e..333611dbb 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/virtual-media/virtual-media.bb
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/virtual-media/virtual-media.bb
@@ -14,11 +14,12 @@ SYSTEMD_SERVICE_${PN} += "xyz.openbmc_project.VirtualMedia.service"
DEPENDS = "udev boost nlohmann-json systemd sdbusplus"
-# Temporarily not needed due to Legacy mode disabling
-# RDEPENDS_${PN} = "nbdkit"
+# Needed for legacy mode
+RDEPENDS_${PN} = "nbdkit"
inherit cmake systemd
EXTRA_OECMAKE += "-DYOCTO_DEPENDENCIES=ON"
+EXTRA_OECMAKE += "-DLEGACY_MODE_ENABLED=ON"
FULL_OPTIMIZATION = "-Os -pipe -flto -fno-rtti"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/webui/phosphor-webui_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/webui/phosphor-webui_%.bbappend
index 5923eb8d9..2382b20e7 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/webui/phosphor-webui_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/webui/phosphor-webui_%.bbappend
@@ -1,4 +1,4 @@
SRC_URI = "git://github.com/Intel-BMC/phosphor-webui;protocol=ssh;branch=intel2"
FILESEXTRAPATHS_prepend_intel := "${THISDIR}/${PN}:"
-SRCREV = "8dea5a0000fcf9d1daada0b92811d9f1bf308a9f"
+SRCREV = "3d8dcffe2bbbdbb0212507bec60eb4e9f91c1d18"
diff --git a/meta-openbmc-mods/meta-common/recipes-utilities/nbdkit/nbdkit_git.bb b/meta-openbmc-mods/meta-common/recipes-utilities/nbdkit/nbdkit_git.bb
index d74c13427..207a8ede3 100644
--- a/meta-openbmc-mods/meta-common/recipes-utilities/nbdkit/nbdkit_git.bb
+++ b/meta-openbmc-mods/meta-common/recipes-utilities/nbdkit/nbdkit_git.bb
@@ -13,7 +13,7 @@ SRC_URI = "git://github.com/libguestfs/nbdkit.git;protocol=https"
SRC_URI += "file://0001-Force-nbdkit-to-send-PATCH-as-upload-method.patch"
PV = "1.17.5+git${SRCPV}"
-SRCREV = "0a76cae407aca6411af3c7db1efafc56dcd151ed"
+SRCREV = "c8406880c6603bb617dae131dd0a8826c05869ca"
S = "${WORKDIR}/git"
diff --git a/meta-openbmc-mods/meta-common/recipes-x86/chassis/x86-power-control_%.bbappend b/meta-openbmc-mods/meta-common/recipes-x86/chassis/x86-power-control_%.bbappend
index 9323dc003..600f9e25f 100755
--- a/meta-openbmc-mods/meta-common/recipes-x86/chassis/x86-power-control_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-x86/chassis/x86-power-control_%.bbappend
@@ -1,3 +1,3 @@
# Enable downstream autobump
SRC_URI = "git://github.com/openbmc/x86-power-control.git;protocol=ssh"
-SRCREV = "fc1ecc59100d21c953501703bc5db9e02e25b333"
+SRCREV = "35aa665e01cf9d735ba4aeb3818a60caab376692"