summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--meta-facebook/meta-bletchley/recipes-bletchley/detect-gpio-present/files/detect-sled-present15
-rw-r--r--meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB0.conf2
-rw-r--r--meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB1.conf2
-rw-r--r--meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB2.conf2
-rw-r--r--meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB3.conf2
-rw-r--r--meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB4.conf2
-rw-r--r--meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB5.conf2
-rw-r--r--meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB6.conf2
-rw-r--r--meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/assert-power-good55
-rw-r--r--meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/deassert-power-good76
-rw-r--r--meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/initial-poweron-device14
-rw-r--r--meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/initial-poweron-device.service8
-rw-r--r--meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/plat-phosphor-multi-gpio-monitor.json3
-rw-r--r--meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend4
-rw-r--r--meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-force-poweroff@.service1
-rw-r--r--meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-graceful-poweroff@.service1
-rw-r--r--meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-poweron@.service2
-rw-r--r--meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/power-cmd94
-rw-r--r--meta-facebook/meta-minerva/recipes-phosphor/gpio/phosphor-gpio-monitor/minerva-phosphor-multi-gpio-presence.json146
-rw-r--r--meta-facebook/meta-minerva/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend3
-rw-r--r--meta-facebook/meta-yosemite4/recipes-phosphor/fans/phosphor-pid-control/monitor-pldm-sensor87
-rw-r--r--meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager_%.bbappend2
-rw-r--r--meta-facebook/recipes-fb/obmc_functions/files/fb-common-functions20
-rw-r--r--meta-google/recipes-google/networking/gbmc-bridge.bb1
-rw-r--r--meta-google/recipes-google/networking/gbmc-nic-config.bb1
-rwxr-xr-xmeta-google/recipes-google/networking/google-usb-network/usb_network.sh10
-rw-r--r--meta-ieisystem/recipes-ieisystem/ipmi/iei-ipmi-oem_git.bb2
-rw-r--r--meta-nvidia/meta-gb200nvl-obmc/recipes-nvidia/platform-init/files/meson.build34
-rw-r--r--meta-nvidia/meta-gb200nvl-obmc/recipes-nvidia/platform-init/files/meson.options5
-rw-r--r--meta-nvidia/meta-gb200nvl-obmc/recipes-nvidia/platform-init/files/platform_init.cpp350
-rw-r--r--meta-nvidia/meta-gb200nvl-obmc/recipes-nvidia/platform-init/files/platform_init.service12
-rw-r--r--meta-nvidia/meta-gb200nvl-obmc/recipes-nvidia/platform-init_%.bbappend1
-rw-r--r--meta-nvidia/recipes-phosphor/platform/platform-init_%.bbappend1
-rw-r--r--meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc2
-rw-r--r--meta-phosphor/recipes-extended/sdbusplus/python3-sdbus++_git.bb2
-rw-r--r--meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc2
-rw-r--r--meta-phosphor/recipes-phosphor/chassis/obmc-phosphor-buttons_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc2
-rw-r--r--meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc2
-rw-r--r--meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/platform/platform-init_git.bb (renamed from meta-nvidia/meta-gb200nvl-obmc/recipes-nvidia/platform-init/platform-init.bb)15
-rw-r--r--meta-phosphor/recipes-phosphor/pldm/pldm_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/state/phosphor-post-code-manager_git.bb2
-rwxr-xr-xmeta-phosphor/recipes-x86/chassis/x86-power-control_git.bb2
47 files changed, 308 insertions, 695 deletions
diff --git a/meta-facebook/meta-bletchley/recipes-bletchley/detect-gpio-present/files/detect-sled-present b/meta-facebook/meta-bletchley/recipes-bletchley/detect-gpio-present/files/detect-sled-present
index 2483736880..b57bf6326c 100644
--- a/meta-facebook/meta-bletchley/recipes-bletchley/detect-gpio-present/files/detect-sled-present
+++ b/meta-facebook/meta-bletchley/recipes-bletchley/detect-gpio-present/files/detect-sled-present
@@ -33,9 +33,6 @@ sled_insert_action()
local I2C_BUS_NUM
I2C_BUS_NUM=$(get_bus_num "$SLED_ID")
- # 0022: fusb302
- bind_i2c_driver "${I2C_BUS_NUM}-0022" "typec_fusb302"
-
# 0045: ina230
bind_i2c_driver "${I2C_BUS_NUM}-0045" "ina2xx"
@@ -45,7 +42,7 @@ sled_insert_action()
# 0041: pca9536
bind_i2c_driver "${I2C_BUS_NUM}-0041" "pca953x"
- # 0076: pca9539
+ # 0076: pca9539. provides FUSB302 VBUS‑enable GPIO; fusb302 auto-binds after it probes
bind_i2c_driver "${I2C_BUS_NUM}-0076" "pca953x"
# 004f: tmp421
@@ -79,8 +76,8 @@ sled_remove_action()
# # 0041: pca9536
# unbind_i2c_driver "${I2C_BUS_NUM}-0041" "pca953x"
- # # 0076: pca9539
- # unbind_i2c_driver "${I2C_BUS_NUM}-0076" "pca953x"
+ # 0076: pca9539
+ unbind_i2c_driver "${I2C_BUS_NUM}-0076" "pca953x"
# # 004f: tmp421
# unbind_i2c_driver "${I2C_BUS_NUM}-004f" "tmp421"
@@ -96,14 +93,14 @@ sled_remove_action()
}
-dbus-monitor --system "type=signal,interface=${DBUS_PROPERTY_INTF},sender=${SERVICE_NAME},path=${PRESENT_OBJPATH}" |
+busctl monitor --system --match "type=signal,interface=${DBUS_PROPERTY_INTF},sender=${SERVICE_NAME},path=${PRESENT_OBJPATH}" |
while read -r line; do
case "$line" in
- *"boolean false"*)
+ *"BOOLEAN false"*)
echo "SLED${SLED_ID} Removal"
sled_remove_action "$SLED_ID"
;;
- *"boolean true"*)
+ *"BOOLEAN true"*)
echo "SLED${SLED_ID} Insertion"
sled_insert_action "$SLED_ID"
;;
diff --git a/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB0.conf b/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB0.conf
index 48d63a5dce..8a6f86f83b 100644
--- a/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB0.conf
+++ b/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB0.conf
@@ -1,4 +1,4 @@
baud = 57600
console-id = ath_uart0
-logfile = /var/log/obmc-console-ath-uart0.log
+logfile = /var/log/obmc-console-ath_uart0.log
logsize = 256k
diff --git a/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB1.conf b/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB1.conf
index 440b9c29d9..3f2e6a0f06 100644
--- a/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB1.conf
+++ b/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB1.conf
@@ -1,4 +1,4 @@
baud = 57600
console-id = ath_uart1
-logfile = /var/log/obmc-console-ath-uart1.log
+logfile = /var/log/obmc-console-ath_uart1.log
logsize = 256k
diff --git a/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB2.conf b/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB2.conf
index 232f3a9bfe..f8731b0791 100644
--- a/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB2.conf
+++ b/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB2.conf
@@ -1,4 +1,4 @@
baud = 57600
console-id = ath_uart_ccp0
-logfile = /var/log/obmc-console-ath-uart-ccp0.log
+logfile = /var/log/obmc-console-ath_uart_ccp0.log
logsize = 256k
diff --git a/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB3.conf b/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB3.conf
index 352164d2ee..64339db6c9 100644
--- a/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB3.conf
+++ b/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB3.conf
@@ -1,4 +1,4 @@
baud = 57600
console-id = ath_uart_ccp1
-logfile = /var/log/obmc-console-ath-uart-ccp1.log
+logfile = /var/log/obmc-console-ath_uart_ccp1.log
logsize = 256k
diff --git a/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB4.conf b/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB4.conf
index 2761c5de1c..e9ff3d30b7 100644
--- a/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB4.conf
+++ b/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB4.conf
@@ -1,4 +1,4 @@
baud = 57600
console-id = nowl_uart
-logfile = /var/log/obmc-console-nowl-uart.log
+logfile = /var/log/obmc-console-nowl_uart.log
logsize = 256k
diff --git a/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB5.conf b/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB5.conf
index 4d14d935c1..59cf91258a 100644
--- a/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB5.conf
+++ b/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB5.conf
@@ -1,4 +1,4 @@
baud = 57600
console-id = sowl_uart
-logfile = /var/log/obmc-console-sowl-uart.log
+logfile = /var/log/obmc-console-sowl_uart.log
logsize = 256k
diff --git a/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB6.conf b/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB6.conf
index 4b9045384c..47c4d6dcf6 100644
--- a/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB6.conf
+++ b/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/server.ttyUSB6.conf
@@ -1,4 +1,4 @@
baud = 57600
console-id = mmc_uart
-logfile = /var/log/obmc-console-mmc-uart.log
+logfile = /var/log/obmc-console-mmc_uart.log
logsize = 256k
diff --git a/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/assert-power-good b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/assert-power-good
index 84d745817b..72c8127858 100644
--- a/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/assert-power-good
+++ b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/assert-power-good
@@ -3,47 +3,42 @@
# shellcheck source=meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/power-cmd
source /usr/libexec/phosphor-state-manager/power-cmd
-# Sync Led status to off
+# Check SGPIO validity
+if ! check_valid_sgpio; then
+ exit 0
+fi
+
+# Sync Led status to on
systemctl start obmc-led-group-stop@power_on.service
-currentstate=$(busctl get-property \
+# Get current host state
+current_state=$(busctl get-property \
xyz.openbmc_project.State.Host0 \
/xyz/openbmc_project/state/host0 \
xyz.openbmc_project.State.Host \
CurrentHostState | awk '{print $2}' | tr -d '"')
-if [ "$currentstate" == "xyz.openbmc_project.State.Host.HostState.TransitioningToOff" ]; then
+# Exit if host is already transitioning off
+if [ "$current_state" = "xyz.openbmc_project.State.Host.HostState.TransitioningToOff" ]; then
exit 0
fi
-active=$(systemctl is-active host-graceful-poweroff@0.service)
-if [ -z "$active" ] || [ "$active" != "inactive" ]; then
- exit 0
-fi
+# List of services that block power_off_sync
+block_services=(
+ host-graceful-poweroff@0.service
+ host-force-poweroff@0.service
+ host-powerreset@0.service
+)
-active=$(systemctl is-active host-force-poweroff@0.service)
-if [ -z "$active" ] || [ "$active" != "inactive" ]; then
- exit 0
-fi
+# Exit if any blocking service is not inactive
+for svc in "${block_services[@]}"; do
+ if [ "$(systemctl is-active "$svc")" != "inactive" ]; then
+ exit 0
+ fi
+done
-active=$(systemctl is-active host-powerreset@0.service)
-if [ -z "$active" ] || [ "$active" != "inactive" ]; then
- exit 0
-fi
+# Safe to power off
+# Wait 8 seconds, checking every second
+power_off_sync 8 1
-sleep 3
-# Sync power state to "off" for abnormal power lose.
-transition=$(busctl get-property \
- xyz.openbmc_project.State.Host0 \
- /xyz/openbmc_project/state/host0 \
- xyz.openbmc_project.State.Host \
- RequestedHostTransition | awk '{print $2}' | tr -d '"')
-
-if [ "$transition" != "xyz.openbmc_project.State.Host.Transition.Off" ] && [ "$(power_status)" == "off" ]; then
- busctl set-property xyz.openbmc_project.State.Host0 \
- /xyz/openbmc_project/state/host0 \
- xyz.openbmc_project.State.Host \
- RequestedHostTransition s \
- xyz.openbmc_project.State.Host.Transition.Off
-fi
exit 0
diff --git a/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/deassert-power-good b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/deassert-power-good
index 8fb9aca337..1dfee3cd48 100644
--- a/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/deassert-power-good
+++ b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/deassert-power-good
@@ -1,63 +1,45 @@
#!/bin/bash
-# shellcheck source=meta-facebook/recipes-fb/obmc_functions/files/fb-common-functions
-source /usr/libexec/fb-common-functions
# shellcheck source=meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/power-cmd
source /usr/libexec/phosphor-state-manager/power-cmd
-# shellcheck source=meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/device-util
-source /usr/libexec/phosphor-gpio-monitor/device-util
-
-# The hardware disables the multiplexer in standby
-# to prevent sending a command by mistake to the retimer when it boots up.
-# Therefore, we need to rebind it when powered on.
-if [ ! -e "/sys/bus/i2c/drivers/pca954x/3-0070" ]; then
- sleep 6
- rebind_i2c_dev 3 70 "pca954x"
-fi
-check_valid_sgpio
-valid_sgpio=$?
+# Check SGPIO validity
+if ! check_valid_sgpio; then
+ exit 0
+fi
-if [ "$valid_sgpio" -eq 0 ]; then
- # Sync Led status to on
- systemctl start obmc-led-group-start@power_on.service
+# Sync Led status to on
+systemctl start obmc-led-group-start@power_on.service
- currentstate=$(busctl get-property \
- xyz.openbmc_project.State.Host0 \
- /xyz/openbmc_project/state/host0 \
- xyz.openbmc_project.State.Host \
- CurrentHostState | awk '{print $2}' | tr -d '"')
- if [ "$currentstate" == "xyz.openbmc_project.State.Host.HostState.TransitioningToRunning" ]; then
- exit 0
- fi
-fi
+# Checking and Syncing power policy.
+# Get current host state
+current_state=$(busctl get-property \
+ xyz.openbmc_project.State.Host0 \
+ /xyz/openbmc_project/state/host0 \
+ xyz.openbmc_project.State.Host \
+ CurrentHostState | awk '{print $2}' | tr -d '"')
-active=$(systemctl is-active host-poweron@0.service)
-if [ -z "$active" ] || [ "$active" != "inactive" ]; then
+# Exit if host is already transitioning to running
+if [ "$current_state" = "xyz.openbmc_project.State.Host.HostState.TransitioningToRunning" ]; then
exit 0
fi
-active=$(systemctl is-active host-powerreset@0.service)
-if [ -z "$active" ] || [ "$active" != "inactive" ]; then
- exit 0
-fi
+# List of services that block power_on_sync
+block_services=(
+ host-poweron@0.service
+ host-powerreset@0.service
+)
-# Sync power status to "On" for abnormal power-on scenarios.
-if [ "$valid_sgpio" -eq 0 ]; then
- transition=$(busctl get-property \
- xyz.openbmc_project.State.Host0 \
- /xyz/openbmc_project/state/host0 \
- xyz.openbmc_project.State.Host \
- RequestedHostTransition | awk '{print $2}' | tr -d '"')
-
- if [ "$transition" != "xyz.openbmc_project.State.Host.Transition.On" ] && [ "$(power_status)" == "on" ]; then
- busctl set-property xyz.openbmc_project.State.Host0 \
- /xyz/openbmc_project/state/host0 \
- xyz.openbmc_project.State.Host \
- RequestedHostTransition s \
- xyz.openbmc_project.State.Host.Transition.On
+# Exit if any blocking service is not inactive
+for svc in "${block_services[@]}"; do
+ if [ "$(systemctl is-active "$svc")" != "inactive" ]; then
+ exit 0
fi
-fi
+done
+
+# Safe to power on
+# Wait 3 seconds, checking every second
+power_on_sync 3 1
exit 0
diff --git a/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/initial-poweron-device b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/initial-poweron-device
new file mode 100644
index 0000000000..0f93066c56
--- /dev/null
+++ b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/initial-poweron-device
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+# shellcheck source=meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/device-util
+source /usr/libexec/phosphor-gpio-monitor/device-util
+
+# The hardware disables the multiplexer in standby
+# to prevent sending a command by mistake to the retimer when it boots up.
+# Therefore, we need to rebind it when powered on.
+if [ ! -e "/sys/bus/i2c/drivers/pca954x/3-0070" ]; then
+ sleep 6
+ rebind_i2c_dev 3 70 "pca954x"
+fi
+
+exit 0
diff --git a/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/initial-poweron-device.service b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/initial-poweron-device.service
new file mode 100644
index 0000000000..1ad1f43103
--- /dev/null
+++ b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/initial-poweron-device.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=Initial Power On Device
+
+[Service]
+Type=oneshot
+ExecStart=/usr/libexec/phosphor-gpio-monitor/initial-poweron-device
+
+SyslogIdentifier=initial-poweron-device
diff --git a/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/plat-phosphor-multi-gpio-monitor.json b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/plat-phosphor-multi-gpio-monitor.json
index 3ae18801e9..ee49ab09e4 100644
--- a/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/plat-phosphor-multi-gpio-monitor.json
+++ b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/plat-phosphor-multi-gpio-monitor.json
@@ -98,7 +98,8 @@
"Targets": {
"RISING": [
"deassert-power-good.service",
- "power-rail-deassert-log@2_power-host-good.service"
+ "initial-poweron-device.service",
+ "power-rail-deassert-log@2_power-host-good.service"
],
"FALLING": [
"assert-power-good.service",
diff --git a/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend
index b2d5d490bb..ae82d20f37 100644
--- a/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend
+++ b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend
@@ -29,6 +29,8 @@ SRC_URI += "file://assert-post-end \
file://gpios-assert-log@.service \
file://gpios-deassert-log@.service \
file://gpios-event-logger \
+ file://initial-poweron-device \
+ file://initial-poweron-device.service \
file://logging-util \
file://mmc-recovery.service \
file://multi-gpios-sys-init \
@@ -66,6 +68,7 @@ SYSTEMD_SERVICE:${PN} += " \
deassert-uart-switch-button.service \
device-reinitial@.service \
fan-reload.service \
+ initial-poweron-device.service \
mmc-recovery.service \
multi-gpios-sys-init.service \
prochot-assert-log.service \
@@ -120,6 +123,7 @@ do_install:append() {
install -m 0755 ${UNPACKDIR}/auto-poweron ${D}${libexecdir}/${PN}/
install -m 0755 ${UNPACKDIR}/fan-reload ${D}${libexecdir}/${PN}/
+ install -m 0755 ${UNPACKDIR}/initial-poweron-device ${D}${libexecdir}/${PN}/
}
SYSTEMD_OVERRIDE:${PN}-monitor += "phosphor-multi-gpio-monitor.conf:phosphor-multi-gpio-monitor.service.d/phosphor-multi-gpio-monitor.conf"
diff --git a/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-force-poweroff@.service b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-force-poweroff@.service
index 062d4f2098..fcb1da5d52 100644
--- a/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-force-poweroff@.service
+++ b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-force-poweroff@.service
@@ -9,6 +9,7 @@ Restart=no
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/libexec/phosphor-state-manager/host-force-poweroff %i
+ExecStop=/usr/libexec/fb-common-functions set_gpio power-host-control 1
[Install]
RequiredBy=obmc-host-stop@%i.target
diff --git a/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-graceful-poweroff@.service b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-graceful-poweroff@.service
index c8af4ee700..ec5f5db76a 100644
--- a/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-graceful-poweroff@.service
+++ b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-graceful-poweroff@.service
@@ -10,6 +10,7 @@ Restart=no
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/libexec/phosphor-state-manager/host-graceful-poweroff %i
+ExecStop=/usr/libexec/fb-common-functions set_gpio power-host-control 1
[Install]
WantedBy=obmc-host-shutdown@%i.target
diff --git a/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-poweron@.service b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-poweron@.service
index 050c5c9b4c..fb814c5d79 100644
--- a/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-poweron@.service
+++ b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-poweron@.service
@@ -7,6 +7,7 @@ Before=obmc-host-starting@%i.target
Before=obmc-host-started@%i.target
Wants=obmc-power-on@%i.target
After=obmc-power-on@%i.target
+Conflicts=obmc-host-shutdown@%i.target
Conflicts=obmc-host-stop@%i.target
Wants=phosphor-set-host-transition-to-running@service
Before=phosphor-set-host-transition-to-running@service
@@ -17,7 +18,6 @@ Restart=no
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/libexec/phosphor-state-manager/host-poweron %i
-ExecStartPost=/bin/systemctl stop host-graceful-poweroff@%i.service
[Install]
RequiredBy=obmc-host-startmin@%i.target
diff --git a/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/power-cmd b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/power-cmd
index 849b0419ca..87c3f67408 100644
--- a/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/power-cmd
+++ b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/power-cmd
@@ -84,6 +84,8 @@ graceful_power_off() {
# DC on
power_on() {
+ set_gpio power-host-control 1
+ sleep 1
if [ "$(power_status)" == "off" ]; then
set_gpio power-host-control 0
sleep 1
@@ -113,3 +115,95 @@ power_reset() {
sleep 1
return 0
}
+
+# Sync power state to "off" for abnormal power loss.
+power_off_sync() {
+ local timeout=${1:-8} # default 8 seconds if not provided
+ local delay=${2:-1} # default 1 second interval if not provided
+
+ for ((i=0; i<timeout; i++)); do
+ local status
+ status=$(power_status)
+ if [ "$status" != "off" ]; then
+ return
+ fi
+ sleep "$delay"
+ done
+
+ local transition
+ transition=$(busctl get-property \
+ xyz.openbmc_project.State.Host0 \
+ /xyz/openbmc_project/state/host0 \
+ xyz.openbmc_project.State.Host \
+ RequestedHostTransition | awk '{print $2}' | tr -d '"')
+
+ if [ "$transition" != "xyz.openbmc_project.State.Host.Transition.Off" ] && [ "$(power_status)" == "off" ]; then
+ busctl set-property xyz.openbmc_project.State.Host0 \
+ /xyz/openbmc_project/state/host0 \
+ xyz.openbmc_project.State.Host \
+ RequestedHostTransition s \
+ xyz.openbmc_project.State.Host.Transition.Off
+ fi
+}
+
+# Sync power status to "On" for abnormal power-on scenarios.
+power_on_sync() {
+ local timeout=${1:-3} # default 3 seconds if not provided
+ local delay=${2:-1} # default 1 second interval if not provided
+
+ for ((i=0; i<timeout; i++)); do
+ local status
+ status=$(power_status)
+ if [ "$status" != "on" ]; then
+ return
+ fi
+ sleep "$delay"
+ done
+
+ local transition
+ transition=$(busctl get-property \
+ xyz.openbmc_project.State.Host0 \
+ /xyz/openbmc_project/state/host0 \
+ xyz.openbmc_project.State.Host \
+ RequestedHostTransition | awk '{print $2}' | tr -d '"')
+
+ if [ "$transition" != "xyz.openbmc_project.State.Host.Transition.On" ] && [ "$(power_status)" == "on" ]; then
+ busctl set-property xyz.openbmc_project.State.Host0 \
+ /xyz/openbmc_project/state/host0 \
+ xyz.openbmc_project.State.Host \
+ RequestedHostTransition s \
+ xyz.openbmc_project.State.Host.Transition.On
+ fi
+}
+
+# Main execution
+if [[ "${BASH_SOURCE[0]}" == "$0" ]]; then
+ case "$1" in
+ force_off)
+ force_power_off
+ ;;
+ graceful_off)
+ graceful_power_off
+ ;;
+ power_on)
+ power_on
+ ;;
+ power_reset)
+ power_reset
+ ;;
+ off_sync)
+ power_off_sync "$2" "$3"
+ ;;
+ on_sync)
+ power_on_sync "$2" "$3"
+ ;;
+ status)
+ power_status
+ ;;
+ *)
+ echo "Usage: $0 {force_off|graceful_off|power_on|power_reset|off_sync|on_sync|status}"
+ exit 0
+ ;;
+ esac
+fi
+
diff --git a/meta-facebook/meta-minerva/recipes-phosphor/gpio/phosphor-gpio-monitor/minerva-phosphor-multi-gpio-presence.json b/meta-facebook/meta-minerva/recipes-phosphor/gpio/phosphor-gpio-monitor/minerva-phosphor-multi-gpio-presence.json
deleted file mode 100644
index 5c6d3c33ef..0000000000
--- a/meta-facebook/meta-minerva/recipes-phosphor/gpio/phosphor-gpio-monitor/minerva-phosphor-multi-gpio-presence.json
+++ /dev/null
@@ -1,146 +0,0 @@
-[
- {
- "Name": "FAN1",
- "LineName": "FAN1_PRSNT",
- "Bias": "DISABLE",
- "Inventory": "/system/board/Minerva_Fan_Board/FAN1"
- },
- {
- "Name": "FAN2",
- "LineName": "FAN2_PRSNT",
- "Bias": "DISABLE",
- "Inventory": "/system/board/Minerva_Fan_Board/FAN2"
- },
- {
- "Name": "FAN3",
- "LineName": "FAN3_PRSNT",
- "Bias": "DISABLE",
- "Inventory": "/system/board/Minerva_Fan_Board/FAN3"
- },
- {
- "Name": "FAN4",
- "LineName": "FAN4_PRSNT",
- "Bias": "DISABLE",
- "Inventory": "/system/board/Minerva_Fan_Board/FAN4"
- },
- {
- "Name": "FAN5",
- "LineName": "FAN5_PRSNT",
- "Bias": "DISABLE",
- "Inventory": "/system/board/Minerva_Fan_Board/FAN5"
- },
- {
- "Name": "FAN6",
- "LineName": "FAN6_PRSNT",
- "Bias": "DISABLE",
- "Inventory": "/system/board/Minerva_Fan_Board/FAN6"
- },
- {
- "Name": "FAN7",
- "LineName": "FAN7_PRSNT",
- "Bias": "DISABLE",
- "Inventory": "/system/board/Minerva_Fan_Board/FAN7"
- },
- {
- "Name": "FAN8",
- "LineName": "FAN8_PRSNT",
- "Bias": "DISABLE",
- "Inventory": "/system/board/Minerva_Fan_Board/FAN8"
- },
- {
- "Name": "FAN9",
- "LineName": "FAN9_PRSNT",
- "Bias": "DISABLE",
- "Inventory": "/system/board/Minerva_Fan_Board/FAN9"
- },
- {
- "Name": "FAN10",
- "LineName": "FAN10_PRSNT",
- "Bias": "DISABLE",
- "Inventory": "/system/board/Minerva_Fan_Board/FAN10"
- },
- {
- "Name": "FAN11",
- "LineName": "FAN11_PRSNT",
- "Bias": "DISABLE",
- "Inventory": "/system/board/Minerva_Fan_Board/FAN11"
- },
- {
- "Name": "FAN12",
- "LineName": "FAN12_PRSNT",
- "Bias": "DISABLE",
- "Inventory": "/system/board/Minerva_Fan_Board/FAN12"
- },
- {
- "Name": "FAN13",
- "LineName": "FAN13_PRSNT",
- "Bias": "DISABLE",
- "Inventory": "/system/board/Minerva_Fan_Board/FAN13"
- },
- {
- "Name": "FAN14",
- "LineName": "FAN14_PRSNT",
- "Bias": "DISABLE",
- "Inventory": "/system/board/Minerva_Fan_Board/FAN14"
- },
- {
- "Name": "FAN15",
- "LineName": "FAN15_PRSNT",
- "Bias": "DISABLE",
- "Inventory": "/system/board/Minerva_Fan_Board/FAN15"
- },
- {
- "Name": "FAN16",
- "LineName": "FAN16_PRSNT",
- "Bias": "DISABLE",
- "Inventory": "/system/board/Minerva_Fan_Board/FAN16"
- },
- {
- "Name": "FAN17",
- "LineName": "FAN17_PRSNT",
- "Bias": "DISABLE",
- "Inventory": "/system/board/Minerva_Fan_Board/FAN17"
- },
- {
- "Name": "FAN18",
- "LineName": "FAN18_PRSNT",
- "Bias": "DISABLE",
- "Inventory": "/system/board/Minerva_Fan_Board/FAN18"
- },
- {
- "Name": "FAN19",
- "LineName": "FAN19_PRSNT",
- "Bias": "DISABLE",
- "Inventory": "/system/board/Minerva_Fan_Board/FAN19"
- },
- {
- "Name": "FAN20",
- "LineName": "FAN20_PRSNT",
- "Bias": "DISABLE",
- "Inventory": "/system/board/Minerva_Fan_Board/FAN20"
- },
- {
- "Name": "FAN21",
- "LineName": "FAN21_PRSNT",
- "Bias": "DISABLE",
- "Inventory": "/system/board/Minerva_Fan_Board/FAN21"
- },
- {
- "Name": "FAN22",
- "LineName": "FAN22_PRSNT",
- "Bias": "DISABLE",
- "Inventory": "/system/board/Minerva_Fan_Board/FAN22"
- },
- {
- "Name": "FAN23",
- "LineName": "FAN23_PRSNT",
- "Bias": "DISABLE",
- "Inventory": "/system/board/Minerva_Fan_Board/FAN23"
- },
- {
- "Name": "FAN24",
- "LineName": "FAN24_PRSNT",
- "Bias": "DISABLE",
- "Inventory": "/system/board/Minerva_Fan_Board/FAN24"
- }
-]
diff --git a/meta-facebook/meta-minerva/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend b/meta-facebook/meta-minerva/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend
index 855c004b2c..d3217bf262 100644
--- a/meta-facebook/meta-minerva/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend
+++ b/meta-facebook/meta-minerva/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend
@@ -17,7 +17,6 @@ SERVICE_LIST = "rpu-ready-assert@.service \
SERVICE_FILE_FMT = "file://{0}"
SRC_URI += "file://minerva-phosphor-multi-gpio-monitor.json \
- file://minerva-phosphor-multi-gpio-presence.json \
file://logging \
file://fan-reload \
file://cr-toggle-boot-logger \
@@ -36,8 +35,6 @@ do_install:append() {
install -d ${D}${datadir}/phosphor-gpio-monitor
install -m 0644 ${UNPACKDIR}/minerva-phosphor-multi-gpio-monitor.json \
${D}${datadir}/phosphor-gpio-monitor/phosphor-multi-gpio-monitor.json
- install -m 0644 ${UNPACKDIR}/minerva-phosphor-multi-gpio-presence.json \
- ${D}${datadir}/phosphor-gpio-monitor/phosphor-multi-gpio-presence.json
for s in ${SERVICE_LIST}
do
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/fans/phosphor-pid-control/monitor-pldm-sensor b/meta-facebook/meta-yosemite4/recipes-phosphor/fans/phosphor-pid-control/monitor-pldm-sensor
index 74f9b2c827..e7d5a46597 100644
--- a/meta-facebook/meta-yosemite4/recipes-phosphor/fans/phosphor-pid-control/monitor-pldm-sensor
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/fans/phosphor-pid-control/monitor-pldm-sensor
@@ -13,12 +13,14 @@ PLDM_SERVICE="xyz.openbmc_project.PLDM"
PLDM_PATH="/xyz/openbmc_project/inventory"
# Slot path prefixes for T2
+ENTITY_MANAGER_SENTINEL_T2_WITH_RETIMER_PREFIX="/xyz/openbmc_project/inventory/system/board/Yosemite_4_Sentinel_Dome_T2_with_Retimer_Slot_"
ENTITY_MANAGER_SENTINEL_T2_PREFIX="/xyz/openbmc_project/inventory/system/board/Yosemite_4_Sentinel_Dome_T2_Slot_"
ENTITY_MANAGER_WAILUA_T2_PREFIX="/xyz/openbmc_project/inventory/system/board/Yosemite_4_Wailua_Falls_Slot_"
PLDM_SENTINEL_T2_PREFIX="/xyz/openbmc_project/inventory/system/board/SENTINEL_DOME_SLOT_"
PLDM_WAILUA_T2_PREFIX="/xyz/openbmc_project/inventory/system/board/WAILUA_FALLS_SLOT_"
# Slot path prefixes for T1
+ENTITY_MANAGER_SENTINEL_T1_WITH_RETIMER_PREFIX="/xyz/openbmc_project/inventory/system/board/Yosemite_4_Sentinel_Dome_T1_with_Retimer_Slot_"
ENTITY_MANAGER_SENTINEL_T1_PREFIX="/xyz/openbmc_project/inventory/system/board/Yosemite_4_Sentinel_Dome_T1_Slot_"
PLDM_SENTINEL_T1_PREFIX="/xyz/openbmc_project/inventory/system/board/SENTINEL_DOME_SLOT_"
@@ -49,12 +51,20 @@ detect_slot_configuration() {
local slot=$2
# Check for T2 slot prefix
+ if check_object_path "$entity_manager_data" "${ENTITY_MANAGER_SENTINEL_T2_WITH_RETIMER_PREFIX}${slot}"; then
+ echo "T2_RETIMER"
+ return 0
+ fi
if check_object_path "$entity_manager_data" "${ENTITY_MANAGER_SENTINEL_T2_PREFIX}${slot}"; then
echo "T2"
return 0
fi
# Check for T1 slot prefix
+ if check_object_path "$entity_manager_data" "${ENTITY_MANAGER_SENTINEL_T1_WITH_RETIMER_PREFIX}${slot}"; then
+ echo "T1_RETIMER"
+ return 0
+ fi
if check_object_path "$entity_manager_data" "${ENTITY_MANAGER_SENTINEL_T1_PREFIX}${slot}"; then
echo "T1"
return 0
@@ -73,31 +83,58 @@ check_slot() {
# Detect the configuration for the current slot
configuration=$(detect_slot_configuration "$entity_manager_data" "$slot")
- if [ "$configuration" == "T2" ]; then
- echo "Checking Sentinel Dome T2 slot $slot..."
- entity_path="${ENTITY_MANAGER_SENTINEL_T2_PREFIX}${slot}"
- pldm_path="${PLDM_SENTINEL_T2_PREFIX}${slot}"
- if ! check_single_slot "$slot" "$entity_manager_data" "$pldm_data" "$entity_path" "$pldm_path"; then
- return 1
- fi
-
- echo "Checking Wailua Falls T2 slot $slot..."
- entity_path="${ENTITY_MANAGER_WAILUA_T2_PREFIX}${slot}"
- pldm_path="${PLDM_WAILUA_T2_PREFIX}${slot}"
- if ! check_single_slot "$slot" "$entity_manager_data" "$pldm_data" "$entity_path" "$pldm_path"; then
- return 1
- fi
- elif [ "$configuration" == "T1" ]; then
- echo "Checking Sentinel Dome T1 slot $slot..."
- entity_path="${ENTITY_MANAGER_SENTINEL_T1_PREFIX}${slot}"
- pldm_path="${PLDM_SENTINEL_T1_PREFIX}${slot}"
- if ! check_single_slot "$slot" "$entity_manager_data" "$pldm_data" "$entity_path" "$pldm_path"; then
- return 1
- fi
- else
- echo "Unknown configuration for slot $slot. Skipping..."
- return 0
- fi
+ case "$configuration" in
+ T2_RETIMER)
+ echo "Checking Sentinel Dome T2(with retimer) slot $slot..."
+ entity_path="${ENTITY_MANAGER_SENTINEL_T2_WITH_RETIMER_PREFIX}${slot}"
+ pldm_path="${PLDM_SENTINEL_T2_PREFIX}${slot}"
+ if ! check_single_slot "$slot" "$entity_manager_data" "$pldm_data" "$entity_path" "$pldm_path"; then
+ return 1
+ fi
+
+ echo "Checking Wailua Falls T2 slot $slot..."
+ entity_path="${ENTITY_MANAGER_WAILUA_T2_PREFIX}${slot}"
+ pldm_path="${PLDM_WAILUA_T2_PREFIX}${slot}"
+ if ! check_single_slot "$slot" "$entity_manager_data" "$pldm_data" "$entity_path" "$pldm_path"; then
+ return 1
+ fi
+ ;;
+ T2)
+ echo "Checking Sentinel Dome T2 slot $slot..."
+ entity_path="${ENTITY_MANAGER_SENTINEL_T2_PREFIX}${slot}"
+ pldm_path="${PLDM_SENTINEL_T2_PREFIX}${slot}"
+ if ! check_single_slot "$slot" "$entity_manager_data" "$pldm_data" "$entity_path" "$pldm_path"; then
+ return 1
+ fi
+
+ echo "Checking Wailua Falls T2 slot $slot..."
+ entity_path="${ENTITY_MANAGER_WAILUA_T2_PREFIX}${slot}"
+ pldm_path="${PLDM_WAILUA_T2_PREFIX}${slot}"
+ if ! check_single_slot "$slot" "$entity_manager_data" "$pldm_data" "$entity_path" "$pldm_path"; then
+ return 1
+ fi
+ ;;
+ T1_RETIMER)
+ echo "Checking Sentinel Dome T1(with retimer) slot $slot..."
+ entity_path="${ENTITY_MANAGER_SENTINEL_T1_WITH_RETIMER_PREFIX}${slot}"
+ pldm_path="${PLDM_SENTINEL_T1_PREFIX}${slot}"
+ if ! check_single_slot "$slot" "$entity_manager_data" "$pldm_data" "$entity_path" "$pldm_path"; then
+ return 1
+ fi
+ ;;
+ T1)
+ echo "Checking Sentinel Dome T1 slot $slot..."
+ entity_path="${ENTITY_MANAGER_SENTINEL_T1_PREFIX}${slot}"
+ pldm_path="${PLDM_SENTINEL_T1_PREFIX}${slot}"
+ if ! check_single_slot "$slot" "$entity_manager_data" "$pldm_data" "$entity_path" "$pldm_path"; then
+ return 1
+ fi
+ ;;
+ *)
+ echo "Unknown configuration for slot $slot. Skipping..."
+ return 0
+ ;;
+ esac
return 0
}
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager_%.bbappend b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager_%.bbappend
index 29ce9330d1..985d5874f5 100644
--- a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager_%.bbappend
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager_%.bbappend
@@ -13,6 +13,8 @@ HOST_DEFAULT_TARGETS:remove = " \
obmc-host-reboot@{}.target.requires/phosphor-reboot-host@{}.service \
"
+SYSTEMD_SERVICE:${PN}-host:remove = "phosphor-reboot-host@.service"
+
CHASSIS_DEFAULT_TARGETS:remove = " \
obmc-chassis-powerreset@{}.target.requires/phosphor-reset-chassis-on@{}.service \
obmc-chassis-powerreset@{}.target.requires/phosphor-reset-chassis-running@{}.service \
diff --git a/meta-facebook/recipes-fb/obmc_functions/files/fb-common-functions b/meta-facebook/recipes-fb/obmc_functions/files/fb-common-functions
index 7dd92ac7b1..2da67ef522 100644
--- a/meta-facebook/recipes-fb/obmc_functions/files/fb-common-functions
+++ b/meta-facebook/recipes-fb/obmc_functions/files/fb-common-functions
@@ -76,3 +76,23 @@ bind_i2c_device()
return 1
}
+
+if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
+ CMD=$1
+ shift
+ case "$CMD" in
+ get_gpio)
+ get_gpio "$@"
+ ;;
+ set_gpio)
+ set_gpio "$@"
+ ;;
+ bind_i2c_device)
+ bind_i2c_device "$@"
+ ;;
+ *)
+ echo "Usage: $0 {get_gpio|set_gpio|bind_i2c_device} args..."
+ exit 1
+ ;;
+ esac
+fi
diff --git a/meta-google/recipes-google/networking/gbmc-bridge.bb b/meta-google/recipes-google/networking/gbmc-bridge.bb
index c4243f3e34..e23931df07 100644
--- a/meta-google/recipes-google/networking/gbmc-bridge.bb
+++ b/meta-google/recipes-google/networking/gbmc-bridge.bb
@@ -53,6 +53,7 @@ FILES:${PN}:append = " \
RDEPENDS:${PN}:append = " \
bash \
+ ${@'' if d.getVar('GBMC_DHCP_RELAY') != '1' else 'dhcp-relay'} \
dhcp-done \
gbmc-ip-monitor \
gbmc-net-common \
diff --git a/meta-google/recipes-google/networking/gbmc-nic-config.bb b/meta-google/recipes-google/networking/gbmc-nic-config.bb
index 4e0a41495f..5cc4b89a35 100644
--- a/meta-google/recipes-google/networking/gbmc-nic-config.bb
+++ b/meta-google/recipes-google/networking/gbmc-nic-config.bb
@@ -31,7 +31,6 @@ FILES:${PN} += " \
RDEPENDS:${PN}:append = " \
bash \
- ${@'' if d.getVar('GBMC_DHCP_RELAY') != '1' else 'dhcp-relay'} \
gbmc-ip-monitor \
gbmc-net-common \
nftables-systemd \
diff --git a/meta-google/recipes-google/networking/google-usb-network/usb_network.sh b/meta-google/recipes-google/networking/google-usb-network/usb_network.sh
index 6b5f505e00..46956eeb25 100755
--- a/meta-google/recipes-google/networking/google-usb-network/usb_network.sh
+++ b/meta-google/recipes-google/networking/google-usb-network/usb_network.sh
@@ -64,6 +64,16 @@ Cost=85
EOF
fi
+ # Add standard l2 bridge configuration if this is a relevant device
+ if (( ID_VENDOR == 0x18d1 && ID_PRODUCT == 0x22c )); then
+ cat >>/run/systemd/network/+-bmc-"${IFACE_NAME}".network <<EOF
+[Network]
+Bridge=l2br
+[Bridge]
+Cost=85
+EOF
+ fi
+
# Ignore any failures due to systemd being unavailable at boot
# shellcheck disable=SC2119
gbmc_net_networkd_reload || true
diff --git a/meta-ieisystem/recipes-ieisystem/ipmi/iei-ipmi-oem_git.bb b/meta-ieisystem/recipes-ieisystem/ipmi/iei-ipmi-oem_git.bb
index a1d3331ee4..f85da8ad30 100644
--- a/meta-ieisystem/recipes-ieisystem/ipmi/iei-ipmi-oem_git.bb
+++ b/meta-ieisystem/recipes-ieisystem/ipmi/iei-ipmi-oem_git.bb
@@ -5,7 +5,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI = "git://github.com/openbmc/iei-ipmi-oem;branch=master;protocol=https"
-SRCREV = "4f81ab752c5feb4cf5c7ac3ed87e13dacb22d89d"
+SRCREV = "f68342cf921f9364e638de278772f7ff941dd6d8"
S = "${WORKDIR}/git"
PV = "0.1+git${SRCPV}"
diff --git a/meta-nvidia/meta-gb200nvl-obmc/recipes-nvidia/platform-init/files/meson.build b/meta-nvidia/meta-gb200nvl-obmc/recipes-nvidia/platform-init/files/meson.build
deleted file mode 100644
index a95af4605f..0000000000
--- a/meta-nvidia/meta-gb200nvl-obmc/recipes-nvidia/platform-init/files/meson.build
+++ /dev/null
@@ -1,34 +0,0 @@
-project(
- 'platform-init',
- 'cpp',
- version: '0.1',
- default_options: [
- 'warning_level=3',
- 'cpp_std=c++23',
- ],
-)
-
-gpiodcxx = dependency('libgpiodcxx', default_options: ['bindings=cxx'])
-systemd = dependency('systemd')
-libsystemd = dependency('libsystemd')
-libexec = get_option('prefix') + '/' + get_option('libexecdir')
-
-conf = configuration_data()
-conf.set10('INIT_CARD', get_option('init-p2020').allowed())
-configure_file(output: 'config.h', configuration: conf)
-configuration_inc = include_directories('.')
-
-exe = executable(
- 'platform-init',
- 'platform_init.cpp',
- dependencies: [
- gpiodcxx,
- libsystemd,
- ],
- include_directories: configuration_inc,
- install: true,
- install_dir: libexec,
-)
-
-systemd_system_unit_dir = systemd.get_variable('systemdsystemunitdir')
-install_data('platform_init.service', install_dir: systemd_system_unit_dir)
diff --git a/meta-nvidia/meta-gb200nvl-obmc/recipes-nvidia/platform-init/files/meson.options b/meta-nvidia/meta-gb200nvl-obmc/recipes-nvidia/platform-init/files/meson.options
deleted file mode 100644
index f6543a683d..0000000000
--- a/meta-nvidia/meta-gb200nvl-obmc/recipes-nvidia/platform-init/files/meson.options
+++ /dev/null
@@ -1,5 +0,0 @@
-option('init-p2020',
- type: 'feature',
- value: 'disabled',
- description: 'Enable Init of P2020 add in card on gb200')
-
diff --git a/meta-nvidia/meta-gb200nvl-obmc/recipes-nvidia/platform-init/files/platform_init.cpp b/meta-nvidia/meta-gb200nvl-obmc/recipes-nvidia/platform-init/files/platform_init.cpp
deleted file mode 100644
index 17cb731041..0000000000
--- a/meta-nvidia/meta-gb200nvl-obmc/recipes-nvidia/platform-init/files/platform_init.cpp
+++ /dev/null
@@ -1,350 +0,0 @@
-// SPDX-License-Identifier: Apache-2.0
-// SPDX-FileCopyrightText: 2025 NVIDIA
-
-#include <fcntl.h>
-#include <gpiod.hpp>
-#include <systemd/sd-daemon.h>
-
-#include <chrono>
-#include <cstdint>
-#include <cstdlib>
-#include <cstring>
-#include <filesystem>
-#include <format>
-#include <fstream>
-#include <iostream>
-#include <thread>
-#include <unordered_map>
-
-#include <config.h>
-
-using namespace std::chrono_literals;
-
-constexpr static const char *app_name = "platform_init";
-
-// Map of GPIO name to line. Holds lines open for the duration of the program
-static std::unordered_map<std::string, gpiod::line> io;
-
-void sleep_milliseconds(std::chrono::milliseconds milliseconds) {
- std::cerr << std::format("Sleeping for {} milliseconds\n",
- milliseconds.count());
- std::this_thread::sleep_for(milliseconds);
-}
-
-void set_gpio(const char *line_name, int value,
- std::chrono::milliseconds find_timeout = 0ms) {
- std::cerr << std::format("{} Request to set to {}\n", line_name, value);
- std::chrono::milliseconds polling_time = 10ms;
- gpiod::line &line = io[line_name];
- if (!line) {
- do {
- line = gpiod::find_line(line_name);
- if (!line) {
- std::cerr << std::format("{} not found yet, waiting and retrying\n",
- line_name);
-
- sleep_milliseconds(polling_time);
- find_timeout -= polling_time;
- }
- } while (!line && find_timeout > 0s);
- if (!line && find_timeout <= 0s) {
- std::cerr << std::format("{} Unable to find\n", line_name);
- return;
- }
- try {
- line.request({app_name, gpiod::line_request::DIRECTION_OUTPUT, 0}, value);
- } catch (const std::system_error &e) {
- std::cerr << std::format("{} unable to set direction and value {}\n",
- line_name, e.what());
- return;
- }
- // No need to set if the init did it for us
- std::cerr << std::format("{} Set to {}\n", line_name, value);
- return;
- }
- std::cerr << std::format("{} Settingto {}\n", line_name, value);
- line.set_value(value);
-}
-
-int get_gpio(const char *line_name) {
- std::cerr << std::format("{} Request to get\n", line_name);
-
- gpiod::line line = gpiod::find_line(line_name);
- if (!line) {
- std::cerr << std::format("{} Set unable to find\n", line_name);
- return -1;
- }
- try {
- line.request({app_name, gpiod::line_request::DIRECTION_INPUT, 0});
- } catch (const std::system_error &e) {
- std::cerr << std::format("{} unable to set {}\n", line_name, e.what());
- }
-
- int value = line.get_value();
- std::cerr << std::format("{} was {}\n", line_name, value);
- return value;
-}
-
-enum class GpioEventResult { Error, Asserted, Timeout };
-
-struct GpioEvent {
- GpioEvent(const char *line_name_in, int value_in)
- : line_name(line_name_in), value(value_in) {
- line = gpiod::find_line(line_name);
- if (!line) {
- std::cerr << std::format("{} GpioEvent: Unable to find\n", line_name);
- return;
- }
- int edge = value ? ::gpiod::line_request::EVENT_RISING_EDGE
- : ::gpiod::line_request::EVENT_FALLING_EDGE;
-
- line.request({app_name, edge, 0});
-
- int val = line.get_value();
- if (val == value) {
- std::cerr << std::format("{} GpioEvent is already {}\n", line_name, val);
- } else {
- std::cerr << std::format("GpioEvent created for {}\n", line_name);
- }
- }
- GpioEventResult wait() {
- if (!line) {
- std::cerr << std::format("Line {} wasn't initialized\n", line_name);
- return GpioEventResult::Error;
- }
- std::cerr << std::format("{} Waiting to go to {}\n", line_name,
- value ? "assert" : "deassert");
- auto events = line.event_wait(std::chrono::seconds(120));
- if (!events) {
- std::cerr << std::format("{} Timeout\n", line_name);
- return GpioEventResult::Timeout;
- }
-
- std::cerr << std::format("{} Asserted\n", line_name);
-
- return GpioEventResult::Asserted;
- }
-
- gpiod::line line;
- std::string line_name;
- int value;
-};
-
-void rebind_i2c(std::string number) {
- std::string bindpath =
- std::format("/sys/bus/platform/drivers/aspeed-i2c-bus/unbind", number);
- std::ofstream bindofs(bindpath);
- if (!bindofs) {
- std::cerr << std::format("{} unable to open\n", bindpath);
- return;
- }
- try {
- bindofs << std::format("{}.i2c\n", number);
- } catch (const std::system_error &e) {
- std::cerr << std::format("{} unable to write\n", bindpath);
- return;
- }
- bindofs.close();
- std::cerr << std::format("{} unbound\n", number);
-
- std::string unbindpath =
- std::format("/sys/bus/platform/drivers/aspeed-i2c-bus/bind", number);
- std::ofstream unbindofs(unbindpath);
- if (!unbindofs) {
- std::cerr << std::format("{} unable to open\n", unbindpath);
- return;
- }
- try {
- unbindofs << std::format("{}.i2c\n", number);
- } catch (const std::system_error &e) {
- std::cerr << std::format("{} unable to write\n", unbindpath);
- return;
- }
- std::cerr << std::format("{} bound\n", number);
-}
-
-void set_gpio_raw(int chip_num, int bit_num, int value) {
- std::string syspath = std::format("gpiochip{}", chip_num);
- std::cerr << std::format("Setting gpiochip{} bit {} to {}\n", chip_num,
- bit_num, value);
- try {
- gpiod::chip chip(syspath);
- gpiod::line line = chip.get_line(bit_num);
- line.request({app_name, gpiod::line_request::DIRECTION_OUTPUT, 0}, value);
- std::cerr << std::format("gpiochip{} bit {} set to {}\n", chip_num, bit_num,
- value);
- } catch (const std::system_error &e) {
- std::cerr << std::format("Error setting gpiochip{} bit {}: {}\n", chip_num,
- bit_num, e.what());
- }
-}
-
-void new_device(unsigned int bus, unsigned int address,
- std::string_view device_type) {
- std::string path = std::format("/sys/bus/i2c/devices/i2c-{}/new_device", bus);
- std::cerr << std::format("attempting to open {}", path);
- std::ofstream new_device(path);
- if (!new_device) {
- std::cerr << "Error: Unable to create I2C device\n";
- return;
- }
- new_device << std::format("{} 0x{:02x}", device_type, address);
- new_device.close();
-
- std::cerr << std::format("{} device created at bus {}", device_type, bus);
-}
-
-void wait_for_path_to_exist(std::string_view path,
- std::chrono::milliseconds timeout) {
-
- while (true) {
- std::error_code ec;
- bool exists = std::filesystem::exists(path, ec);
- if (exists) {
- return;
- }
- sleep_milliseconds(1ms);
- timeout -= 1ms;
- }
- std::cerr << std::format("Failed to wait for {} to exist", path);
-}
-
-void init_p2020_gpu_card() {
- std::cerr << "Initializing GPU card...\n";
-
- // Init the P2020 gpio expander
- new_device(14, 0x20, "pca6408");
-
- // Wait for device to be created
- auto device_path = "/sys/bus/i2c/devices/14-0020";
- wait_for_path_to_exist(device_path, 1000ms);
-
- // Find the GPIO chip number
- std::string gpio_chip;
- for (const auto &entry : std::filesystem::directory_iterator(device_path)) {
- std::string path = entry.path().string();
- if (path.find("gpiochip") != std::string::npos) {
- gpio_chip = path.substr(path.find("gpiochip") + std::strlen("gpiochip"));
- break;
- }
- }
- if (gpio_chip.empty()) {
- std::cerr << "Error: Could not find GPIO chip number\n";
- return;
- }
-
- std::cerr << "Found GPIO chip: gpiochip" << gpio_chip << "\n";
- unsigned int gpiochipint = 0;
- try {
- gpiochipint = std::stoi(gpio_chip);
- } catch (const std::exception &e) {
- std::cout << "Failed to convert gpiochip\n";
- return;
- }
-
- // Set MCU in recovery
- set_gpio_raw(gpiochipint, 3, 1);
-
- // Reset MCU
- set_gpio_raw(gpiochipint, 4, 0);
- set_gpio_raw(gpiochipint, 4, 1);
-
- // Switch MUX to MCU
- set_gpio_raw(gpiochipint, 5, 1);
-}
-
-bool hmc_is_present() {
- std::error_code ec;
- bool exists = std::filesystem::exists("/sys/bus/i2c/devices/9-0074", ec);
- if (ec) {
- exists = false;
- }
- if (exists) {
- std::cerr << "HMC present in platform";
- } else {
- std::cerr << "HMC not present in platform";
- }
- return exists;
-}
-
-int main() {
- // Reset USB hubs
- set_gpio("USB_HUB_RESET_L-O", 0, 10000ms);
- bool hmc_present = hmc_is_present();
- if (!hmc_present) {
- set_gpio("SEC_USB2_HUB_RST_L-O", 0, 10000ms);
- }
-
- sleep_milliseconds(100ms);
- if (!hmc_present) {
- set_gpio("SEC_USB2_HUB_RST_L-O", 1);
- }
- // Write SGPIO_BMC_EN-O=1 to correctly set mux to send SGPIO signals to FPGA
- set_gpio("SGPIO_BMC_EN-O", 1);
-
- // Write the bit for BMC without HMC
- set_gpio("HMC_BMC_DETECT-O", !hmc_present, 30000ms);
-
- // Set BMC_EROT_FPGA_SPI_MUX_SEL-O = 1 to enable FPGA to access its EROT
- set_gpio("BMC_EROT_FPGA_SPI_MUX_SEL-O", 1);
-
- // Enable 12V
- set_gpio("BMC_12V_CTRL-O", 1, 10000ms);
-
- set_gpio("PWR_BRAKE_L-O", 1);
- set_gpio("SHDN_REQ_L-O", 1);
- set_gpio("SHDN_FORCE_L-O", 1);
- // Hold in reset (asserted) after standby power enabled
- set_gpio("SYS_RST_IN_L-O", 0);
-
- GpioEvent fpga_ready_wait = GpioEvent("FPGA_READY_BMC-I", 1);
- GpioEvent sec_erot_fpga_rst = GpioEvent("SEC_FPGA_READY_BMC-I", 1);
-
- // Release FPGA EROT from reset
- set_gpio("EROT_FPGA_RST_L-O", 1);
- set_gpio("SEC_EROT_FPGA_RST_L-O", 1);
-
- sleep_milliseconds(100ms);
-
- set_gpio("FPGA_RST_L-O", 1);
-
- if (fpga_ready_wait.wait() != GpioEventResult::Asserted) {
- std::cerr << "FPGA_READY_BMC-I failed to assert\n";
- // return EXIT_FAILURE;
- }
-
- if (sec_erot_fpga_rst.wait() != GpioEventResult::Asserted) {
- std::cerr << "SEC_FPGA_READY_BMC-I failed to assert\n";
- // return EXIT_FAILURE;
- }
-
- // ReInitialize the FPGA connected I2C buses to unstick them and let FruDevice
- // know it can scan for FRUs
- // I2c bus 1
- rebind_i2c("1e78a100");
- // I2c bus 2
- rebind_i2c("1e78a180");
-
- // Set sgpio signals
- set_gpio("RUN_POWER_EN-O", 1);
- set_gpio("SYS_RST_IN_L-O", 1);
- set_gpio("GLOBAL_WP_BMC-O", 0);
-
- set_gpio("BMC_READY-O", 1);
-
- if (INIT_CARD == 1) {
- init_p2020_gpu_card();
- }
-
- set_gpio("USB_HUB_RESET_L-O", 1);
- if (!hmc_present) {
- set_gpio("SEC_USB2_HUB_RST_L-O", 1);
- }
-
- sd_notify(0, "READY=1");
- std::cerr << "Platform init complete\n";
- pause();
- std::cerr << "Releasing platform\n";
-
- return EXIT_SUCCESS;
-}
diff --git a/meta-nvidia/meta-gb200nvl-obmc/recipes-nvidia/platform-init/files/platform_init.service b/meta-nvidia/meta-gb200nvl-obmc/recipes-nvidia/platform-init/files/platform_init.service
deleted file mode 100644
index c1e5f5a8ba..0000000000
--- a/meta-nvidia/meta-gb200nvl-obmc/recipes-nvidia/platform-init/files/platform_init.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=Start up the GB200Nvl hardware
-Before=xyz.openbmc_project.FruDevice.service
-
-[Service]
-Type=notify
-ExecStart=/usr/libexec/platform-init
-SyslogIdentifier=gb200nvl-platform-init
-TimeoutStartSec=500
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-nvidia/meta-gb200nvl-obmc/recipes-nvidia/platform-init_%.bbappend b/meta-nvidia/meta-gb200nvl-obmc/recipes-nvidia/platform-init_%.bbappend
new file mode 100644
index 0000000000..0a4342f4d2
--- /dev/null
+++ b/meta-nvidia/meta-gb200nvl-obmc/recipes-nvidia/platform-init_%.bbappend
@@ -0,0 +1 @@
+OEEXTRA_MESON::append = "-Dplatform-name=nvidia-gb200"
diff --git a/meta-nvidia/recipes-phosphor/platform/platform-init_%.bbappend b/meta-nvidia/recipes-phosphor/platform/platform-init_%.bbappend
new file mode 100644
index 0000000000..335abe64a2
--- /dev/null
+++ b/meta-nvidia/recipes-phosphor/platform/platform-init_%.bbappend
@@ -0,0 +1 @@
+EXTRA_OEMESON:append:nv-gpu-pcie-card = " -Dinit-p2020=enabled"
diff --git a/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc b/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc
index 0ddc27f5a7..17ed5af9c5 100644
--- a/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc
+++ b/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc
@@ -2,7 +2,7 @@ HOMEPAGE = "https://github.com/openbmc/openpower-vpd-parser"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI += "git://github.com/openbmc/openpower-vpd-parser;branch=master;protocol=https"
-SRCREV = "9b0b0fd5108ebdfd472feddbac7ba7f52329ce8f"
+SRCREV = "af528989ac04c3bc670c893b08aef6e55fe3e794"
DEPENDS += "\
nlohmann-json \
cli11 \
diff --git a/meta-phosphor/recipes-extended/sdbusplus/python3-sdbus++_git.bb b/meta-phosphor/recipes-extended/sdbusplus/python3-sdbus++_git.bb
index c87b258ed2..57db211196 100644
--- a/meta-phosphor/recipes-extended/sdbusplus/python3-sdbus++_git.bb
+++ b/meta-phosphor/recipes-extended/sdbusplus/python3-sdbus++_git.bb
@@ -19,7 +19,7 @@ PYPI_PACKAGE = "sdbusplus"
S = "${WORKDIR}/git/tools"
-inherit setuptools3
+inherit python_setuptools_build_meta
RDEPENDS:${PN} += " \
${PYTHON_PN}-inflection \
diff --git a/meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc b/meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc
index a2bd881229..da785d6902 100644
--- a/meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc
+++ b/meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc
@@ -3,4 +3,4 @@ PR = "r1"
PV ?= "1.0+git${SRCPV}"
SRC_URI += "git://github.com/openbmc/sdbusplus;branch=master;protocol=https"
-SRCREV = "63190dde0d374ab4d0f0bf8ce8a02543b5c2ce18"
+SRCREV = "ed24aa516d98adb46947c3218fa94c876242e049"
diff --git a/meta-phosphor/recipes-phosphor/chassis/obmc-phosphor-buttons_git.bb b/meta-phosphor/recipes-phosphor/chassis/obmc-phosphor-buttons_git.bb
index 5cc1ce7767..ee6de6810c 100644
--- a/meta-phosphor/recipes-phosphor/chassis/obmc-phosphor-buttons_git.bb
+++ b/meta-phosphor/recipes-phosphor/chassis/obmc-phosphor-buttons_git.bb
@@ -9,7 +9,7 @@ DEPENDS += " \
phosphor-dbus-interfaces \
phosphor-logging \
"
-SRCREV = "5f3c2e5b1115d0b532c8dc5330009fea42d4f15b"
+SRCREV = "ea47dd49799e74f082a0a1386efac9bdfd6aaba4"
PACKAGECONFIG ??= "signals handler"
PACKAGECONFIG[signals] = ",,gpioplus nlohmann-json,"
PACKAGECONFIG[handler] = ",,,${VIRTUAL-RUNTIME_obmc-host-state-manager} ${VIRTUAL-RUNTIME_obmc-chassis-state-manager}"
diff --git a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb
index e8911b1196..2a414f65ea 100644
--- a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb
@@ -11,7 +11,7 @@ DEPENDS = "boost \
valijson \
phosphor-dbus-interfaces \
"
-SRCREV = "bb029e49747115dfdc613d5a7ca05b1ee657e28c"
+SRCREV = "8f7e3c09cd623cc458f9b4ee83aae3c94a2b5dc2"
PACKAGECONFIG ??= "ipmi-fru gpio-presence"
PACKAGECONFIG[dts-vpd] = "-Ddevicetree-vpd=true, -Ddevicetree-vpd=false"
diff --git a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb
index 092f3707ff..f10ecb01e4 100644
--- a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb
+++ b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb
@@ -7,7 +7,7 @@ DEPENDS += " \
sdbusplus \
systemd \
"
-SRCREV = "509b2e527564afbf9d905ba14430cea1dbea46ef"
+SRCREV = "3ea5c2f28f576068b7e0135507ad809bdeb1cd9b"
PV = "1.0+git${SRCPV}"
PR = "r1"
diff --git a/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc b/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc
index ed738dfda3..04aa882d46 100644
--- a/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc
+++ b/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-fan-presence"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI += "git://github.com/openbmc/phosphor-fan-presence;branch=master;protocol=https"
-SRCREV = "5ba9169f36e4f590894758da9bf17d76d5f39910"
+SRCREV = "f27192e92b24e370d7a00f29236337bc7d80c4af"
diff --git a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb
index 7dacfae9b2..1a99554080 100644
--- a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb
+++ b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb
@@ -14,7 +14,7 @@ DEPENDS = " \
${@bb.utils.contains('PTEST_ENABLED', '1', 'gtest', '', d)} \
${@bb.utils.contains('PTEST_ENABLED', '1', 'gmock', '', d)} \
"
-SRCREV = "55dabd74e4d96b78aa1804003062bec66cb5baa7"
+SRCREV = "8d26c0d3a9bf14f5ad36b89db3fd3ce0d428655c"
PV = "1.0+git${SRCPV}"
SRC_URI = "git://github.com/openbmc/bmcweb.git;branch=master;protocol=https"
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc
index 81ad773e3b..1c20b6c698 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-host-ipmid"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc"
SRC_URI += "git://github.com/openbmc/phosphor-host-ipmid;branch=master;protocol=https"
-SRCREV = "529d31c7b9ce70a1747b1f50b24b7ddcfaf8bc25"
+SRCREV = "5659dda70999bc6ca9fb52fb22dac1f2fb6c47a7"
diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb
index ea62fe1721..42bb179d88 100644
--- a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb
+++ b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb
@@ -20,7 +20,7 @@ DEPENDS += " \
systemd \
virtual/phosphor-logging-callouts \
"
-SRCREV = "412ff862a4832d25c73c02caf6e3af5c550ec529"
+SRCREV = "3dcf730d26e1f70144f2300b820d95a14e4f0cf1"
PACKAGECONFIG ??= ""
PACKAGECONFIG[openpower-pels] = " \
-Dopenpower-pel-extension=enabled, \
diff --git a/meta-nvidia/meta-gb200nvl-obmc/recipes-nvidia/platform-init/platform-init.bb b/meta-phosphor/recipes-phosphor/platform/platform-init_git.bb
index 9f05dc9e12..abebb88db5 100644
--- a/meta-nvidia/meta-gb200nvl-obmc/recipes-nvidia/platform-init/platform-init.bb
+++ b/meta-phosphor/recipes-phosphor/platform/platform-init_git.bb
@@ -1,24 +1,19 @@
-SUMMARY = "Platform init for GB200NVL"
+SUMMARY = "OpenBMC Platform init"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
DEPENDS = " \
+ cli11 \
libgpiod \
systemd \
"
-S = "${WORKDIR}/sources"
-UNPACKDIR = "${S}"
+S = "${WORKDIR}/git"
-SRC_URI += "\
- file://meson.options \
- file://meson.build \
- file://platform_init.cpp \
- file://platform_init.service \
-"
+SRCREV = "2b314e48381304ed5e5723076bfa9f1cd1f563bf"
-EXTRA_OEMESON:append:nv-gpu-pcie-card = " -Dinit-p2020=enabled"
+SRC_URI += "git://github.com/openbmc/platform-init.git;branch=master;protocol=https;branch=main"
SYSTEMD_PACKAGES = "${PN}"
SYSTEMD_SERVICE:${PN}:append = " platform_init.service "
diff --git a/meta-phosphor/recipes-phosphor/pldm/pldm_git.bb b/meta-phosphor/recipes-phosphor/pldm/pldm_git.bb
index c087b8f8da..9965baa69b 100644
--- a/meta-phosphor/recipes-phosphor/pldm/pldm_git.bb
+++ b/meta-phosphor/recipes-phosphor/pldm/pldm_git.bb
@@ -2,7 +2,7 @@ HOMEPAGE = "https://github.com/openbmc/pldm"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
SRC_URI = "git://github.com/openbmc/pldm;branch=master;protocol=https"
-SRCREV = "10c6400f22a8af35c853f5acc01c0798666acd40"
+SRCREV = "a206b6043a3599303d30652bf9f57b5417c1a01a"
SUMMARY = "PLDM Stack"
DESCRIPTION = "Implementation of the PLDM specifications"
diff --git a/meta-phosphor/recipes-phosphor/state/phosphor-post-code-manager_git.bb b/meta-phosphor/recipes-phosphor/state/phosphor-post-code-manager_git.bb
index b05d501748..8052321654 100644
--- a/meta-phosphor/recipes-phosphor/state/phosphor-post-code-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/state/phosphor-post-code-manager_git.bb
@@ -4,7 +4,7 @@ interface /xyz/openbmc_project/state/boot/raw by snoopd daemon and save them \
in a file under /var/lib for history."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-SRCREV = "0cbdb6e74472c0461a465bb2ceb8242e6343c578"
+SRCREV = "20297dfbd96709af18b6046db76c99c79c149d59"
PV = "1.0+git${SRCPV}"
SRC_URI = "git://github.com/openbmc/phosphor-post-code-manager.git;branch=master;protocol=https"
diff --git a/meta-phosphor/recipes-x86/chassis/x86-power-control_git.bb b/meta-phosphor/recipes-x86/chassis/x86-power-control_git.bb
index 9803efe44d..29a061fc59 100755
--- a/meta-phosphor/recipes-x86/chassis/x86-power-control_git.bb
+++ b/meta-phosphor/recipes-x86/chassis/x86-power-control_git.bb
@@ -2,7 +2,7 @@ SUMMARY = "Chassis Power Control service for Intel based platforms"
DESCRIPTION = "Chassis Power Control service for Intel based platforms"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-SRCREV = "10557bae6ca71d18aa48d5b9fc84af6345de58ef"
+SRCREV = "4d684117da08fd48c61655bb9afbc0510be42917"
PV = "1.0+git${SRCPV}"
SRC_URI = "git://github.com/openbmc/x86-power-control.git;protocol=https;branch=master"