diff options
Diffstat (limited to 'meta-facebook/meta-harma')
48 files changed, 1080 insertions, 194 deletions
diff --git a/meta-facebook/meta-harma/conf/machine/harma.conf b/meta-facebook/meta-harma/conf/machine/harma.conf index 3beb5e19f5..be5086a0d4 100644 --- a/meta-facebook/meta-harma/conf/machine/harma.conf +++ b/meta-facebook/meta-harma/conf/machine/harma.conf @@ -4,7 +4,7 @@ KMACHINE = "aspeed" KERNEL_DEVICETREE = "aspeed/${KMACHINE}-bmc-facebook-${MACHINE}.dtb" UBOOT_MACHINE = "ast2600_openbmc_spl_defconfig" -UBOOT_DEVICETREE = "ast2600-bletchley" +UBOOT_DEVICETREE = "ast2600-facebook" SPL_BINARY = "spl/u-boot-spl.bin" SOCSEC_SIGN_ENABLE = "0" @@ -12,6 +12,7 @@ SOCSEC_SIGN_ENABLE = "0" OBMC_COMPATIBLE_NAMES = "com.meta.Hardware.BMC.Model.Harma" require conf/distro/include/phosphor-static-norootfs.inc +require conf/distro/include/pldm.inc require conf/machine/include/facebook-compute-singlehost.inc require conf/machine/include/ast2600.inc require conf/machine/include/obmc-bsp-common.inc diff --git a/meta-facebook/meta-harma/recipes-kernel/linux/linux-aspeed/harma.cfg b/meta-facebook/meta-harma/recipes-kernel/linux/linux-aspeed/harma.cfg index c49f3f855e..4c83fe4af2 100644 --- a/meta-facebook/meta-harma/recipes-kernel/linux/linux-aspeed/harma.cfg +++ b/meta-facebook/meta-harma/recipes-kernel/linux/linux-aspeed/harma.cfg @@ -74,9 +74,21 @@ CONFIG_AD5272=y CONFIG_MCP9600=y # APML -CONFIG_I3C=y CONFIG_APML_SBRMI=y CONFIG_APML_SBTSI=y +# I3C drivers +CONFIG_I3C=y +CONFIG_DW_I3C_MASTER=y +CONFIG_AST2600_I3C_MASTER=y + # SPI GPIO CONFIG_SPI_GPIO=y + +# I2C mqueue for mctp +CONFIG_I2C_SLAVE_MQUEUE=m +CONFIG_I2C_SLAVE_MQUEUE_QUEUE_SIZE=32 +CONFIG_I2C_SLAVE_MQUEUE_MESSAGE_SIZE=256 + +# RTC sensor +CONFIG_RTC_DRV_PCF8563=y diff --git a/meta-facebook/meta-harma/recipes-networking/mctp/files/setup-bic-eid b/meta-facebook/meta-harma/recipes-networking/mctp/files/setup-bic-eid new file mode 100644 index 0000000000..da51310abc --- /dev/null +++ b/meta-facebook/meta-harma/recipes-networking/mctp/files/setup-bic-eid @@ -0,0 +1,39 @@ +#!/bin/bash + +# Set BIC EID +bic_addr=0x20 +busnum=9 +maxRetries=10 +retryInterval=1 + +retry_command() { + + command="$1" + retries=0 + + while [ $retries -lt $maxRetries ]; do + if bash -c "$command"; then + return 0 + else + retries=$((retries + 1)) + echo "Retry $retries/$maxRetries: Command failed. Retrying in $retryInterval seconds..." + sleep $retryInterval + fi + done + + return 1 +} + +command=" + busctl call xyz.openbmc_project.MCTP \ + /xyz/openbmc_project/mctp \ + au.com.CodeConstruct.MCTP \ + LearnEndpoint \ + say mctpi2c${busnum} 1 ${bic_addr}" + +if ! retry_command "$command"; then + echo "Failed to busctl call after $maxRetries attempts." + exit 1 +fi +echo "BIC EID set to ${bic_addr}" +exit 0
\ No newline at end of file diff --git a/meta-facebook/meta-harma/recipes-networking/mctp/files/setup-eid.conf b/meta-facebook/meta-harma/recipes-networking/mctp/files/setup-eid.conf new file mode 100644 index 0000000000..3074382d2d --- /dev/null +++ b/meta-facebook/meta-harma/recipes-networking/mctp/files/setup-eid.conf @@ -0,0 +1,9 @@ +[Unit] +After=mctpd.service +Requires=mctpd.service + +[Service] +ExecStartPre=-/usr/libexec/mctp/setup-local-eid +ExecStartPost=-/usr/libexec/mctp/setup-bic-eid +Restart=always +RestartSec=10 diff --git a/meta-facebook/meta-harma/recipes-networking/mctp/files/setup-local-eid b/meta-facebook/meta-harma/recipes-networking/mctp/files/setup-local-eid new file mode 100644 index 0000000000..a72606fcf2 --- /dev/null +++ b/meta-facebook/meta-harma/recipes-networking/mctp/files/setup-local-eid @@ -0,0 +1,45 @@ +#!/bin/bash + +# Set mctpi2c link up and assign local address. +localEid=8 +busNum=9 +maxRetries=5 +retryInterval=1 + +retry_command() { + + command="$1" + retries=0 + + while [ $retries -lt $maxRetries ]; do + if bash -c "$command"; then + return 0 + else + retries=$((retries + 1)) + echo "Retry $retries/$maxRetries: Command failed. Retrying in $retryInterval seconds..." + sleep $retryInterval + fi + done + + return 1 +} + +# Retry mctp link command +if ! retry_command "mctp link set mctpi2c${busNum} up"; then + echo "Failed to set mctp link after $maxRetries attempts." + exit 1 +fi + +# Check if local EID is already set +mctpOutput=$(mctp address show) +if echo "$mctpOutput" | grep -q "mctpi2c${busNum}"; then + echo "mctpi2c${busNum} local EID already set" +else + # Retry mctp addr add command + if ! retry_command "mctp addr add ${localEid} dev mctpi2c${busNum}"; then + echo "Failed to add mctp address after $maxRetries attempts." + exit 1 + fi +fi +echo "mctpi2c${busNum} local EID set to ${localEid}" +exit 0
\ No newline at end of file diff --git a/meta-facebook/meta-harma/recipes-networking/mctp/mctp_%.bbappend b/meta-facebook/meta-harma/recipes-networking/mctp/mctp_%.bbappend new file mode 100644 index 0000000000..c33d4da9a1 --- /dev/null +++ b/meta-facebook/meta-harma/recipes-networking/mctp/mctp_%.bbappend @@ -0,0 +1,26 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + + +SRC_URI += " \ + file://setup-eid.conf \ + file://setup-local-eid \ + file://setup-bic-eid \ +" + +RDEPENDS:${PN} += " bash" +FILES:${PN} += "${systemd_system_unitdir}/*" + +do_install:append () { + override_dir=${D}${systemd_system_unitdir}/mctpd.service.d + install -d ${D}${systemd_system_unitdir}/mctpd.service.d + + install -m 0644 ${WORKDIR}/setup-eid.conf \ + ${override_dir}/setup-eid.conf + + install -d ${D}${libexecdir}/mctp + + install -m 0755 ${WORKDIR}/setup-local-eid \ + ${D}${libexecdir}/mctp/ + install -m 0755 ${WORKDIR}/setup-bic-eid \ + ${D}${libexecdir}/mctp/ +} diff --git a/meta-facebook/meta-harma/recipes-phosphor/configuration/entity-manager/blacklist.json b/meta-facebook/meta-harma/recipes-phosphor/configuration/entity-manager/blacklist.json index a000e689c9..f6789eb5d5 100644 --- a/meta-facebook/meta-harma/recipes-phosphor/configuration/entity-manager/blacklist.json +++ b/meta-facebook/meta-harma/recipes-phosphor/configuration/entity-manager/blacklist.json @@ -3,8 +3,7 @@ 8, { "bus": 9, - "addresses": ["0x30", "0x31", "0x3F", "0x43", "0x49", "0x4A", "0x4B", "0x4C", "0x71"] - }, - 11 + "addresses": [ "0x20", "0x30", "0x31", "0x3F", "0x43", "0x49", "0x4A", "0x4B", "0x4C", "0x71"] + } ] } diff --git a/meta-facebook/meta-harma/recipes-phosphor/configuration/entity-manager/device-driver-probe b/meta-facebook/meta-harma/recipes-phosphor/configuration/entity-manager/device-driver-probe new file mode 100644 index 0000000000..4e7fb08683 --- /dev/null +++ b/meta-facebook/meta-harma/recipes-phosphor/configuration/entity-manager/device-driver-probe @@ -0,0 +1,33 @@ +#!/bin/bash + +read_i2c_dev() { + local bus="$1" + local addr="$2" + + for _ in {1..3}; do + if /usr/sbin/i2cget -f -y "$bus" "$addr" 2>/dev/null; then + return 0 + fi + done + return 1 +} + +probe_sitv_pttv_mux() { + if read_i2c_dev 9 0x71; then + echo pca9546 0x71 > /sys/bus/i2c/devices/i2c-9/new_device + else + echo pca9546 0x71 > /sys/bus/i2c/devices/i2c-11/new_device + fi +} + +set_hsc_sample_rate() { + if read_i2c_dev 4 0x44; then + # set ltc4287 sample to 4096/1.16s + i2cset -f -y 4 0x44 0xD9 0x8b + fi +} + + +probe_sitv_pttv_mux +set_hsc_sample_rate +exit 0 diff --git a/meta-facebook/meta-harma/recipes-phosphor/configuration/entity-manager/xyz.openbmc_project.EntityManager.conf b/meta-facebook/meta-harma/recipes-phosphor/configuration/entity-manager/xyz.openbmc_project.EntityManager.conf new file mode 100644 index 0000000000..e3f79cee63 --- /dev/null +++ b/meta-facebook/meta-harma/recipes-phosphor/configuration/entity-manager/xyz.openbmc_project.EntityManager.conf @@ -0,0 +1,3 @@ +[Service] +ExecStartPre=/usr/libexec/entity-manager/device-driver-probe + diff --git a/meta-facebook/meta-harma/recipes-phosphor/configuration/entity-manager_%.bbappend b/meta-facebook/meta-harma/recipes-phosphor/configuration/entity-manager_%.bbappend index 6e89557dec..23e7ed4c3b 100644 --- a/meta-facebook/meta-harma/recipes-phosphor/configuration/entity-manager_%.bbappend +++ b/meta-facebook/meta-harma/recipes-phosphor/configuration/entity-manager_%.bbappend @@ -1,9 +1,19 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" -SRC_URI:append = " \ +inherit obmc-phosphor-systemd systemd + +SRC_URI += "\ file://blacklist.json \ + file://device-driver-probe \ " +RDEPENDS:${PN}:append = " bash" + +SYSTEMD_OVERRIDE:${PN} += "xyz.openbmc_project.EntityManager.conf:xyz.openbmc_project.EntityManager.service.d/xyz.openbmc_project.EntityManager.conf" + do_install:append() { install -m 0644 -D ${WORKDIR}/blacklist.json ${D}${datadir}/${PN}/blacklist.json + + install -d ${D}${libexecdir}/${PN} + install -m 0755 ${WORKDIR}/device-driver-probe ${D}${libexecdir}/${PN}/ } diff --git a/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/setup-uart-routing b/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/setup-uart-routing index 9df066b72c..ecf3cdf173 100644 --- a/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/setup-uart-routing +++ b/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/setup-uart-routing @@ -1,8 +1,8 @@ #!/bin/bash connect_uart_route() { - echo -ne "$1" > /sys/devices/platform/ahb/ahb:apb/1e789000.lpc/1e789098.uart-routing/"$2" - echo -ne "$2" > /sys/devices/platform/ahb/ahb:apb/1e789000.lpc/1e789098.uart-routing/"$1" + echo -ne "$1" > /sys/devices/platform/ahb/1e780000.apb/1e789000.lpc/1e789098.uart-routing/"$2" + echo -ne "$2" > /sys/devices/platform/ahb/1e780000.apb/1e789000.lpc/1e789098.uart-routing/"$1" } connect_uart_route "uart1" "uart4" diff --git a/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/setup-uart-routing.conf b/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/setup-uart-routing.conf deleted file mode 100644 index c91a0b1bcd..0000000000 --- a/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console/setup-uart-routing.conf +++ /dev/null @@ -1,2 +0,0 @@ -[Service] -ExecStartPre=/usr/libexec/obmc-console/setup-uart-routing diff --git a/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console_%.bbappend b/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console_%.bbappend index e500001bed..f85aac0c45 100644 --- a/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console_%.bbappend +++ b/meta-facebook/meta-harma/recipes-phosphor/console/obmc-console_%.bbappend @@ -4,22 +4,13 @@ RDEPENDS:${PN}:append = " bash" inherit obmc-phosphor-systemd SRC_URI:append = " \ - file://setup-uart-routing \ - file://setup-uart-routing.conf \ file://server.ttyUSB1.conf \ file://plat-80-obmc-console-uart.rules \ " -do_install:append() { - install -d ${D}${libexecdir}/${PN} - install -m 0755 ${WORKDIR}/setup-uart-routing ${D}${libexecdir}/${PN} -} - OBMC_CONSOLE_TTYS:append = " ttyUSB1" - -SYSTEMD_OVERRIDE:${PN}:append = " setup-uart-routing.conf:obmc-console@ttyS2.service.d/setup-uart-routing.conf" +OBMC_SOL_ROUTING = "uart1:uart4 uart4:uart1 io1:uart2 uart2:io1" do_install:append() { install -d ${D}${base_libdir}/udev/rules.d/ - install -m 0644 ${WORKDIR}/plat-80-obmc-console-uart.rules ${D}${base_libdir}/udev/rules.d/80-obmc-console-uart.rules } diff --git a/meta-facebook/meta-harma/recipes-phosphor/fans/phosphor-pid-control/config.json b/meta-facebook/meta-harma/recipes-phosphor/fans/phosphor-pid-control/config.json new file mode 100644 index 0000000000..8e741cb25c --- /dev/null +++ b/meta-facebook/meta-harma/recipes-phosphor/fans/phosphor-pid-control/config.json @@ -0,0 +1,545 @@ +{ + "sensors": [ + { + "name": "MB_CPU_TEMP_C", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/MB_CPU_TEMP_C", + "timeout": 0, + "ignoreDbusMinMax": true + }, + { + "name": "MB_DIMM_A0_TEMP_C", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/MB_DIMM_A0_TEMP_C", + "timeout": 0, + "ignoreDbusMinMax": true + }, + { + "name": "MB_DIMM_A10_TEMP_C", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/MB_DIMM_A10_TEMP_C", + "timeout": 0, + "ignoreDbusMinMax": true + }, + { + "name": "MB_DIMM_A1_TEMP_C", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/MB_DIMM_A1_TEMP_C", + "timeout": 0, + "ignoreDbusMinMax": true + }, + { + "name": "MB_DIMM_A2_TEMP_C", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/MB_DIMM_A2_TEMP_C", + "timeout": 0, + "ignoreDbusMinMax": true + }, + { + "name": "MB_DIMM_A4_TEMP_C", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/MB_DIMM_A4_TEMP_C", + "timeout": 0, + "ignoreDbusMinMax": true + }, + { + "name": "MB_DIMM_A6_TEMP_C", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/MB_DIMM_A6_TEMP_C", + "timeout": 0, + "ignoreDbusMinMax": true + }, + { + "name": "MB_DIMM_A7_TEMP_C", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/MB_DIMM_A7_TEMP_C", + "timeout": 0, + "ignoreDbusMinMax": true + }, + { + "name": "MB_DIMM_A8_TEMP_C", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/MB_DIMM_A8_TEMP_C", + "timeout": 0, + "ignoreDbusMinMax": true + }, + { + "name": "MB_VR_CPU_PDDIO_TEMP_C", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/MB_VR_CPU_PDDIO_TEMP_C", + "timeout": 0, + "ignoreDbusMinMax": true + }, + { + "name": "MB_VR_CPU_PVDD11_TEMP_C", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/MB_VR_CPU_PVDD11_TEMP_C", + "timeout": 0, + "ignoreDbusMinMax": true + }, + { + "name": "MB_VR_CPU_SOC_TEMP_C", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/MB_VR_CPU_SOC_TEMP_C", + "timeout": 0, + "ignoreDbusMinMax": true + }, + { + "name": "MB_VR_CPU_VCORE0_TEMP_C", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/MB_VR_CPU_VCORE0_TEMP_C", + "timeout": 0, + "ignoreDbusMinMax": true + }, + { + "name": "MB_VR_CPU_VCORE1_TEMP_C", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/MB_VR_CPU_VCORE1_TEMP_C", + "timeout": 0, + "ignoreDbusMinMax": true + }, + { + "name": "MB_RETIMER0_TEMP_C", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/MB_RETIMER0_TEMP_C", + "timeout": 0, + "ignoreDbusMinMax": true + }, + { + "name": "MB_RETIMER1_TEMP_C", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/MB_RETIMER1_TEMP_C", + "timeout": 0, + "ignoreDbusMinMax": true + }, + { + "name": "NIC_Temp_1", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/NIC_Temp_1", + "timeout": 0, + "ignoreDbusMinMax": true + }, + { + "name": "SCM_INLET_TEMP_C", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/SCM_INLET_TEMP_C", + "timeout": 0, + "ignoreDbusMinMax": true + }, + { + "name": "FAN_BP0_FAN0_TACH_IL_SPEED_RPM", + "type": "fan", + "readPath": "/xyz/openbmc_project/sensors/fan_tach/FAN_BP0_FAN0_TACH_IL_SPEED_RPM", + "writePath": "/xyz/openbmc_project/control/fanpwm/FAN_BP0_FAN_PWM", + "min": 0, + "max": 255, + "ignoreDbusMinMax": true + }, + { + "name": "FAN_BP0_FAN0_TACH_OL_SPEED_RPM", + "type": "fan", + "readPath": "/xyz/openbmc_project/sensors/fan_tach/FAN_BP0_FAN0_TACH_OL_SPEED_RPM", + "writePath": "/xyz/openbmc_project/control/fanpwm/FAN_BP0_FAN_PWM", + "min": 0, + "max": 255, + "ignoreDbusMinMax": true + }, + { + "name": "FAN_BP0_FAN1_TACH_IL_SPEED_RPM", + "type": "fan", + "readPath": "/xyz/openbmc_project/sensors/fan_tach/FAN_BP0_FAN1_TACH_IL_SPEED_RPM", + "writePath": "/xyz/openbmc_project/control/fanpwm/FAN_BP0_FAN_PWM", + "min": 0, + "max": 255, + "ignoreDbusMinMax": true + }, + { + "name": "FAN_BP0_FAN1_TACH_OL_SPEED_RPM", + "type": "fan", + "readPath": "/xyz/openbmc_project/sensors/fan_tach/FAN_BP0_FAN1_TACH_OL_SPEED_RPM", + "writePath": "/xyz/openbmc_project/control/fanpwm/FAN_BP0_FAN_PWM", + "min": 0, + "max": 255, + "ignoreDbusMinMax": true + }, + { + "name": "FAN_BP0_FAN2_TACH_IL_SPEED_RPM", + "type": "fan", + "readPath": "/xyz/openbmc_project/sensors/fan_tach/FAN_BP0_FAN2_TACH_IL_SPEED_RPM", + "writePath": "/xyz/openbmc_project/control/fanpwm/FAN_BP0_FAN_PWM", + "min": 0, + "max": 255, + "ignoreDbusMinMax": true + }, + { + "name": "FAN_BP0_FAN2_TACH_OL_SPEED_RPM", + "type": "fan", + "readPath": "/xyz/openbmc_project/sensors/fan_tach/FAN_BP0_FAN2_TACH_OL_SPEED_RPM", + "writePath": "/xyz/openbmc_project/control/fanpwm/FAN_BP0_FAN_PWM", + "min": 0, + "max": 255, + "ignoreDbusMinMax": true + }, + { + "name": "FAN_BP0_FAN3_TACH_IL_SPEED_RPM", + "type": "fan", + "readPath": "/xyz/openbmc_project/sensors/fan_tach/FAN_BP0_FAN3_TACH_IL_SPEED_RPM", + "writePath": "/xyz/openbmc_project/control/fanpwm/FAN_BP0_FAN_PWM", + "min": 0, + "max": 255, + "ignoreDbusMinMax": true + }, + { + "name": "FAN_BP0_FAN3_TACH_OL_SPEED_RPM", + "type": "fan", + "readPath": "/xyz/openbmc_project/sensors/fan_tach/FAN_BP0_FAN3_TACH_OL_SPEED_RPM", + "writePath": "/xyz/openbmc_project/control/fanpwm/FAN_BP0_FAN_PWM", + "min": 0, + "max": 255, + "ignoreDbusMinMax": true + }, + { + "name": "FAN_BP1_FAN0_TACH_IL_SPEED_RPM", + "type": "fan", + "readPath": "/xyz/openbmc_project/sensors/fan_tach/FAN_BP1_FAN0_TACH_IL_SPEED_RPM", + "writePath": "/xyz/openbmc_project/control/fanpwm/FAN_BP1_FAN_PWM", + "min": 0, + "max": 255, + "ignoreDbusMinMax": true + }, + { + "name": "FAN_BP1_FAN0_TACH_OL_SPEED_RPM", + "type": "fan", + "readPath": "/xyz/openbmc_project/sensors/fan_tach/FAN_BP1_FAN0_TACH_OL_SPEED_RPM", + "writePath": "/xyz/openbmc_project/control/fanpwm/FAN_BP1_FAN_PWM", + "min": 0, + "max": 255, + "ignoreDbusMinMax": true + }, + { + "name": "FAN_BP1_FAN1_TACH_IL_SPEED_RPM", + "type": "fan", + "readPath": "/xyz/openbmc_project/sensors/fan_tach/FAN_BP1_FAN1_TACH_IL_SPEED_RPM", + "writePath": "/xyz/openbmc_project/control/fanpwm/FAN_BP1_FAN_PWM", + "min": 0, + "max": 255, + "ignoreDbusMinMax": true + }, + { + "name": "FAN_BP1_FAN1_TACH_OL_SPEED_RPM", + "type": "fan", + "readPath": "/xyz/openbmc_project/sensors/fan_tach/FAN_BP1_FAN1_TACH_OL_SPEED_RPM", + "writePath": "/xyz/openbmc_project/control/fanpwm/FAN_BP1_FAN_PWM", + "min": 0, + "max": 255, + "ignoreDbusMinMax": true + }, + { + "name": "FAN_BP1_FAN2_TACH_IL_SPEED_RPM", + "type": "fan", + "readPath": "/xyz/openbmc_project/sensors/fan_tach/FAN_BP1_FAN2_TACH_IL_SPEED_RPM", + "writePath": "/xyz/openbmc_project/control/fanpwm/FAN_BP1_FAN_PWM", + "min": 0, + "max": 255, + "ignoreDbusMinMax": true + }, + { + "name": "FAN_BP1_FAN2_TACH_OL_SPEED_RPM", + "type": "fan", + "readPath": "/xyz/openbmc_project/sensors/fan_tach/FAN_BP1_FAN2_TACH_OL_SPEED_RPM", + "writePath": "/xyz/openbmc_project/control/fanpwm/FAN_BP1_FAN_PWM", + "min": 0, + "max": 255, + "ignoreDbusMinMax": true + }, + { + "name": "FAN_BP1_FAN3_TACH_IL_SPEED_RPM", + "type": "fan", + "readPath": "/xyz/openbmc_project/sensors/fan_tach/FAN_BP1_FAN3_TACH_IL_SPEED_RPM", + "writePath": "/xyz/openbmc_project/control/fanpwm/FAN_BP1_FAN_PWM", + "min": 0, + "max": 255, + "ignoreDbusMinMax": true + }, + { + "name": "FAN_BP1_FAN3_TACH_OL_SPEED_RPM", + "type": "fan", + "readPath": "/xyz/openbmc_project/sensors/fan_tach/FAN_BP1_FAN3_TACH_OL_SPEED_RPM", + "writePath": "/xyz/openbmc_project/control/fanpwm/FAN_BP1_FAN_PWM", + "min": 0, + "max": 255, + "ignoreDbusMinMax": true + } + ], + + "zones": [ + { + "id": 1, + "failsafePercent": 100.0, + "minThermalOutput": 0.0, + "cycleTimeBaseMS": 1000, + "updateThermalsTimeMS": 1000, + "accumulateSetPoint": true, + "pids": [ + { + "name": "All Fan", + "type": "fan", + "inputs": [ + "FAN_BP0_FAN0_TACH_IL_SPEED_RPM", + "FAN_BP0_FAN0_TACH_OL_SPEED_RPM", + "FAN_BP0_FAN1_TACH_IL_SPEED_RPM", + "FAN_BP0_FAN1_TACH_OL_SPEED_RPM", + "FAN_BP0_FAN2_TACH_IL_SPEED_RPM", + "FAN_BP0_FAN2_TACH_OL_SPEED_RPM", + "FAN_BP0_FAN3_TACH_IL_SPEED_RPM", + "FAN_BP0_FAN3_TACH_OL_SPEED_RPM", + "FAN_BP1_FAN0_TACH_IL_SPEED_RPM", + "FAN_BP1_FAN0_TACH_OL_SPEED_RPM", + "FAN_BP1_FAN1_TACH_IL_SPEED_RPM", + "FAN_BP1_FAN1_TACH_OL_SPEED_RPM", + "FAN_BP1_FAN2_TACH_IL_SPEED_RPM", + "FAN_BP1_FAN2_TACH_OL_SPEED_RPM", + "FAN_BP1_FAN3_TACH_IL_SPEED_RPM", + "FAN_BP1_FAN3_TACH_OL_SPEED_RPM" + ], + "setpoint": 0.0, + "pid": { + "samplePeriod": 1, + "proportionalCoeff": 0.0, + "integralCoeff": 0.0, + "derivativeCoeff": 0.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 1.0, + "integralLimit_min": 0.0, + "integralLimit_max": 0.0, + "outLim_min": 0.0, + "outLim_max": 100.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0, + "negativeHysteresis": 0 + } + }, + { + "name": "Stepwise_MB_CPU", + "type": "stepwise", + "inputs": [ + "MB_CPU_TEMP_C" + ], + "setpoint": 0.0, + "pid": { + "samplePeriod": 1, + "isCeiling": false, + "reading": { + "0": 55, + "1": 60, + "2": 65, + "3": 70, + "4": 75 + }, + "output": { + "0": 20, + "1": 25, + "2": 30, + "3": 35, + "4": 40 + }, + "positiveHysteresis": 0, + "negativeHysteresis": 2 + } + }, + { + "name": "PID_MB_CPU", + "type": "temp", + "inputs": [ + "MB_CPU_TEMP_C" + ], + "setpoint": 79.0, + "pid": { + "samplePeriod": 1, + "proportionalCoeff": -3.0, + "integralCoeff": -0.0035, + "derivativeCoeff": 0.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": -50.0, + "integralLimit_max": 100.0, + "outLim_min": 0.0, + "outLim_max": 100.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0, + "negativeHysteresis": 2, + "checkHysterWithSetpt": true + } + }, + { + "name": "Stepwise_MB_DIMM", + "type": "stepwise", + "inputs": [ + "MB_DIMM_A0_TEMP_C", + "MB_DIMM_A1_TEMP_C", + "MB_DIMM_A2_TEMP_C", + "MB_DIMM_A4_TEMP_C", + "MB_DIMM_A6_TEMP_C", + "MB_DIMM_A7_TEMP_C", + "MB_DIMM_A8_TEMP_C", + "MB_DIMM_A10_TEMP_C" + ], + "setpoint": 0.0, + "pid": { + "samplePeriod": 1, + "isCeiling": false, + "reading": { + "0": 60, + "1": 70, + "2": 75 + }, + "output": { + "0": 20, + "1": 25, + "3": 30 + }, + "positiveHysteresis": 0, + "negativeHysteresis": 2 + } + }, + { + "name": "PID_MB_DIMM", + "type": "temp", + "inputs": [ + "MB_DIMM_A0_TEMP_C", + "MB_DIMM_A1_TEMP_C", + "MB_DIMM_A2_TEMP_C", + "MB_DIMM_A4_TEMP_C", + "MB_DIMM_A6_TEMP_C", + "MB_DIMM_A7_TEMP_C", + "MB_DIMM_A8_TEMP_C", + "MB_DIMM_A10_TEMP_C" + ], + "setpoint": 79.0, + "pid": { + "samplePeriod": 1, + "proportionalCoeff": -3.0, + "integralCoeff": -0.0035, + "derivativeCoeff": 0.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": -50.0, + "integralLimit_max": 100.0, + "outLim_min": 0.0, + "outLim_max": 100.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0, + "negativeHysteresis": 2, + "checkHysterWithSetpt": true + } + }, + { + "name": "Stepwise_MB_VR", + "type": "stepwise", + "inputs": [ + "MB_VR_CPU_VCORE0_TEMP_C", + "MB_VR_CPU_VCORE1_TEMP_C", + "MB_VR_CPU_PVDD11_TEMP_C", + "MB_VR_CPU_PDDIO_TEMP_C", + "MB_VR_CPU_SOC_TEMP_C" + ], + "setpoint": 0.0, + "pid": { + "samplePeriod": 1, + "isCeiling": false, + "reading": { + "0": 80, + "1": 90, + "2": 100 + }, + "output": { + "0": 20, + "1": 25, + "2": 90 + }, + "positiveHysteresis": 0, + "negativeHysteresis": 2 + } + }, + { + "name": "Stepwise_MB_RETIMER", + "type": "stepwise", + "inputs": [ + "MB_RETIMER0_TEMP_C", + "MB_RETIMER1_TEMP_C" + ], + "setpoint": 0.0, + "pid": { + "samplePeriod": 1, + "isCeiling": false, + "reading": { + "0": 80, + "1": 90, + "2": 100 + }, + "output": { + "0": 20, + "1": 25, + "2": 90 + }, + "positiveHysteresis": 0, + "negativeHysteresis": 2 + } + }, + { + "name": "Stepwise_NIC", + "type": "stepwise", + "inputs": [ + "NIC_Temp_1" + ], + "setpoint": 0.0, + "pid": { + "samplePeriod": 1, + "isCeiling": false, + "reading": { + "0": 80, + "1": 90, + "2": 100 + }, + "output": { + "0": 20, + "1": 25, + "2": 90 + }, + "positiveHysteresis": 0, + "negativeHysteresis": 2 + } + }, + { + "name": "Stepwise_SCM_INLET", + "type": "stepwise", + "inputs": [ + "SCM_INLET_TEMP_C" + ], + "setpoint": 0.0, + "pid": { + "samplePeriod": 1, + "isCeiling": false, + "reading": { + "0": 25, + "1": 30, + "2": 35, + "3": 40 + }, + "output": { + "0": 20, + "1": 25, + "2": 35, + "3": 90 + }, + "positiveHysteresis": 0, + "negativeHysteresis": 2 + } + } + ] + } + ] +} diff --git a/meta-facebook/meta-harma/recipes-phosphor/fans/phosphor-pid-control_%.bbappend b/meta-facebook/meta-harma/recipes-phosphor/fans/phosphor-pid-control_%.bbappend new file mode 100644 index 0000000000..56632d8fd8 --- /dev/null +++ b/meta-facebook/meta-harma/recipes-phosphor/fans/phosphor-pid-control_%.bbappend @@ -0,0 +1,10 @@ +FILESEXTRAPATHS:prepend:= "${THISDIR}/${PN}:" +SRC_URI:append = " file://config.json \ + " + +FILES:${PN}:append = " ${datadir}/swampd/config.json" + +do_install:append() { + install -d ${D}${datadir}/swampd + install -m 0644 -D ${WORKDIR}/config.json ${D}${datadir}/swampd/config.json +} diff --git a/meta-facebook/meta-harma/recipes-phosphor/flash/phosphor-software-manager/bios-update.sh b/meta-facebook/meta-harma/recipes-phosphor/flash/phosphor-software-manager/bios-update index b21c5d2ead..e29ca90a62 100755 --- a/meta-facebook/meta-harma/recipes-phosphor/flash/phosphor-software-manager/bios-update.sh +++ b/meta-facebook/meta-harma/recipes-phosphor/flash/phosphor-software-manager/bios-update @@ -30,9 +30,10 @@ set_gpio_to_cpu() echo "Bios upgrade started at $(date)" #Power off host server. -echo "Power off host server" -power_off -sleep 15 +echo "Power off host server by force off" +obmcutil chassisoff + +sleep 10 if [ "$(power_status)" != "off" ]; then echo "Host server didn't power off" diff --git a/meta-facebook/meta-harma/recipes-phosphor/flash/phosphor-software-manager/obmc-flash-host-bios@.service b/meta-facebook/meta-harma/recipes-phosphor/flash/phosphor-software-manager/obmc-flash-host-bios@.service index 7e098908e5..7d1dc08a03 100644 --- a/meta-facebook/meta-harma/recipes-phosphor/flash/phosphor-software-manager/obmc-flash-host-bios@.service +++ b/meta-facebook/meta-harma/recipes-phosphor/flash/phosphor-software-manager/obmc-flash-host-bios@.service @@ -4,4 +4,4 @@ Description=Flash Host Bios image %I to Host [Service] Type=oneshot RemainAfterExit=no -ExecStart=/usr/sbin/bios-update.sh /tmp/images/%i +ExecStart=/usr/sbin/bios-update /tmp/images/%i diff --git a/meta-facebook/meta-harma/recipes-phosphor/flash/phosphor-software-manager_%.bbappend b/meta-facebook/meta-harma/recipes-phosphor/flash/phosphor-software-manager_%.bbappend index 047f01970a..6dd496f071 100644 --- a/meta-facebook/meta-harma/recipes-phosphor/flash/phosphor-software-manager_%.bbappend +++ b/meta-facebook/meta-harma/recipes-phosphor/flash/phosphor-software-manager_%.bbappend @@ -1,10 +1,10 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" -SRC_URI += "file://bios-update.sh" +SRC_URI += "file://bios-update" PACKAGECONFIG:append = " flash_bios" RDEPENDS:${PN} += "bash" do_install:append() { install -d ${D}/${sbindir} - install -m 0755 ${WORKDIR}/bios-update.sh ${D}/${sbindir}/ + install -m 0755 ${WORKDIR}/bios-update ${D}/${sbindir}/ } 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 a8cbda483c..4bec537265 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,8 +3,5 @@ # Set Host Power Status Off busctl set-property xyz.openbmc_project.State.Host0 /xyz/openbmc_project/state/host0 xyz.openbmc_project.State.Host CurrentHostState s xyz.openbmc_project.State.Host.HostState.Off -# Set Chassis Power Status Off -busctl set-property xyz.openbmc_project.State.Chassis0 /xyz/openbmc_project/state/chassis0 xyz.openbmc_project.State.Chassis CurrentPowerState s xyz.openbmc_project.State.Chassis.PowerState.Off - systemctl start obmc-led-group-stop@power_on.service 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 36ede163b2..cc2258f373 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 @@ -3,9 +3,6 @@ # Set Host Power Status Running busctl set-property xyz.openbmc_project.State.Host0 /xyz/openbmc_project/state/host0 xyz.openbmc_project.State.Host CurrentHostState s xyz.openbmc_project.State.Host.HostState.Running -# Set Chassis Power Status On -busctl set-property xyz.openbmc_project.State.Chassis0 /xyz/openbmc_project/state/chassis0 xyz.openbmc_project.State.Chassis CurrentPowerState s xyz.openbmc_project.State.Chassis.PowerState.On - systemctl start obmc-led-group-start@power_on.service # The hardware disables the multiplexer in standby diff --git a/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/deassert-power-hsc-good b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/deassert-power-hsc-good deleted file mode 100644 index ad9fc7c98a..0000000000 --- a/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/deassert-power-hsc-good +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -# Set Host Power On -obmcutil poweron - -exit 0 diff --git a/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/deassert-power-hsc-good.service b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/deassert-power-hsc-good.service deleted file mode 100644 index 9c5aee1d26..0000000000 --- a/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/deassert-power-hsc-good.service +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=Deassert Power HSC Good Status - -[Service] -Type=oneshot -ExecStart=/usr/libexec/phosphor-gpio-monitor/deassert-power-hsc-good - -SyslogIdentifier=deassert-power-hsc-good diff --git a/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/deassert-uart-switch-button b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/deassert-uart-switch-button new file mode 100644 index 0000000000..1da52ed361 --- /dev/null +++ b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/deassert-uart-switch-button @@ -0,0 +1,23 @@ +#!/bin/bash + +# shellcheck source=meta-facebook/recipes-fb/obmc_functions/files/fb-common-functions +source /usr/libexec/fb-common-functions + +uart_lsb=$(get_gpio "uart-switch-lsb") +uart_msb=$(get_gpio "uart-switch-msb") +uart_lsb=$((1 - uart_lsb)) +uart_msb=$((1 - uart_msb)) + +uart_sel=$((uart_msb+(uart_lsb<<1))) + +set_postcode_leds() { + num=$1 + for i in {0..7}; do + bit_value=$(( (num >> i) & 1 )) + set_gpio "led-postcode-$i" $bit_value + done +} + +set_postcode_leds "$uart_sel" + +exit 0 diff --git a/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/deassert-uart-switch-button.service b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/deassert-uart-switch-button.service new file mode 100644 index 0000000000..b7e491ecca --- /dev/null +++ b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/deassert-uart-switch-button.service @@ -0,0 +1,8 @@ +[Unit] +Description=Deassert Uart Switch Button + +[Service] +Type=oneshot +ExecStart=/usr/libexec/phosphor-gpio-monitor/deassert-uart-switch-button + +SyslogIdentifier=deassert-uart-switch-button diff --git a/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/host-power-off b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/host-power-off new file mode 100644 index 0000000000..1eed8d1fab --- /dev/null +++ b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/host-power-off @@ -0,0 +1,10 @@ +#!/bin/bash + +#To avoid AC cycle trigger this script. +sleep 5 + +# Set Host Power Off +obmcutil poweroff + +# Turn off the power Led +systemctl start obmc-led-group-stop@power_on.service diff --git a/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/host-power-off.service b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/host-power-off.service new file mode 100644 index 0000000000..ad9dfaa21d --- /dev/null +++ b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/host-power-off.service @@ -0,0 +1,8 @@ +[Unit] +Description=Host power off assertion + +[Service] +Type=oneshot +ExecStart=/usr/libexec/phosphor-gpio-monitor/host-power-off + +SyslogIdentifier=host-power-off diff --git a/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/host-power-on b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/host-power-on new file mode 100644 index 0000000000..122a89f7d3 --- /dev/null +++ b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/host-power-on @@ -0,0 +1,9 @@ +#!/bin/bash + +sleep 1 + +# Set Host Power On +obmcutil poweron + +# Turn on the power Led +systemctl start obmc-led-group-start@power_on.service diff --git a/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/host-power-on.service b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/host-power-on.service new file mode 100644 index 0000000000..c4bc3f1b57 --- /dev/null +++ b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/host-power-on.service @@ -0,0 +1,8 @@ +[Unit] +Description=Host power on assertion + +[Service] +Type=oneshot +ExecStart=/usr/libexec/phosphor-gpio-monitor/host-power-on + +SyslogIdentifier=host-power-on diff --git a/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/multi-gpios-sys-init.service b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/multi-gpios-sys-init.service index 1ee870bd36..37da7d731d 100644 --- a/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/multi-gpios-sys-init.service +++ b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/multi-gpios-sys-init.service @@ -1,6 +1,7 @@ [Unit] -Wants=xyz.openbmc_project.State.Host@0.service -After=xyz.openbmc_project.State.Host@0.service +Wants=mapper-wait@-xyz-openbmc_project-state-host0.service +After=mapper-wait@-xyz-openbmc_project-state-host0.service + [Service] Type=oneshot 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 8d14905570..eb6c78943e 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 @@ -1,13 +1,23 @@ [ { - "Name": "reset-button", + "Name": "reset-cause-platrst", "ChipId": "0", - "GpioNum": 122, + "GpioNum": 16, "EventMon": "BOTH", "Targets": { - "RISING": ["deassert-gpio-log@reset-button.service","deassert-reset-button.service"], - "FALLING": ["assert-gpio-log@reset-button.service","assert-reset-button.service"] - + "RISING": ["deassert-gpio-log@reset-cause-platrst.service"], + "FALLING": ["assert-gpio-log@reset-cause-platrst.service"] + }, + "Continue": true + }, + { + "Name": "power-hsc-good", + "ChipId": "0", + "GpioNum": 21, + "EventMon": "BOTH", + "Targets": { + "RISING": ["host-power-on.service"], + "FALLING": ["host-power-off.service"] }, "Continue": true }, @@ -23,13 +33,24 @@ "Continue": true }, { - "Name": "presence-post-card", + "Name": "reset-button", "ChipId": "0", - "GpioNum": 206, + "GpioNum": 122, "EventMon": "BOTH", "Targets": { - "RISING": ["deassert-gpio-log@presence-post-card.service"], - "FALLING": ["assert-gpio-log@presence-post-card.service"] + "RISING": ["deassert-gpio-log@reset-button.service","deassert-reset-button.service"], + "FALLING": ["assert-gpio-log@reset-button.service","assert-reset-button.service"] + + }, + "Continue": true + }, + { + "Name": "uart-switch-button", + "ChipId": "0", + "GpioNum": 135, + "EventMon": "RISING", + "Targets": { + "RISING": ["deassert-uart-switch-button.service"] }, "Continue": true }, @@ -44,77 +65,80 @@ "Continue": true }, { - "Name": "irq-uv-detect-alert", + "Name": "power-host-good", "ChipId": "2", - "GpioNum": 174, - "EventMon": "FALLING", + "GpioNum": 60, + "EventMon": "BOTH", "Targets": { - "FALLING": ["assert-gpio-log@irq-uv-detect-alert.service"] + "RISING": ["deassert-power-good.service", "deassert-gpio-log@power-host-good.service"], + "FALLING": ["assert-power-good.service", "assert-gpio-log@power-host-good.service"] + }, "Continue": true }, { - "Name": "irq-hsc-alert", + "Name": "post-end-n", "ChipId": "2", - "GpioNum": 176, + "GpioNum": 66, "EventMon": "BOTH", "Targets": { - "RISING": ["deassert-gpio-log@irq-hsc-alert.service"], - "FALLING": ["assert-gpio-log@irq-hsc-alert.service"] + "RISING": ["deassert-post-end.service"], + "FALLING": ["assert-post-end.service"] + }, "Continue": true }, { - "Name": "cpu0-prochot-alert", - "ChipId": "2", - "GpioNum": 178, + "Name": "leakage-detect-alert", + "ChipId": "0", + "GpioNum": 92, "EventMon": "BOTH", "Targets": { - "RISING": ["deassert-gpio-log@cpu0-prochot-alert.service"], - "FALLING": ["assert-gpio-log@cpu0-prochot-alert.service"] + "RISING": ["deassert-gpio-log@leakage-detect-alert.service"], + "FALLING": ["assert-gpio-log@leakage-detect-alert.service"] }, "Continue": true }, { - "Name": "cpu0-thermtrip-alert", + "Name": "irq-uv-detect-alert", "ChipId": "2", - "GpioNum": 180, - "EventMon": "FALLING", + "GpioNum": 174, + "EventMon": "BOTH", "Targets": { - "FALLING": ["assert-gpio-log@cpu0-thermtrip-alert.service"] + "RISING": ["deassert-gpio-log@irq-uv-detect-alert.service"], + "FALLING": ["assert-gpio-log@irq-uv-detect-alert.service"] }, "Continue": true }, { - "Name": "cpu0-err-alert", - "ChipId": "0", - "GpioNum": 21, - "EventMon": "FALLING", + "Name": "irq-hsc-alert", + "ChipId": "2", + "GpioNum": 176, + "EventMon": "BOTH", "Targets": { - "FALLING": ["assert-gpio-log@cpu0-err-alert.service"] + "RISING": ["deassert-gpio-log@irq-hsc-alert.service"], + "FALLING": ["assert-gpio-log@irq-hsc-alert.service"] }, "Continue": true }, { - "Name": "reset-cause-platrst", - "ChipId": "0", - "GpioNum": 16, + "Name": "cpu0-prochot-alert", + "ChipId": "2", + "GpioNum": 178, "EventMon": "BOTH", "Targets": { - "RISING": ["deassert-gpio-log@reset-cause-platrst.service"], - "FALLING": ["assert-gpio-log@reset-cause-platrst.service"] + "RISING": ["deassert-gpio-log@cpu0-prochot-alert.service"], + "FALLING": ["assert-gpio-log@cpu0-prochot-alert.service"] }, "Continue": true }, { - "Name": "power-host-good", + "Name": "cpu0-thermtrip-alert", "ChipId": "2", - "GpioNum": 60, - "EventMon": "BOTH", + "GpioNum": 180, + "EventMon": "FALLING", "Targets": { - "RISING": ["deassert-power-good.service", "deassert-gpio-log@power-host-good.service"], - "FALLING": ["assert-power-good.service", "assert-gpio-log@power-host-good.service"] - + "FALLING": ["assert-gpio-log@cpu0-thermtrip-alert.service"] }, "Continue": true }, @@ -139,38 +163,5 @@ "FALLING": ["assert-gpio-log@pvdd11-ocp-alert.service"] }, "Continue": true - }, - { - "Name": "post-end-n", - "ChipId": "2", - "GpioNum": 66, - "EventMon": "BOTH", - "Targets": { - "RISING": ["deassert-post-end.service"], - "FALLING": ["assert-post-end.service"] - - }, - "Continue": true - }, - { - "Name": "leakage-detect-alert", - "ChipId": "0", - "GpioNum": 92, - "EventMon": "BOTH", - "Targets": { - "RISING": ["deassert-gpio-log@leakage-detect-alert.service"], - "FALLING": ["assert-gpio-log@leakage-detect-alert.service"] - }, - "Continue": true - }, - { - "Name": "power-hsc-good", - "ChipId": "2", - "GpioNum": 10, - "EventMon": "RISING", - "Targets": { - "RISING": ["deassert-power-hsc-good.service"] - }, - "Continue": true } ] diff --git a/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/plat-phosphor-multi-gpio-presence.json b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/plat-phosphor-multi-gpio-presence.json index d406147211..d1d7e6e7b9 100644 --- a/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/plat-phosphor-multi-gpio-presence.json +++ b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/plat-phosphor-multi-gpio-presence.json @@ -33,5 +33,12 @@ "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/board/Harma_MB/presence_asic_modules_1" + }, + { + "Name": "presence-post-card", + "LineName": "presence-post-card", + "ActiveLow": true, + "Bias": "DISABLE", + "Inventory": "/system/board/Harma_MB/presence_post_card" } -]
\ No newline at end of file +] 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 19bb06fa58..6787b885b9 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 @@ -14,10 +14,14 @@ SRC_URI += "file://assert-gpio-log@.service \ file://deassert-post-end.service \ file://deassert-power-good \ file://deassert-power-good.service \ - file://deassert-power-hsc-good \ - file://deassert-power-hsc-good.service \ file://deassert-reset-button \ file://deassert-reset-button.service \ + file://deassert-uart-switch-button \ + file://deassert-uart-switch-button.service \ + file://host-power-off \ + file://host-power-off.service \ + file://host-power-on \ + file://host-power-on.service \ file://logging \ file://multi-gpios-sys-init \ file://multi-gpios-sys-init.service \ @@ -36,6 +40,7 @@ SYSTEMD_SERVICE:${PN} += " \ deassert-power-good.service \ deassert-post-end.service \ deassert-reset-button.service \ + deassert-uart-switch-button.service \ multi-gpios-sys-init.service \ " @@ -67,7 +72,10 @@ do_install:append:() { install -m 0755 ${WORKDIR}/assert-power-good ${D}${libexecdir}/${PN}/ install -m 0755 ${WORKDIR}/deassert-power-good ${D}${libexecdir}/${PN}/ - install -m 0755 ${WORKDIR}/deassert-power-hsc-good ${D}${libexecdir}/${PN}/ + install -m 0755 ${WORKDIR}/deassert-uart-switch-button ${D}${libexecdir}/${PN}/ + + install -m 0755 ${WORKDIR}/host-power-off ${D}${libexecdir}/${PN}/ + install -m 0755 ${WORKDIR}/host-power-on ${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/leds/phosphor-led-manager/led-group-config.json b/meta-facebook/meta-harma/recipes-phosphor/leds/phosphor-led-manager/led-group-config.json index 00e2293225..23e7f8b041 100644 --- a/meta-facebook/meta-harma/recipes-phosphor/leds/phosphor-led-manager/led-group-config.json +++ b/meta-facebook/meta-harma/recipes-phosphor/leds/phosphor-led-manager/led-group-config.json @@ -6,6 +6,7 @@ { "Name" : "bmc_heartbeat_amber", "Action" : "Blink", + "Priority" : "Blink", "DutyOn" : 50, "Period" : 1000 } @@ -27,8 +28,9 @@ { "Name": "fp_id_amber", "Action": "Blink", + "Priority" : "Blink", "DutyOn": 50, - "Period": 250 + "Period": 1000 } ] } diff --git a/meta-facebook/meta-harma/recipes-phosphor/leds/phosphor-led-manager_%.bbappend b/meta-facebook/meta-harma/recipes-phosphor/leds/phosphor-led-manager_%.bbappend index 6b12a398f7..0aa18444ad 100644 --- a/meta-facebook/meta-harma/recipes-phosphor/leds/phosphor-led-manager_%.bbappend +++ b/meta-facebook/meta-harma/recipes-phosphor/leds/phosphor-led-manager_%.bbappend @@ -1,3 +1,4 @@ +# phosphor led configuration FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" SRC_URI:append = " file://led-group-config.json" @@ -5,3 +6,8 @@ SRC_URI:append = " file://led-group-config.json" do_install:append() { install -m 0644 ${WORKDIR}/led-group-config.json ${D}${datadir}/phosphor-led-manager/ } + +# Harma power led is follows the host status. +CHASSIS_TARGETS = "" +TGTFMT = "" + diff --git a/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-powerreset b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/chassis-poweroff index bd3a3fd84d..4a0d7e02e9 100644 --- a/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-powerreset +++ b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/chassis-poweroff @@ -2,4 +2,5 @@ # shellcheck source=meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/power-cmd source /usr/libexec/phosphor-state-manager/power-cmd -power_reset + +force_power_off diff --git a/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/chassis-poweroff@.service b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/chassis-poweroff@.service new file mode 100644 index 0000000000..09494c1cd9 --- /dev/null +++ b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/chassis-poweroff@.service @@ -0,0 +1,9 @@ +[Unit] +Description=power off chassis:%i + +[Service] +Type=oneshot +ExecStart=/usr/libexec/phosphor-state-manager/chassis-poweroff %i + +[Install] +WantedBy=obmc-chassis-hard-poweroff@%i.target diff --git a/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/chassis-poweron b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/chassis-poweron new file mode 100644 index 0000000000..06bd986563 --- /dev/null +++ b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/chassis-poweron @@ -0,0 +1,2 @@ +#!/bin/bash +exit 0 diff --git a/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/chassis-poweron@.service b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/chassis-poweron@.service new file mode 100644 index 0000000000..e65c96369b --- /dev/null +++ b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/chassis-poweron@.service @@ -0,0 +1,9 @@ +[Unit] +Description=power on chassis:%i + +[Service] +Type=oneshot +ExecStart=/usr/libexec/phosphor-state-manager/chassis-poweron %i + +[Install] +RequiredBy=obmc-chassis-poweron@%i.target diff --git a/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-poweroff b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-force-poweroff index 506879e96e..4a0d7e02e9 100644 --- a/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-poweroff +++ b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-force-poweroff @@ -2,4 +2,5 @@ # shellcheck source=meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/power-cmd source /usr/libexec/phosphor-state-manager/power-cmd -power_off + +force_power_off 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 new file mode 100644 index 0000000000..062d4f2098 --- /dev/null +++ b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-force-poweroff@.service @@ -0,0 +1,14 @@ +[Unit] +Description=power off host:%i +After=obmc-host-stop-pre@%i.target +Before=obmc-host-stopping@%i.target +Conflicts=obmc-host-startmin@%i.target + +[Service] +Restart=no +Type=oneshot +RemainAfterExit=yes +ExecStart=/usr/libexec/phosphor-state-manager/host-force-poweroff %i + +[Install] +RequiredBy=obmc-host-stop@%i.target diff --git a/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-powercycle b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-graceful-poweroff index b2a09f09be..b83c8c6aad 100644 --- a/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-powercycle +++ b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-graceful-poweroff @@ -2,8 +2,5 @@ # shellcheck source=meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/power-cmd source /usr/libexec/phosphor-state-manager/power-cmd -if [ "$(power_status)" == "on" ]; then - power_off - sleep 10 - power_on -fi + +graceful_power_off 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 new file mode 100644 index 0000000000..c8af4ee700 --- /dev/null +++ b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-graceful-poweroff@.service @@ -0,0 +1,15 @@ +[Unit] +Description=power off host:%i +Wants=obmc-host-stop-pre@%i.target +Before=obmc-host-stop-pre@%i.target +Conflicts=obmc-host-start@%i.target +ConditionPathExists=!/run/openbmc/host@%i-request + +[Service] +Restart=no +Type=oneshot +RemainAfterExit=yes +ExecStart=/usr/libexec/phosphor-state-manager/host-graceful-poweroff %i + +[Install] +WantedBy=obmc-host-shutdown@%i.target diff --git a/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-powercycle@.service b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-powercycle@.service deleted file mode 100644 index f45e71f8fe..0000000000 --- a/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-powercycle@.service +++ /dev/null @@ -1,9 +0,0 @@ -[Unit] -Description=Host Power Cycle: %i - -[Service] -Type=oneshot -ExecStart=/usr/libexec/phosphor-state-manager/host-powercycle %i - -[Install] -WantedBy=obmc-host-reboot@%i.target diff --git a/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-poweroff@.service b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-poweroff@.service deleted file mode 100644 index 3ead57e051..0000000000 --- a/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-poweroff@.service +++ /dev/null @@ -1,9 +0,0 @@ -[Unit] -Description=power off host:%i - -[Service] -Type=oneshot -ExecStart=/usr/libexec/phosphor-state-manager/host-poweroff %i - -[Install] -WantedBy=obmc-host-shutdown@%i.target diff --git a/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-powerreset@.service b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-powerreset@.service deleted file mode 100644 index 0fd059ce16..0000000000 --- a/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-powerreset@.service +++ /dev/null @@ -1,9 +0,0 @@ -[Unit] -Description=Host Power Reset: %i - -[Service] -Type=oneshot -ExecStart=/usr/libexec/phosphor-state-manager/host-powerreset %i - -[Install] -WantedBy=obmc-host-force-warm-reboot@%i.target diff --git a/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/phosphor-wait-power-off@.service b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/phosphor-wait-power-off@.service new file mode 100644 index 0000000000..74368c273e --- /dev/null +++ b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/phosphor-wait-power-off@.service @@ -0,0 +1,19 @@ +[Unit] +Description=Wait for Power%i to turn off +Before=obmc-power-off@%i.target +Wants=obmc-power-stop@%i.target +Before=obmc-power-stop@%i.target +Wants=obmc-power-stop-pre@%i.target +After=obmc-power-stop-pre@%i.target +Conflicts=obmc-chassis-poweron@%i.target + +[Service] +Type=oneshot +RemainAfterExit=yes +# This is wrong, but at least gives us something since we're not using +# skeleton. +ExecStart=sleep 15 +ExecStart=/bin/rm -f /run/openbmc/host@%i-request + +[Install] +RequiredBy=obmc-host-stop@%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 6f6f411b53..9587dce7fc 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 @@ -12,10 +12,9 @@ power_status() { fi } -# DC off -power_off() { +# Force DC off +force_power_off() { if [ "$(power_status)" == "on" ]; then - echo "Set Host Power Off" set_gpio power-host-control 0 sleep 6 set_gpio power-host-control 1 @@ -23,6 +22,22 @@ power_off() { fi } +# Graceful DC off +graceful_power_off() { + if [ "$(power_status)" == "on" ]; then + set_gpio power-host-control 0 + sleep 1 + set_gpio power-host-control 1 + sleep 1 + + # wait host power off + sleep 10 + if [ "$(power_status)" == "on" ]; then + force_power_off + fi + fi +} + # DC on power_on() { if [ "$(power_status)" == "off" ]; then @@ -35,25 +50,13 @@ power_on() { do sleep 1 if [ "$(power_status)" == "on" ]; then - - echo "Set Host Power On" return 0 fi if [ "$i" -eq 10 ]; then - echo "Set Host Power On Fail" return 1 fi done fi return 0 } - -# Host reset -power_reset() { - echo "Set Host Reset" - set_gpio reset-control 0 - sleep 1 - set_gpio reset-control 1 - sleep 1 -} diff --git a/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager_%.bbappend b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager_%.bbappend index d89a0ba8a9..72f7faa2a5 100644 --- a/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager_%.bbappend +++ b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager_%.bbappend @@ -1,8 +1,11 @@ +# FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" PACKAGECONFIG:remove = "only-run-apr-on-power-loss" PACKAGECONFIG:append = " host-gpio" +# Chassis Config +# TODO: Remove it when 69903 applied CHASSIS_DEFAULT_TARGETS:remove = " \ obmc-chassis-powerreset@{}.target.requires/phosphor-reset-chassis-on@{}.service \ obmc-chassis-powerreset@{}.target.requires/phosphor-reset-chassis-running@{}.service \ @@ -10,32 +13,88 @@ CHASSIS_DEFAULT_TARGETS:remove = " \ obmc-chassis-poweron@{}.target.requires/obmc-power-start@{}.service \ " +# TODO: Remove it when 69903 applied +CHASSIS_DEFAULT_TARGETS:remove = " \ + obmc-chassis-poweron@{}.target.wants/chassis-poweron@{}.service \ + obmc-chassis-hard-poweroff@{}.target.wants/chassis-poweroff@{}.service \ + obmc-chassis-powercycle@{}.target.wants/chassis-powercycle@{}.service \ + " + +# TODO: Remove it when 69903 applied +CHASSIS_DEFAULT_TARGETS:append = " \ + obmc-chassis-poweron@{}.target.requires/chassis-poweron@{}.service \ + obmc-chassis-powercycle@{}.target.requires/chassis-powercycle@{}.service \ + " +# TODO: Remove it when 69903 commit CHASSIS_DEFAULT_TARGETS:append = " \ - obmc-chassis-hard-poweroff@{}.target.wants/host-poweroff@0.service \ + obmc-chassis-poweroff@{}.target.requires/obmc-powered-off@{}.service \ " +# Harma Chassis off is host force off +CHASSIS_DEFAULT_TARGETS:append = " \ + obmc-chassis-hard-poweroff@{}.target.requires/host-force-poweroff@{}.service \ + " + +# Host Config HOST_DEFAULT_TARGETS:remove = " \ - obmc-host-start@{}.target.wants/host-poweron@{}.service \ - obmc-host-force-warm-reboot@{}.target.requires/obmc-host-stop@{}.target \ - obmc-host-force-warm-reboot@{}.target.requires/phosphor-reboot-host@{}.service \ -" + obmc-host-warm-reboot@{}.target.requires/xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service \ + " +# TODO: Remove it when 69903 applied. HOST_DEFAULT_TARGETS:append = " \ obmc-host-startmin@{}.target.requires/host-poweron@{}.service \ -" + " + +# TODO: Remove it when 69903 applied. +HOST_DEFAULT_TARGETS:append = " \ + obmc-host-shutdown@{}.target.requires/host-graceful-poweroff@{}.service \ + obmc-host-warm-reboot@{}.target.requires/host-graceful-poweroff@{}.service \ + " + +# TODO: Remove it when 69903 applied. +HOST_DEFAULT_TARGETS:append = " \ + obmc-host-stop@{}.target.requires/host-force-poweroff@{}.service \ + " + +# TODO: Remove it when 69903 applied. +HOST_DEFAULT_TARGETS:remove = " \ + obmc-host-shutdown@{}.target.wants/host-poweroff@{}.service \ + obmc-host-start@{}.target.wants/host-poweron@{}.service \ + obmc-host-reboot@{}.target.wants/host-powercycle@{}.service \ + obmc-host-force-warm-reboot@{}.target.wants/host-powerreset@{}.service \ + " + +# TODO: Remove when 69903 applied. +HOST_DEFAULT_TARGETS:remove = " \ + obmc-host-reboot@{}.target.requires/obmc-host-shutdown@{}.service \ + " + +#We need to ensure that the chassis power is always on. +CHASSIS_DEFAULT_TARGETS:remove = " \ + obmc-host-shutdown@{}.target.requires/obmc-chassis-poweroff@{}.target \ + " + +HARD_OFF_TMPL_CTRL="" +HARD_OFF_TGTFMT_CTRL="" +HARD_OFF_FMT_CTRL="" +HARD_OFF_INSTFMT_CTRL="" + SRC_URI:append = " \ - file://chassis-powercycle@.service \ - file://host-poweroff@.service \ - file://host-poweron@.service \ - file://host-powercycle@.service \ - file://host-powerreset@.service \ file://chassis-powercycle \ - file://host-poweroff \ + file://chassis-powercycle@.service \ + file://chassis-poweroff \ + file://chassis-poweroff@.service \ + file://chassis-poweron \ + file://chassis-poweron@.service \ + file://host-force-poweroff \ + file://host-force-poweroff@.service \ + file://host-graceful-poweroff \ + file://host-graceful-poweroff@.service \ file://host-poweron \ - file://host-powercycle \ - file://host-powerreset \ + file://host-poweron@.service \ file://power-cmd \ + file://phosphor-wait-power-off@.service \ file://discover-sys-init.conf \ file://phosphor-state-manager-init \ file://phosphor-state-manager-init.conf \ @@ -48,11 +107,12 @@ do_install:append() { install -m 0644 ${WORKDIR}/*.service ${D}${systemd_system_unitdir}/ install -d ${D}${libexecdir}/${PN} + install -m 0755 ${WORKDIR}/chassis-poweroff ${D}${libexecdir}/${PN}/ + install -m 0755 ${WORKDIR}/chassis-poweron ${D}${libexecdir}/${PN}/ install -m 0755 ${WORKDIR}/chassis-powercycle ${D}${libexecdir}/${PN}/ - install -m 0755 ${WORKDIR}/host-poweroff ${D}${libexecdir}/${PN}/ + install -m 0755 ${WORKDIR}/host-force-poweroff ${D}${libexecdir}/${PN}/ + install -m 0755 ${WORKDIR}/host-graceful-poweroff ${D}${libexecdir}/${PN}/ install -m 0755 ${WORKDIR}/host-poweron ${D}${libexecdir}/${PN}/ - install -m 0755 ${WORKDIR}/host-powercycle ${D}${libexecdir}/${PN}/ - install -m 0755 ${WORKDIR}/host-powerreset ${D}${libexecdir}/${PN}/ install -m 0755 ${WORKDIR}/power-cmd ${D}${libexecdir}/${PN}/ install -m 0755 ${WORKDIR}/phosphor-state-manager-init ${D}${libexecdir}/${PN}/ } |