summaryrefslogtreecommitdiff
path: root/meta-ibm/recipes-phosphor/power
diff options
context:
space:
mode:
Diffstat (limited to 'meta-ibm/recipes-phosphor/power')
-rw-r--r--meta-ibm/recipes-phosphor/power/phosphor-logging-error-logs-native.bbappend2
-rw-r--r--meta-ibm/recipes-phosphor/power/phosphor-power/rainier/psu.json31
-rw-r--r--meta-ibm/recipes-phosphor/power/phosphor-power/swift/obmc/power-supply-monitor/power-supply-monitor-0.conf6
-rw-r--r--meta-ibm/recipes-phosphor/power/phosphor-power/swift/obmc/power-supply-monitor/power-supply-monitor-1.conf6
-rw-r--r--meta-ibm/recipes-phosphor/power/phosphor-power/swift/psu.json29
-rw-r--r--meta-ibm/recipes-phosphor/power/phosphor-power/witherspoon-tacoma/obmc/power-supply-monitor/power-supply-monitor-0.conf6
-rw-r--r--meta-ibm/recipes-phosphor/power/phosphor-power/witherspoon-tacoma/obmc/power-supply-monitor/power-supply-monitor-1.conf6
-rw-r--r--meta-ibm/recipes-phosphor/power/phosphor-power/witherspoon/obmc/power-supply-monitor/power-supply-monitor-0.conf6
-rw-r--r--meta-ibm/recipes-phosphor/power/phosphor-power/witherspoon/obmc/power-supply-monitor/power-supply-monitor-1.conf6
-rw-r--r--meta-ibm/recipes-phosphor/power/phosphor-power/witherspoon/pseq-monitor-pgood.service13
-rw-r--r--meta-ibm/recipes-phosphor/power/phosphor-power/witherspoon/psu.json29
-rw-r--r--meta-ibm/recipes-phosphor/power/phosphor-power_%.bbappend17
-rw-r--r--meta-ibm/recipes-phosphor/power/power-sequencer.bb18
-rw-r--r--meta-ibm/recipes-phosphor/power/power-sequencer/rainier/ucd90160.yaml201
-rw-r--r--meta-ibm/recipes-phosphor/power/power-sequencer/swift/ucd90160.yaml180
-rw-r--r--meta-ibm/recipes-phosphor/power/power-sequencer/witherspoon/ucd90160.yaml103
-rw-r--r--meta-ibm/recipes-phosphor/power/witherspoon-pfault-analysis-error-native_git.bb18
-rw-r--r--meta-ibm/recipes-phosphor/power/witherspoon-power-supply-sync.bb16
-rw-r--r--meta-ibm/recipes-phosphor/power/witherspoon-power-supply-sync/power-supply-sync.service14
19 files changed, 707 insertions, 0 deletions
diff --git a/meta-ibm/recipes-phosphor/power/phosphor-logging-error-logs-native.bbappend b/meta-ibm/recipes-phosphor/power/phosphor-logging-error-logs-native.bbappend
new file mode 100644
index 0000000000..03646adeb1
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/power/phosphor-logging-error-logs-native.bbappend
@@ -0,0 +1,2 @@
+DEPENDS += "witherspoon-pfault-analysis-error-native"
+
diff --git a/meta-ibm/recipes-phosphor/power/phosphor-power/rainier/psu.json b/meta-ibm/recipes-phosphor/power/phosphor-power/rainier/psu.json
new file mode 100644
index 0000000000..baa96ac276
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/power/phosphor-power/rainier/psu.json
@@ -0,0 +1,31 @@
+{
+ "inventoryPMBusAccessType": "HwmonDeviceDebug",
+ "fruConfigs": [
+ {
+ "propertyName": "PartNumber",
+ "fileName": "part_number",
+ "interface": "xyz.openbmc_project.Inventory.Decorator.Asset"
+ },
+ {
+ "propertyName": "SerialNumber",
+ "fileName": "serial_number",
+ "interface": "xyz.openbmc_project.Inventory.Decorator.Asset"
+ },
+ {
+ "propertyName": "Model",
+ "fileName": "ccin",
+ "interface": "xyz.openbmc_project.Inventory.Decorator.Asset"
+ },
+ {
+ "propertyName": "Version",
+ "fileName": "fw_version",
+ "interface": "xyz.openbmc_project.Software.Version"
+ }
+ ],
+ "psuDevices": {
+ "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0" : "/sys/bus/i2c/devices/3-0068",
+ "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1" : "/sys/bus/i2c/devices/3-0069",
+ "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply2" : "/sys/bus/i2c/devices/3-006a",
+ "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply3" : "/sys/bus/i2c/devices/3-006b"
+ }
+}
diff --git a/meta-ibm/recipes-phosphor/power/phosphor-power/swift/obmc/power-supply-monitor/power-supply-monitor-0.conf b/meta-ibm/recipes-phosphor/power/phosphor-power/swift/obmc/power-supply-monitor/power-supply-monitor-0.conf
new file mode 100644
index 0000000000..167e605d0d
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/power/phosphor-power/swift/obmc/power-supply-monitor/power-supply-monitor-0.conf
@@ -0,0 +1,6 @@
+DEVPATH=/sys/bus/i2c/devices/3-0068
+INSTANCE=0
+INVENTORY=/system/chassis/motherboard/powersupply0
+NUM_HISTORY_RECORDS=120
+SYNC_GPIO_PATH=/dev/gpiochip0
+SYNC_GPIO_NUM=105
diff --git a/meta-ibm/recipes-phosphor/power/phosphor-power/swift/obmc/power-supply-monitor/power-supply-monitor-1.conf b/meta-ibm/recipes-phosphor/power/phosphor-power/swift/obmc/power-supply-monitor/power-supply-monitor-1.conf
new file mode 100644
index 0000000000..faa5adec6d
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/power/phosphor-power/swift/obmc/power-supply-monitor/power-supply-monitor-1.conf
@@ -0,0 +1,6 @@
+DEVPATH=/sys/bus/i2c/devices/3-0069
+INSTANCE=1
+INVENTORY=/system/chassis/motherboard/powersupply1
+NUM_HISTORY_RECORDS=120
+SYNC_GPIO_PATH=/dev/gpiochip0
+SYNC_GPIO_NUM=105
diff --git a/meta-ibm/recipes-phosphor/power/phosphor-power/swift/psu.json b/meta-ibm/recipes-phosphor/power/phosphor-power/swift/psu.json
new file mode 100644
index 0000000000..94f14dd603
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/power/phosphor-power/swift/psu.json
@@ -0,0 +1,29 @@
+{
+ "inventoryPMBusAccessType": "HwmonDeviceDebug",
+ "fruConfigs": [
+ {
+ "propertyName": "PartNumber",
+ "fileName": "part_number",
+ "interface": "xyz.openbmc_project.Inventory.Decorator.Asset"
+ },
+ {
+ "propertyName": "SerialNumber",
+ "fileName": "serial_number",
+ "interface": "xyz.openbmc_project.Inventory.Decorator.Asset"
+ },
+ {
+ "propertyName": "Model",
+ "fileName": "ccin",
+ "interface": "xyz.openbmc_project.Inventory.Decorator.Asset"
+ },
+ {
+ "propertyName": "Version",
+ "fileName": "fw_version",
+ "interface": "xyz.openbmc_project.Software.Version"
+ }
+ ],
+ "psuDevices": {
+ "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0" : "/sys/bus/i2c/devices/3-0068",
+ "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1" : "/sys/bus/i2c/devices/3-0069"
+ }
+}
diff --git a/meta-ibm/recipes-phosphor/power/phosphor-power/witherspoon-tacoma/obmc/power-supply-monitor/power-supply-monitor-0.conf b/meta-ibm/recipes-phosphor/power/phosphor-power/witherspoon-tacoma/obmc/power-supply-monitor/power-supply-monitor-0.conf
new file mode 100644
index 0000000000..15390ce422
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/power/phosphor-power/witherspoon-tacoma/obmc/power-supply-monitor/power-supply-monitor-0.conf
@@ -0,0 +1,6 @@
+DEVPATH=/sys/bus/i2c/devices/3-0069
+INSTANCE=0
+INVENTORY=/system/chassis/motherboard/powersupply0
+NUM_HISTORY_RECORDS=120
+SYNC_GPIO_PATH=/dev/gpiochip0
+SYNC_GPIO_NUM=38
diff --git a/meta-ibm/recipes-phosphor/power/phosphor-power/witherspoon-tacoma/obmc/power-supply-monitor/power-supply-monitor-1.conf b/meta-ibm/recipes-phosphor/power/phosphor-power/witherspoon-tacoma/obmc/power-supply-monitor/power-supply-monitor-1.conf
new file mode 100644
index 0000000000..ce9f322a55
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/power/phosphor-power/witherspoon-tacoma/obmc/power-supply-monitor/power-supply-monitor-1.conf
@@ -0,0 +1,6 @@
+DEVPATH=/sys/bus/i2c/devices/3-0068
+INSTANCE=1
+INVENTORY=/system/chassis/motherboard/powersupply1
+NUM_HISTORY_RECORDS=120
+SYNC_GPIO_PATH=/dev/gpiochip0
+SYNC_GPIO_NUM=38
diff --git a/meta-ibm/recipes-phosphor/power/phosphor-power/witherspoon/obmc/power-supply-monitor/power-supply-monitor-0.conf b/meta-ibm/recipes-phosphor/power/phosphor-power/witherspoon/obmc/power-supply-monitor/power-supply-monitor-0.conf
new file mode 100644
index 0000000000..d6732e6b8a
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/power/phosphor-power/witherspoon/obmc/power-supply-monitor/power-supply-monitor-0.conf
@@ -0,0 +1,6 @@
+DEVPATH=/sys/bus/i2c/devices/3-0069
+INSTANCE=0
+INVENTORY=/system/chassis/motherboard/powersupply0
+NUM_HISTORY_RECORDS=120
+SYNC_GPIO_PATH=/dev/gpiochip0
+SYNC_GPIO_NUM=105
diff --git a/meta-ibm/recipes-phosphor/power/phosphor-power/witherspoon/obmc/power-supply-monitor/power-supply-monitor-1.conf b/meta-ibm/recipes-phosphor/power/phosphor-power/witherspoon/obmc/power-supply-monitor/power-supply-monitor-1.conf
new file mode 100644
index 0000000000..cace335b16
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/power/phosphor-power/witherspoon/obmc/power-supply-monitor/power-supply-monitor-1.conf
@@ -0,0 +1,6 @@
+DEVPATH=/sys/bus/i2c/devices/3-0068
+INSTANCE=1
+INVENTORY=/system/chassis/motherboard/powersupply1
+NUM_HISTORY_RECORDS=120
+SYNC_GPIO_PATH=/dev/gpiochip0
+SYNC_GPIO_NUM=105
diff --git a/meta-ibm/recipes-phosphor/power/phosphor-power/witherspoon/pseq-monitor-pgood.service b/meta-ibm/recipes-phosphor/power/phosphor-power/witherspoon/pseq-monitor-pgood.service
new file mode 100644
index 0000000000..458c5e6d7f
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/power/phosphor-power/witherspoon/pseq-monitor-pgood.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Power Sequencer Power-on Monitor
+Wants=op-power-start@0.service
+After=op-power-start@0.service
+Wants=power-workarounds@0.service
+After=power-workarounds@0.service
+Conflicts=obmc-chassis-poweroff@0.target
+ConditionPathExists=!/run/openbmc/chassis@0-on
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/env pseq-monitor -a pgood-monitor -i 5000
+SyslogIdentifier=pseq-monitor
diff --git a/meta-ibm/recipes-phosphor/power/phosphor-power/witherspoon/psu.json b/meta-ibm/recipes-phosphor/power/phosphor-power/witherspoon/psu.json
new file mode 100644
index 0000000000..cbabc78393
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/power/phosphor-power/witherspoon/psu.json
@@ -0,0 +1,29 @@
+{
+ "inventoryPMBusAccessType": "HwmonDeviceDebug",
+ "fruConfigs": [
+ {
+ "propertyName": "PartNumber",
+ "fileName": "part_number",
+ "interface": "xyz.openbmc_project.Inventory.Decorator.Asset"
+ },
+ {
+ "propertyName": "SerialNumber",
+ "fileName": "serial_number",
+ "interface": "xyz.openbmc_project.Inventory.Decorator.Asset"
+ },
+ {
+ "propertyName": "Model",
+ "fileName": "ccin",
+ "interface": "xyz.openbmc_project.Inventory.Decorator.Asset"
+ },
+ {
+ "propertyName": "Version",
+ "fileName": "fw_version",
+ "interface": "xyz.openbmc_project.Software.Version"
+ }
+ ],
+ "psuDevices": {
+ "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0" : "/sys/bus/i2c/devices/3-0069",
+ "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1" : "/sys/bus/i2c/devices/3-0068"
+ }
+}
diff --git a/meta-ibm/recipes-phosphor/power/phosphor-power_%.bbappend b/meta-ibm/recipes-phosphor/power/phosphor-power_%.bbappend
new file mode 100644
index 0000000000..1105e0cf6d
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/power/phosphor-power_%.bbappend
@@ -0,0 +1,17 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+inherit obmc-phosphor-systemd
+
+SRC_URI += "file://psu.json"
+
+EXTRA_OEMESON += "-Ducd90160-yaml=${STAGING_DIR_HOST}${datadir}/power-sequencer/ucd90160.yaml"
+
+DEPENDS += " power-sequencer"
+
+do_install_append(){
+ install -D ${WORKDIR}/psu.json ${D}${datadir}/phosphor-power/psu.json
+}
+FILES_${PN} += "${datadir}/phosphor-power/psu.json"
+
+PSU_MONITOR_ENV_FMT = "obmc/power-supply-monitor/power-supply-monitor-{0}.conf"
+SYSTEMD_ENVIRONMENT_FILE_${PN}-monitor_append_ibm-ac-server += "${@compose_list(d, 'PSU_MONITOR_ENV_FMT', 'OBMC_POWER_SUPPLY_INSTANCES')}"
diff --git a/meta-ibm/recipes-phosphor/power/power-sequencer.bb b/meta-ibm/recipes-phosphor/power/power-sequencer.bb
new file mode 100644
index 0000000000..be5035eca3
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/power/power-sequencer.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Power sequencer data definition"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+inherit allarch
+
+SRC_URI = "file://ucd90160.yaml"
+
+FILES_${PN} += "${datadir}/power-sequencer/ucd90160.yaml"
+
+S = "${WORKDIR}"
+
+do_install() {
+ DEST=${D}${datadir}/power-sequencer
+
+ install -D ucd90160.yaml ${DEST}/ucd90160.yaml
+}
diff --git a/meta-ibm/recipes-phosphor/power/power-sequencer/rainier/ucd90160.yaml b/meta-ibm/recipes-phosphor/power/power-sequencer/rainier/ucd90160.yaml
new file mode 100644
index 0000000000..a6bba44cea
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/power/power-sequencer/rainier/ucd90160.yaml
@@ -0,0 +1,201 @@
+- Device:
+ index: 0
+ # Linux sysfs path for this power sequencer (0x22 8-bit address)
+ path: /sys/bus/i2c/devices/i2c-8/8-0011
+ RailNames:
+ - "12.0V"
+ - "5.0V_USB"
+ - "5.0V_DASD"
+ - "3.3VA"
+ - "3.3VB"
+ - "1.5V"
+ - "1.1V"
+ - "VDDA_DCM0"
+ - "VDDB_DCM0"
+ - "VDDA_DCM1"
+ - "VDDB_DCM1"
+ - "12.0VCS"
+ - "3.3VCS"
+ - "1.1V_Current"
+ - "5.0V_USB_Current"
+ - "5.0V_DASD_Current"
+ - "12.0VN"
+ - "12.0VP"
+ - "12.0VQ"
+ - "12.0VR"
+ - "ThermalDiode1"
+ - "ThermalDiode2"
+ - "ThermalDiode3"
+ - "ThermalDiode4"
+ GPIConfigs:
+ - name: PCIE_SLOT0
+ gpi: 1
+ pinID: 44
+ poll: false
+ analysis: none
+ - name: PCIE_SLOT1
+ gpi: 2
+ pinID: 45
+ poll: false
+ analysis: none
+ - name: PCIE_SLOT2
+ gpi: 3
+ pinID: 46
+ poll: false
+ analysis: none
+ - name: PCIE_SLOT3
+ gpi: 4
+ pinID: 47
+ poll: false
+ analysis: none
+ - name: PCIE_SLOT4
+ gpi: 5
+ pinID: 48
+ poll: false
+ analysis: none
+ - name: PCIE_SLOT7
+ gpi: 6
+ pinID: 49
+ poll: false
+ analysis: none
+ - name: PCIE_SLOT8
+ gpi: 7
+ pinID: 50
+ poll: false
+ analysis: none
+ - name: PCIE_SLOT9
+ gpi: 8
+ pinID: 51
+ poll: false
+ analysis: none
+ - name: PCIE_SLOT10
+ gpi: 9
+ pinID: 52
+ poll: false
+ analysis: none
+ - name: PCIE_SLOT11
+ gpi: 10
+ pinID: 53
+ poll: false
+ analysis: none
+ - name: SOFTWARE_PGOOD
+ gpi: 11
+ pinID: 55
+ poll: false
+ analysis: none
+ - name: PGOOD_12A
+ gpi: 12
+ pinID: 56
+ poll: false
+ analysis: none
+ - name: PGOOD_12B
+ gpi: 13
+ pinID: 57
+ poll: false
+ analysis: none
+ - name: PGOOD_12C
+ gpi: 14
+ pinID: 58
+ poll: false
+ analysis: none
+ - name: PGOOD_12D
+ gpi: 15
+ pinID: 59
+ poll: false
+ analysis: none
+ - name: PGOOD_12L
+ gpi: 16
+ pinID: 60
+ poll: false
+ analysis: none
+ - name: PGOOD_12M
+ gpi: 17
+ pinID: 61
+ poll: false
+ analysis: none
+ - name: PGOOD_12N
+ gpi: 18
+ pinID: 62
+ poll: false
+ analysis: none
+ - name: PGOOD_12P
+ gpi: 19
+ pinID: 63
+ poll: false
+ analysis: none
+ - name: PGOOD_12PCIE
+ gpi: 20
+ pinID: 64
+ poll: false
+ analysis: none
+ - name: PGOOD_12Q
+ gpi: 21
+ pinID: 65
+ poll: false
+ analysis: none
+ - name: PGOOD_12R
+ gpi: 22
+ pinID: 66
+ poll: false
+ analysis: none
+ - name: PGOOD_VDN_DCM0
+ gpi: 23
+ pinID: 72
+ poll: false
+ analysis: none
+ - name: PGOOD_VDN_DCM1
+ gpi: 24
+ pinID: 73
+ poll: false
+ analysis: none
+ - name: PGOOD_VCS_DCM0
+ gpi: 25
+ pinID: 74
+ poll: false
+ analysis: none
+ - name: PGOOD_VCS_DCM1
+ gpi: 26
+ pinID: 75
+ poll: false
+ analysis: none
+ - name: PGOOD_VIO_DCM0
+ gpi: 27
+ pinID: 76
+ poll: false
+ analysis: none
+ - name: PGOOD_VIO_DCM1
+ gpi: 28
+ pinID: 77
+ poll: false
+ analysis: none
+ - name: PGOOD_VPCIE_DCM0
+ gpi: 29
+ pinID: 78
+ poll: false
+ analysis: none
+ - name: PGOOD_VPCIE_DCM1
+ gpi: 30
+ pinID: 79
+ poll: false
+ analysis: none
+ - name: PGOOD_PSU1
+ gpi: 31
+ pinID: 80
+ poll: false
+ analysis: none
+ - name: PGOOD_PSU2
+ gpi: 32
+ pinID: 81
+ poll: false
+ analysis: none
+ - name: PGOOD_PSU3
+ gpi: 33
+ pinID: 82
+ poll: false
+ analysis: none
+ - name: PGOOD_PSU4
+ gpi: 34
+ pinID: 83
+ poll: false
+ analysis: none
+
diff --git a/meta-ibm/recipes-phosphor/power/power-sequencer/swift/ucd90160.yaml b/meta-ibm/recipes-phosphor/power/power-sequencer/swift/ucd90160.yaml
new file mode 100644
index 0000000000..abb2ce3269
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/power/power-sequencer/swift/ucd90160.yaml
@@ -0,0 +1,180 @@
+- Device:
+ index: 0
+ # Linux sysfs path for this power sequencer (0xC8 8-bit address)
+ path: /sys/bus/i2c/devices/i2c-8/8-0064
+ RailNames:
+ - "12.0V"
+ - "3.3V"
+ - "1.8V"
+ - "1.1V"
+ - "0.8V_SW"
+ - "5.0V"
+ - "VDN0"
+ - "VDN1"
+ - "AVDD"
+ - "VIO0"
+ - "VIO1"
+ - "VDD0"
+ - "VDD1"
+ - "VCS0"
+ - "VCS1"
+ GPIConfigs:
+ - name: PGOOD_5P0V
+ gpi: 1
+ pinID: 8
+ poll: false
+ analysis: none
+ - name: MEM_GOOD0
+ gpi: 2
+ pinID: 9
+ poll: false
+ analysis: memGOOD0
+ - name: MEM_GOOD1
+ gpi: 3
+ pinID: 10
+ poll: false
+ analysis: memGOOD1
+ - name: GPU_PGOOD
+ gpi: 4
+ pinID: 14
+ poll: false
+ analysis: gpuPGOOD # Extra GPIOAnalysis to run if faulted
+ - name: GPU_TH_OVERT
+ gpi: 5
+ pinID: 17
+ poll: false
+ analysis: gpuOverTemp # Extra GPIOAnalysis to run if faulted
+ - name: SOFTWARE_PGOOD
+ gpi: 6
+ pinID: 11
+ poll: false
+ analysis: none
+ GPIOAnalysis:
+ - type: gpuPGOOD
+ # The PCA9xxx chip device path and address (0xC0 8-bit = 0x60 7-bit)
+ path: /sys/bus/i2c/devices/i2c-8/8-0060
+ gpio_value: low # What GPIO value indicates a fault/problem?
+ error_function: gpuPGOODError # Extra analysis function to call for this type
+ option_flags: none
+ GPIODefinitions:
+ - GPIODefinition: GPU Card 0
+ gpio: 8 # GPIO pin/register to check for fault
+ # Call out path for fault
+ callout: /system/chassis/motherboard/gv100card0
+ - GPIODefinition: GPU Card 1
+ gpio: 9
+ callout: /system/chassis/motherboard/gv100card1
+ - GPIODefinition: GPU Card 2
+ gpio: 10
+ callout: /system/chassis/motherboard/gv100card2
+ - GPIODefinition: GPU Card 3
+ gpio: 11
+ callout: /system/chassis/motherboard/gv100card3
+ - type: gpuOverTemp
+ # The PCA9xxx chip device path and address (0xC0 8-bit = 0x60 7-bit)
+ path: /sys/bus/i2c/devices/i2c-8/8-0060
+ gpio_value: low # What GPIO value indicates a fault/problem?
+ error_function: gpuOverTempError # Extra analysis function to call for this type
+ option_flags: shutdownOnFault
+ GPIODefinitions:
+ - GPIODefinition: GPU Card 0 Overtemperature
+ gpio: 2 # GPIO pin/register to check for fault
+ # Call out path for fault
+ callout: /system/chassis/motherboard/gv100card0
+ - GPIODefinition: GPU Card 1 Overtemperature
+ gpio: 3
+ callout: /system/chassis/motherboard/gv100card1
+ - GPIODefinition: GPU Card 2 Overtemperature
+ gpio: 4
+ callout: /system/chassis/motherboard/gv100card2
+ - GPIODefinition: GPU Card 3 Overtemperature
+ gpio: 5
+ callout: /system/chassis/motherboard/gv100card3
+ - type: memGOOD0
+ # The PCA9xxx chip device path and address (0xE8 8-bit = 0x74 7-bit)
+ path: /sys/bus/i2c/devices/i2c-9/9-0074
+ gpio_value: low # What GPIO value indicates a fault/problem?
+ error_function: memGoodError # Extra analysis function to call for this type
+ option_flags: none
+ GPIODefinitions:
+ - GPIODefinition: CPU 0 OMI0A PGOOD
+ gpio: 0 # GPIO pin/register to check for fault
+ # Call out path for fault
+ callout: /system/chassis/motherboard/dimm4
+ - GPIODefinition: CPU 0 OMI0B PGOOD
+ gpio: 1
+ callout: /system/chassis/motherboard/dimm3
+ - GPIODefinition: CPU 0 OMI0C PGOOD
+ gpio: 2
+ callout: /system/chassis/motherboard/dimm2
+ - GPIODefinition: CPU 0 OMI1A PGOOD
+ gpio: 3
+ callout: /system/chassis/motherboard/dimm5
+ - GPIODefinition: CPU 0 OMI1B PGOOD
+ gpio: 4
+ callout: /system/chassis/motherboard/dimm10
+ - GPIODefinition: CPU 0 OMI1C PGOOD
+ gpio: 5
+ callout: /system/chassis/motherboard/dimm8
+ - GPIODefinition: CPU 0 OMI2A PGOOD
+ gpio: 6
+ callout: /system/chassis/motherboard/dimm11
+ - GPIODefinition: CPU 0 OMI2B PGOOD
+ gpio: 7
+ callout: /system/chassis/motherboard/dimm9
+ - GPIODefinition: CPU 0 OMI3A PGOOD
+ gpio: 8
+ callout: /system/chassis/motherboard/dimm0
+ - GPIODefinition: CPU 0 OMI3B PGOOD
+ gpio: 9
+ callout: /system/chassis/motherboard/dimm1
+ - GPIODefinition: CPU 0 OMI3C PGOOD
+ gpio: 10
+ callout: /system/chassis/motherboard/dimm7
+ - GPIODefinition: CPU 0 OMI4A PGOOD
+ gpio: 11
+ callout: /system/chassis/motherboard/dimm6
+ - type: memGOOD1
+ # The PCA9xxx chip device path and address (0xE8 8-bit = 0x74 7-bit)
+ path: /sys/bus/i2c/devices/i2c-10/10-0074
+ gpio_value: low # What GPIO value indicates a fault/problem?
+ error_function: memGoodError # Extra analysis function to call for this type
+ option_flags: none
+ GPIODefinitions:
+ - GPIODefinition: CPU 1 OMI0A PGOOD
+ gpio: 0 # GPIO pin/register to check for fault
+ # Call out path for fault
+ callout: /system/chassis/motherboard/dimm16
+ - GPIODefinition: CPU 1 OMI0B PGOOD
+ gpio: 1
+ callout: /system/chassis/motherboard/dimm15
+ - GPIODefinition: CPU 1 OMI0C PGOOD
+ gpio: 2
+ callout: /system/chassis/motherboard/dimm14
+ - GPIODefinition: CPU 1 OMI1A PGOOD
+ gpio: 3
+ callout: /system/chassis/motherboard/dimm17
+ - GPIODefinition: CPU 1 OMI1B PGOOD
+ gpio: 4
+ callout: /system/chassis/motherboard/dimm22
+ - GPIODefinition: CPU 1 OMI1C PGOOD
+ gpio: 5
+ callout: /system/chassis/motherboard/dimm20
+ - GPIODefinition: CPU 1 OMI2A PGOOD
+ gpio: 6
+ callout: /system/chassis/motherboard/dimm23
+ - GPIODefinition: CPU 1 OMI2B PGOOD
+ gpio: 7
+ callout: /system/chassis/motherboard/dimm21
+ - GPIODefinition: CPU 1 OMI3A PGOOD
+ gpio: 8
+ callout: /system/chassis/motherboard/dimm12
+ - GPIODefinition: CPU 1 OMI3B PGOOD
+ gpio: 9
+ callout: /system/chassis/motherboard/dimm13
+ - GPIODefinition: CPU 1 OMI3C PGOOD
+ gpio: 10
+ callout: /system/chassis/motherboard/dimm19
+ - GPIODefinition: CPU 1 OMI4A PGOOD
+ gpio: 11
+ callout: /system/chassis/motherboard/dimm18
diff --git a/meta-ibm/recipes-phosphor/power/power-sequencer/witherspoon/ucd90160.yaml b/meta-ibm/recipes-phosphor/power/power-sequencer/witherspoon/ucd90160.yaml
new file mode 100644
index 0000000000..9dd3812480
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/power/power-sequencer/witherspoon/ucd90160.yaml
@@ -0,0 +1,103 @@
+- Device:
+ index: 0
+ # Linux sysfs path for this power sequencer (0xC8 8-bit address)
+ path: /sys/bus/i2c/devices/i2c-11/11-0064
+ RailNames:
+ - "5.0VCS"
+ - "12.0V"
+ - "3.3V"
+ - "1.8V"
+ - "1.1V"
+ - "1.0V"
+ - "0.9V"
+ - "VDN-A"
+ - "VDN-B"
+ - "AVDD"
+ - "VIO-A"
+ - "VIO-B"
+ - "VDD-A"
+ - "VDD-B"
+ - "VCS-A"
+ - "VCS-B"
+ GPIConfigs:
+ - name: PGOOD_5P0V
+ gpi: 1
+ pinID: 8
+ poll: false
+ analysis: none
+ - name: MEM_GOOD0
+ gpi: 2
+ pinID: 9
+ poll: false
+ analysis: none
+ - name: MEM_GOOD1
+ gpi: 3
+ pinID: 10
+ poll: false
+ analysis: none
+ - name: GPU_PGOOD
+ gpi: 4
+ pinID: 14
+ poll: false
+ analysis: gpuPGOOD
+ - name: GPU_TH_OVERT
+ gpi: 5
+ pinID: 17
+ poll: true
+ analysis: gpuOverTemp
+ - name: SOFTWARE_PGOOD
+ gpi: 6
+ pinID: 11
+ poll: false
+ analysis: none
+ GPIOAnalysis:
+ - type: gpuPGOOD
+ path: /sys/bus/i2c/devices/i2c-11/11-0060
+ gpio_value: low
+ error_function: gpuPGOODError
+ option_flags: none
+ GPIODefinitions:
+ - GPIODefinition: GPU Card 0
+ gpio: 8
+ callout: /system/chassis/motherboard/gv100card0
+ - GPIODefinition: GPU Card 1
+ gpio: 9
+ callout: /system/chassis/motherboard/gv100card1
+ - GPIODefinition: GPU Card 2
+ gpio: 10
+ callout: /system/chassis/motherboard/gv100card2
+ - GPIODefinition: GPU Card 3
+ gpio: 11
+ callout: /system/chassis/motherboard/gv100card3
+ - GPIODefinition: GPU Card 4
+ gpio: 12
+ callout: /system/chassis/motherboard/gv100card4
+ - GPIODefinition: GPU Card 5
+ gpio: 13
+ callout: /system/chassis/motherboard/gv100card5
+ - type: gpuOverTemp # Extra analysis function to call for this type
+ # The PCA9xxx chip device path and address (0xC0 8-bit = 0x60 7-bit)
+ path: /sys/bus/i2c/devices/i2c-11/11-0060
+ gpio_value: low # What GPIO value indicates a fault/problem?
+ error_function: gpuOverTempError
+ option_flags: shutdownOnFault
+ GPIODefinitions:
+ - GPIODefinition: GPU Card 0 Overtemperature
+ gpio: 2 # GPIO pin/register to check for fault
+ # Call out path for fault
+ callout: /system/chassis/motherboard/gv100card0
+ - GPIODefinition: GPU Card 1 Overtemperature
+ gpio: 3
+ callout: /system/chassis/motherboard/gv100card1
+ - GPIODefinition: GPU Card 2 Overtemperature
+ gpio: 4
+ callout: /system/chassis/motherboard/gv100card2
+ - GPIODefinition: GPU Card 3 Overtemperature
+ gpio: 5
+ callout: /system/chassis/motherboard/gv100card3
+ - GPIODefinition: GPU Card 4 Overtemperature
+ gpio: 6
+ callout: /system/chassis/motherboard/gv100card4
+ - GPIODefinition: GPU Card 5 Overtemperature
+ gpio: 7
+ callout: /system/chassis/motherboard/gv100card5
diff --git a/meta-ibm/recipes-phosphor/power/witherspoon-pfault-analysis-error-native_git.bb b/meta-ibm/recipes-phosphor/power/witherspoon-pfault-analysis-error-native_git.bb
new file mode 100644
index 0000000000..3c174c3e84
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/power/witherspoon-pfault-analysis-error-native_git.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Copy error yaml files to known path for elog parsing"
+PR = "r1"
+PV = "1.0+git${SRCPV}"
+
+inherit native
+inherit phosphor-dbus-yaml
+
+require recipes-phosphor/power/phosphor-power.inc
+
+S = "${WORKDIR}/git"
+
+do_install_append() {
+ SRC=${S}/org/open_power/Witherspoon
+ DEST=${D}${yaml_dir}/org/open_power/Witherspoon
+ install -d ${DEST}
+ install ${SRC}/Fault.errors.yaml ${DEST}
+ install ${SRC}/Fault.metadata.yaml ${DEST}
+}
diff --git a/meta-ibm/recipes-phosphor/power/witherspoon-power-supply-sync.bb b/meta-ibm/recipes-phosphor/power/witherspoon-power-supply-sync.bb
new file mode 100644
index 0000000000..4f599a78c9
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/power/witherspoon-power-supply-sync.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Power Supply Sync"
+DESCRIPTION = "Synchronizes the power supplies' INPUT_HISTORY data"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+inherit obmc-phosphor-systemd
+
+RDEPENDS_${PN} += "virtual/obmc-gpio-monitor"
+
+SYNC_SERVICE = "power-supply-sync.service"
+TGTFMT = "obmc-chassis-poweron@0.target"
+SYNC_FMT = "../${SYNC_SERVICE}:${TGTFMT}.wants/${SYNC_SERVICE}"
+
+SYSTEMD_SERVICE_${PN} += "${SYNC_SERVICE}"
+SYSTEMD_LINK_${PN} += "${SYNC_FMT}"
diff --git a/meta-ibm/recipes-phosphor/power/witherspoon-power-supply-sync/power-supply-sync.service b/meta-ibm/recipes-phosphor/power/witherspoon-power-supply-sync/power-supply-sync.service
new file mode 100644
index 0000000000..9e342367b6
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/power/witherspoon-power-supply-sync/power-supply-sync.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Power Supply Input History SYNC
+Wants=obmc-power-start-pre@0.target
+After=obmc-power-start-pre@0.target
+Wants=obmc-chassis-poweron@0.target
+Before=obmc-chassis-poweron@0.target
+ConditionPathExists=!/run/openbmc/chassis@0-on
+
+[Service]
+ExecStart=/usr/bin/env phosphor-gpio-util --gpio=105 --path=/dev/gpiochip0 --delay=5 --action=low_high
+SyslogIdentifier=power-supply-sync
+
+[Install]
+RequiredBy=obmc-chassis-poweron@0.target