From d8cbfa5498e7fcc1646272c3c37febbdcd326c7b Mon Sep 17 00:00:00 2001 From: Matt Spinler Date: Wed, 7 Aug 2019 10:36:20 -0500 Subject: wspoon: hwmon: Use labels for finding VRM I/V/P A recent kernel update added a second input current/voltage/power reading to the hwmon sysfs attributes for the ir35221 VRMs, and it threw off the labels in the config files since they were hardcoded for the specific previous numbers. For example, curr2_input previously represented an output current but now represents an input current. Fix this by using the LABEL mode in hwmon to find which sysfs file to use for a particular sensor by the contents of its corresponding label file. For example, the p0_vdd_current sensor should look at the sysfs file that has a corresponding 'iout1' value in the currX_label file. Tested: Test that the voltages are back within thresholds again and not showing values around 12V. (From meta-ibm rev: bca7ed0127f9e82895fb60b66b325347970f0860) Change-Id: I9f28c9445daf9ce6206ff9e38e271ac805768fae Signed-off-by: Matt Spinler Signed-off-by: Brad Bishop --- .../apb/bus@1e78a000/i2c-bus@140/ir35221@70.conf | 82 +++++++++++++--------- .../apb/bus@1e78a000/i2c-bus@140/ir35221@71.conf | 82 +++++++++++++--------- .../apb/bus@1e78a000/i2c-bus@180/ir35221@70.conf | 82 +++++++++++++--------- .../apb/bus@1e78a000/i2c-bus@180/ir35221@71.conf | 82 +++++++++++++--------- 4 files changed, 200 insertions(+), 128 deletions(-) (limited to 'meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon') diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@70.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@70.conf index 9ae1f1ef1..c5344aeb6 100644 --- a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@70.conf +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@70.conf @@ -1,26 +1,44 @@ +#4-0070 +#VDD then VCS + +MODE_in1 = "label" +MODE_in2 = "label" +MODE_in3 = "label" +MODE_in4 = "label" + +MODE_curr1 = "label" +MODE_curr2 = "label" +MODE_curr3 = "label" +MODE_curr4 = "label" + +MODE_power1 = "label" +MODE_power2 = "label" +MODE_power3 = "label" +MODE_power4 = "label" + LABEL_temp1 = "p0_vdd_temp" WARNHI_temp1 = "80000" WARNLO_temp1 = "0" CRITHI_temp1 = "85000" CRITLO_temp1 = "0" -LABEL_curr2 = "p0_vdd_current" -WARNLO_curr2 = "0" -CRITLO_curr2 = "0" -WARNHI_curr2 = "320000" -CRITHI_curr2 = "360000" +LABEL_curriout1 = "p0_vdd_current" +WARNLO_curriout1 = "0" +CRITLO_curriout1 = "0" +WARNHI_curriout1 = "320000" +CRITHI_curriout1 = "360000" -LABEL_in2 = "p0_vdd_voltage" -WARNLO_in2 = "0" -CRITLO_in2 = "0" -WARNHI_in2 = "1150" -CRITHI_in2 = "1300" +LABEL_invout1 = "p0_vdd_voltage" +WARNLO_invout1 = "0" +CRITLO_invout1 = "0" +WARNHI_invout1 = "1150" +CRITHI_invout1 = "1300" -LABEL_power2 = "p0_vdd_power" -WARNLO_power2 = "0" -CRITLO_power2 = "0" -WARNHI_power2 = "270000000" -CRITHI_power2 = "290000000" +LABEL_powerpout1 = "p0_vdd_power" +WARNLO_powerpout1 = "0" +CRITLO_powerpout1 = "0" +WARNHI_powerpout1 = "270000000" +CRITHI_powerpout1 = "290000000" LABEL_temp2 = "p0_vcs_temp" WARNHI_temp2 = "80000" @@ -28,20 +46,20 @@ WARNLO_temp2 = "0" CRITHI_temp2 = "85000" CRITLO_temp2 = "0" -LABEL_curr3 = "p0_vcs_current" -WARNLO_curr3 = "0" -CRITLO_curr3 = "0" -WARNHI_curr3 = "20000" -CRITHI_curr3 = "25000" - -LABEL_in3 = "p0_vcs_voltage" -WARNLO_in3 = "0" -CRITLO_in3 = "0" -WARNHI_in3 = "1150" -CRITHI_in3 = "1300" - -LABEL_power3 = "p0_vcs_power" -WARNLO_power3 = "0" -CRITLO_power3 = "0" -WARNHI_power3 = "20000000" -CRITHI_power3 = "25000000" \ No newline at end of file +LABEL_curriout2 = "p0_vcs_current" +WARNLO_curriout2 = "0" +CRITLO_curriout2 = "0" +WARNHI_curriout2 = "20000" +CRITHI_curriout2 = "25000" + +LABEL_invout2 = "p0_vcs_voltage" +WARNLO_invout2 = "0" +CRITLO_invout2 = "0" +WARNHI_invout2 = "1150" +CRITHI_invout2 = "1300" + +LABEL_powerpout2 = "p0_vcs_power" +WARNLO_powerpout2 = "0" +CRITLO_powerpout2 = "0" +WARNHI_powerpout2 = "20000000" +CRITHI_powerpout2 = "25000000" diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@71.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@71.conf index 723a68d66..23746aa11 100644 --- a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@71.conf +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@71.conf @@ -1,26 +1,44 @@ +#4-0071 +#VDN then VDDR + +MODE_in1 = "label" +MODE_in2 = "label" +MODE_in3 = "label" +MODE_in4 = "label" + +MODE_curr1 = "label" +MODE_curr2 = "label" +MODE_curr3 = "label" +MODE_curr4 = "label" + +MODE_power1 = "label" +MODE_power2 = "label" +MODE_power3 = "label" +MODE_power4 = "label" + LABEL_temp1 = "p0_vdn_temp" WARNHI_temp1 = "80000" WARNLO_temp1 = "0" CRITHI_temp1 = "85000" CRITLO_temp1 = "0" -LABEL_curr2 = "p0_vdn_current" -WARNLO_curr2 = "0" -CRITLO_curr2 = "0" -WARNHI_curr2 = "80000" -CRITHI_curr2 = "110000" +LABEL_curriout1 = "p0_vdn_current" +WARNLO_curriout1 = "0" +CRITLO_curriout1 = "0" +WARNHI_curriout1 = "80000" +CRITHI_curriout1 = "110000" -LABEL_in2 = "p0_vdn_voltage" -WARNLO_in2 = "0" -CRITLO_in2 = "0" -WARNHI_in2 = "1100" -CRITHI_in2 = "1300" +LABEL_invout1 = "p0_vdn_voltage" +WARNLO_invout1 = "0" +CRITLO_invout1 = "0" +WARNHI_invout1 = "1100" +CRITHI_invout1 = "1300" -LABEL_power2 = "p0_vdn_power" -WARNLO_power2 = "0" -CRITLO_power2 = "0" -WARNHI_power2 = "88000000" -CRITHI_power2 = "121000000" +LABEL_powerpout1 = "p0_vdn_power" +WARNLO_powerpout1 = "0" +CRITLO_powerpout1 = "0" +WARNHI_powerpout1 = "88000000" +CRITHI_powerpout1 = "121000000" LABEL_temp2 = "p0_vddr_temp" WARNHI_temp2 = "80000" @@ -28,20 +46,20 @@ WARNLO_temp2 = "0" CRITHI_temp2 = "85000" CRITLO_temp2 = "0" -LABEL_curr3 = "p0_vddr_current" -WARNLO_curr3 = "0" -CRITLO_curr3 = "0" -WARNHI_curr3 = "115000" -CRITHI_curr3 = "130000" - -LABEL_in3 = "p0_vddr_voltage" -WARNLO_in3 = "0" -CRITLO_in3 = "0" -WARNHI_in3 = "1280" -CRITHI_in3 = "1350" - -LABEL_power3 = "p0_vddr_power" -WARNLO_power3 = "0" -CRITLO_power3 = "0" -WARNHI_power3 = "139150000" -CRITHI_power3 = "159900000" \ No newline at end of file +LABEL_curriout2 = "p0_vddr_current" +WARNLO_curriout2 = "0" +CRITLO_curriout2 = "0" +WARNHI_curriout2 = "115000" +CRITHI_curriout2 = "130000" + +LABEL_invout2 = "p0_vddr_voltage" +WARNLO_invout2 = "0" +CRITLO_invout2 = "0" +WARNHI_invout2 = "1280" +CRITHI_invout2 = "1350" + +LABEL_powerpout2 = "p0_vddr_power" +WARNLO_powerpout2 = "0" +CRITLO_powerpout2 = "0" +WARNHI_powerpout2 = "139150000" +CRITHI_powerpout2 = "159900000" diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@70.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@70.conf index 1fa7b5a5c..e7d8aaf23 100644 --- a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@70.conf +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@70.conf @@ -1,26 +1,44 @@ +#5-0070 +#VDD then VCS + +MODE_in1 = "label" +MODE_in2 = "label" +MODE_in3 = "label" +MODE_in4 = "label" + +MODE_curr1 = "label" +MODE_curr2 = "label" +MODE_curr3 = "label" +MODE_curr4 = "label" + +MODE_power1 = "label" +MODE_power2 = "label" +MODE_power3 = "label" +MODE_power4 = "label" + LABEL_temp1 = "p1_vdd_temp" WARNHI_temp1 = "80000" WARNLO_temp1 = "0" CRITHI_temp1 = "85000" CRITLO_temp1 = "0" -LABEL_curr2 = "p1_vdd_current" -WARNLO_curr2 = "0" -CRITLO_curr2 = "0" -WARNHI_curr2 = "320000" -CRITHI_curr2 = "360000" +LABEL_curriout1 = "p1_vdd_current" +WARNLO_curriout1 = "0" +CRITLO_curriout1 = "0" +WARNHI_curriout1 = "320000" +CRITHI_curriout1 = "360000" -LABEL_in2 = "p1_vdd_voltage" -WARNLO_in2 = "0" -CRITLO_in2 = "0" -WARNHI_in2 = "1150" -CRITHI_in2 = "1300" +LABEL_invout1 = "p1_vdd_voltage" +WARNLO_invout1 = "0" +CRITLO_invout1 = "0" +WARNHI_invout1 = "1150" +CRITHI_invout1 = "1300" -LABEL_power2 = "p1_vdd_power" -WARNLO_power2 = "0" -CRITLO_power2 = "0" -WARNHI_power2 = "270000000" -CRITHI_power2 = "290000000" +LABEL_powerpout1 = "p1_vdd_power" +WARNLO_powerpout1 = "0" +CRITLO_powerpout1 = "0" +WARNHI_powerpout1 = "270000000" +CRITHI_powerpout1 = "290000000" LABEL_temp2 = "p1_vcs_temp" WARNHI_temp2 = "80000" @@ -28,20 +46,20 @@ WARNLO_temp2 = "0" CRITHI_temp2 = "85000" CRITLO_temp2 = "0" -LABEL_curr3 = "p1_vcs_current" -WARNLO_curr3 = "0" -CRITLO_curr3 = "0" -WARNHI_curr3 = "20000" -CRITHI_curr3 = "25000" - -LABEL_in3 = "p1_vcs_voltage" -WARNLO_in3 = "0" -CRITLO_in3 = "0" -WARNHI_in3 = "1150" -CRITHI_in3 = "1300" - -LABEL_power3 = "p1_vcs_power" -WARNLO_power3 = "0" -CRITLO_power3 = "0" -WARNHI_power3 = "20000000" -CRITHI_power3 = "25000000" \ No newline at end of file +LABEL_curriout2 = "p1_vcs_current" +WARNLO_curriout2 = "0" +CRITLO_curriout2 = "0" +WARNHI_curriout2 = "20000" +CRITHI_curriout2 = "25000" + +LABEL_invout2 = "p1_vcs_voltage" +WARNLO_invout2 = "0" +CRITLO_invout2 = "0" +WARNHI_invout2 = "1150" +CRITHI_invout2 = "1300" + +LABEL_powerpout2 = "p1_vcs_power" +WARNLO_powerpout2 = "0" +CRITLO_powerpout2 = "0" +WARNHI_powerpout2 = "20000000" +CRITHI_powerpout2 = "25000000" diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@71.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@71.conf index d4e9326b2..30ec05dbb 100644 --- a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@71.conf +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@71.conf @@ -1,26 +1,44 @@ +#5-0071 +#VDN then VDDR + +MODE_in1 = "label" +MODE_in2 = "label" +MODE_in3 = "label" +MODE_in4 = "label" + +MODE_curr1 = "label" +MODE_curr2 = "label" +MODE_curr3 = "label" +MODE_curr4 = "label" + +MODE_power1 = "label" +MODE_power2 = "label" +MODE_power3 = "label" +MODE_power4 = "label" + LABEL_temp1 = "p1_vdn_temp" WARNHI_temp1 = "80000" WARNLO_temp1 = "0" CRITHI_temp1 = "85000" CRITLO_temp1 = "0" -LABEL_curr2 = "p1_vdn_current" -WARNLO_curr2 = "0" -CRITLO_curr2 = "0" -WARNHI_curr2 = "80000" -CRITHI_curr2 = "110000" +LABEL_curriout1 = "p1_vdn_current" +WARNLO_curriout1 = "0" +CRITLO_curriout1 = "0" +WARNHI_curriout1 = "80000" +CRITHI_curriout1 = "110000" -LABEL_in2 = "p1_vdn_voltage" -WARNLO_in2 = "0" -CRITLO_in2 = "0" -WARNHI_in2 = "1100" -CRITHI_in2 = "1300" +LABEL_invout1 = "p1_vdn_voltage" +WARNLO_invout1 = "0" +CRITLO_invout1 = "0" +WARNHI_invout1 = "1100" +CRITHI_invout1 = "1300" -LABEL_power2 = "p1_vdn_power" -WARNLO_power2 = "0" -CRITLO_power2 = "0" -WARNHI_power2 = "88000000" -CRITHI_power2 = "121000000" +LABEL_powerpout1 = "p1_vdn_power" +WARNLO_powerpout1 = "0" +CRITLO_powerpout1 = "0" +WARNHI_powerpout1 = "88000000" +CRITHI_powerpout1 = "121000000" LABEL_temp2 = "p1_vddr_temp" WARNHI_temp2 = "80000" @@ -28,20 +46,20 @@ WARNLO_temp2 = "0" CRITHI_temp2 = "85000" CRITLO_temp2 = "0" -LABEL_curr3 = "p1_vddr_current" -WARNLO_curr3 = "0" -CRITLO_curr3 = "0" -WARNHI_curr3 = "115000" -CRITHI_curr3 = "130000" - -LABEL_in3 = "p1_vddr_voltage" -WARNLO_in3 = "0" -CRITLO_in3 = "0" -WARNHI_in3 = "1280" -CRITHI_in3 = "1350" - -LABEL_power3 = "p1_vddr_power" -WARNLO_power3 = "0" -CRITLO_power3 = "0" -WARNHI_power3 = "139150000" -CRITHI_power3 = "159900000" \ No newline at end of file +LABEL_curriout2 = "p1_vddr_current" +WARNLO_curriout2 = "0" +CRITLO_curriout2 = "0" +WARNHI_curriout2 = "115000" +CRITHI_curriout2 = "130000" + +LABEL_invout2 = "p1_vddr_voltage" +WARNLO_invout2 = "0" +CRITLO_invout2 = "0" +WARNHI_invout2 = "1280" +CRITHI_invout2 = "1350" + +LABEL_powerpout2 = "p1_vddr_power" +WARNLO_powerpout2 = "0" +CRITLO_powerpout2 = "0" +WARNHI_powerpout2 = "139150000" +CRITHI_powerpout2 = "159900000" -- cgit v1.2.3 From fba5121cf3e2e40d2d44ac365ba1afc242f27b99 Mon Sep 17 00:00:00 2001 From: Ben_Pai Date: Mon, 5 Aug 2019 18:34:34 +0800 Subject: Add mihawk sensor, fan control and d-bus monitor Most of mihawk's sensors are different from witherspoon, so I temporarily added the mihawk part and did not change the witherspoon. Add mihawk version of fan control and d-bus monitor. Mihawk does not have a water cooled mode, so another independent folder is added. Tested: 1.Shut down the system if more than three cores have a temperature greater than 100 degrees Celcius. 2.Fan control support cpu core, dimm, Onboard. 3.Confirm that sensor is able to return normally via REST. (From meta-ibm rev: 949f91431bba2f0139cc823d674a741f9590c885) Signed-off-by: Ben Pai Signed-off-by: Brad Bishop Change-Id: Icc401f32c67b622f0f1448e1166112e02c135a8f Signed-off-by: Brad Bishop --- .../recipes-phosphor/dbus/fan-policy.bb | 11 +- .../dbus/fan-policy/mihawk/air-cooled.yaml | 339 ++++++++ .../dbus/fan-policy/mihawk/fan-errors.yaml | 905 +++++++++++++++++++++ .../dbus/phosphor-dbus-monitor-config.bbappend | 4 + .../dbus/phosphor-dbus-monitor_%.bbappend | 1 + .../recipes-phosphor/dbus/thermal-policy.bb | 2 +- .../ibm-ac-server/thermal-policy.yaml | 187 +++++ .../dbus/thermal-policy/mihawk/thermal-policy.yaml | 187 +++++ .../dbus/thermal-policy/thermal-policy.yaml | 187 ----- .../mihawk/events.yaml | 586 +++++++++++++ .../mihawk/fans.yaml | 31 + .../mihawk/zone_conditions.yaml | 9 + .../mihawk/zones.yaml | 42 + .../mihawk/monitor.yaml | 96 +++ .../mihawk/config.yaml | 47 ++ .../obmc/phosphor-fan/phosphor-cooling-type-0.conf | 3 + .../mihawk/phosphor-cooling-type@.service | 15 + .../recipes-phosphor/fans/phosphor-fan_%.bbappend | 11 +- .../packagegroups/packagegroup-obmc-apps.bbappend | 2 +- .../bus@1e78a000/i2c-bus@100/power-supply@58.conf | 4 + .../bus@1e78a000/i2c-bus@100/power-supply@5b.conf | 4 + .../apb/bus@1e78a000/i2c-bus@140/ir35221@70.conf | 11 + .../apb/bus@1e78a000/i2c-bus@140/ir35221@72.conf | 5 + .../apb/bus@1e78a000/i2c-bus@180/ir35221@70.conf | 11 + .../apb/bus@1e78a000/i2c-bus@180/ir35221@72.conf | 5 + .../apb/bus@1e78a000/i2c-bus@400/emc1403@4c.conf | 2 + .../apb/bus@1e78a000/i2c-bus@400/tmp275@48.conf | 2 + .../apb/bus@1e78a000/i2c-bus@400/tmp275@49.conf | 2 + .../i2c-bus@440/pca9545@70/i2c@3/tmp275@48.conf | 2 + .../ahb/apb/pwm-tacho-controller@1e786000.conf | 25 + .../00--00--00--06/sbefifo1-dev0/occ-hwmon.1.conf | 290 +++++++ .../01--01--00--06/sbefifo2-dev0/occ-hwmon.2.conf | 280 +++++++ .../mihawk/obmc/hwmon/iio-hwmon-12v.conf | 2 + .../mihawk/obmc/hwmon/iio-hwmon-3v.conf | 2 + .../mihawk/obmc/hwmon/iio-hwmon-5v.conf | 2 + .../mihawk/obmc/hwmon/iio-hwmon-battery.conf | 9 + .../mihawk/obmc/hwmon/iio-hwmon-vcs0.conf | 2 + .../mihawk/obmc/hwmon/iio-hwmon-vcs1.conf | 2 + .../mihawk/obmc/hwmon/iio-hwmon-vdd0.conf | 2 + .../mihawk/obmc/hwmon/iio-hwmon-vdd1.conf | 2 + .../mihawk/obmc/hwmon/iio-hwmon-vddra.conf | 2 + .../mihawk/obmc/hwmon/iio-hwmon-vddrb.conf | 2 + .../mihawk/obmc/hwmon/iio-hwmon-vddrc.conf | 2 + .../mihawk/obmc/hwmon/iio-hwmon-vddrd.conf | 2 + .../mihawk/obmc/hwmon/iio-hwmon-vdn0.conf | 2 + .../mihawk/obmc/hwmon/iio-hwmon-vdn1.conf | 2 + .../mihawk/obmc/hwmon/iio-hwmon-vio0.conf | 2 + .../mihawk/obmc/hwmon/iio-hwmon-vio1.conf | 2 + .../sensors/phosphor-hwmon_%.bbappend | 31 + 49 files changed, 3185 insertions(+), 193 deletions(-) create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/mihawk/air-cooled.yaml create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/mihawk/fan-errors.yaml create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy/ibm-ac-server/thermal-policy.yaml create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy/mihawk/thermal-policy.yaml delete mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy/thermal-policy.yaml create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config/mihawk/events.yaml create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-fan-config/mihawk/fans.yaml create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config/mihawk/zone_conditions.yaml create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-config/mihawk/zones.yaml create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config/mihawk/monitor.yaml create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-presence-config/mihawk/config.yaml create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan/mihawk/obmc/phosphor-fan/phosphor-cooling-type-0.conf create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan/mihawk/phosphor-cooling-type@.service create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/power-supply@58.conf create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/power-supply@5b.conf create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@70.conf create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@72.conf create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@70.conf create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@72.conf create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@400/emc1403@4c.conf create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@400/tmp275@48.conf create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@400/tmp275@49.conf create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@440/pca9545@70/i2c@3/tmp275@48.conf create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/pwm-tacho-controller@1e786000.conf create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/devices/platform/gpio-fsi/fsi0/slave@00--00/00--00--00--06/sbefifo1-dev0/occ-hwmon.1.conf create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/devices/platform/gpio-fsi/fsi0/slave@00--00/00--00--00--0a/fsi1/slave@01--00/01--01--00--06/sbefifo2-dev0/occ-hwmon.2.conf create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-12v.conf create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-3v.conf create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-5v.conf create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-battery.conf create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vcs0.conf create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vcs1.conf create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vdd0.conf create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vdd1.conf create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vddra.conf create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vddrb.conf create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vddrc.conf create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vddrd.conf create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vdn0.conf create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vdn1.conf create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vio0.conf create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vio1.conf (limited to 'meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon') diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy.bb b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy.bb index 12194640d..e53d9c055 100644 --- a/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy.bb +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy.bb @@ -9,15 +9,20 @@ inherit phosphor-dbus-monitor FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" SRC_URI += "file://air-cooled.yaml" -SRC_URI += "file://water-cooled.yaml" +SRC_URI_append_ibm-ac-server = " file://water-cooled.yaml" SRC_URI += "file://fan-errors.yaml" -do_install() { +do_install_append_ibm-ac-server() { install -D ${WORKDIR}/air-cooled.yaml ${D}${config_dir}/air-cooled.yaml install -D ${WORKDIR}/water-cooled.yaml ${D}${config_dir}/water-cooled.yaml install -D ${WORKDIR}/fan-errors.yaml ${D}${config_dir}/fan-errors.yaml } +do_install_append_mihawk() { + install -D ${WORKDIR}/air-cooled.yaml ${D}${config_dir}/air-cooled.yaml + install -D ${WORKDIR}/fan-errors.yaml ${D}${config_dir}/fan-errors.yaml +} + FILES_${PN} += "${config_dir}/air-cooled.yaml" -FILES_${PN} += "${config_dir}/water-cooled.yaml" +FILES_${PN}_append_ibm-ac-server = " ${config_dir}/water-cooled.yaml" FILES_${PN} += "${config_dir}/fan-errors.yaml" diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/mihawk/air-cooled.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/mihawk/air-cooled.yaml new file mode 100644 index 000000000..52232e3f0 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/mihawk/air-cooled.yaml @@ -0,0 +1,339 @@ +# Air cooled mihawk fan policy for PDM. +# +# An air cooled mihawk requires a minimum of three functional fans +# enclosures or six functional fan rotors across all enclosures. +# If the number of functional fan enclosures is below three, soft poweroff +# the system, whereas if the number of fan rotors drop below six, an +# immediate hard poweroff of the system occurs. + +- name: fan enclosures + description: > + 'An air cooled mihawk has 6 fan enclosures to monitor.' + class: group + group: path + members: + - meta: FAN + path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan0 + - meta: FAN + path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan1 + - meta: FAN + path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan2 + - meta: FAN + path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan3 + - meta: FAN + path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan4 + - meta: FAN + path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan5 + +- name: fan rotors + description: > + 'An air cooled Witherspoon has eight fan rotors to monitor.' + class: group + group: path + members: + - meta: FAN + path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan0/fan0_0 + - meta: FAN + path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan0/fan0_1 + - meta: FAN + path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan1/fan1_0 + - meta: FAN + path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan1/fan1_1 + - meta: FAN + path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan2/fan2_0 + - meta: FAN + path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan2/fan2_1 + - meta: FAN + path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan3/fan3_0 + - meta: FAN + path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan3/fan3_1 + - meta: FAN + path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan4/fan4_0 + - meta: FAN + path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan4/fan4_1 + - meta: FAN + path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan5/fan5_0 + - meta: FAN + path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan5/fan5_1 + +- name: chassis state + description: > + 'Witherspoon has a single chassis to monitor.' + class: group + group: path + members: + - meta: CHASSISSTATE + path: /xyz/openbmc_project/state/chassis0 + +- name: chassis + description: > + 'Witherspoon has a single chassis to monitor.' + class: group + group: path + members: + - meta: CHASSIS + path: /xyz/openbmc_project/inventory/system/chassis + +- name: fan present + description: > + 'Monitor the presence state of each fan.' + class: group + group: property + type: boolean + members: + - interface: xyz.openbmc_project.Inventory.Item + meta: PRESENT + property: Present + +- name: fan functional + description: > + 'Monitor the functional state of each fan.' + class: group + group: property + type: boolean + members: + - interface: xyz.openbmc_project.State.Decorator.OperationalStatus + meta: FUNCTIONAL + property: Functional + +- name: chassis powered + description: > + 'Monitor the chassis power state.' + class: group + group: property + type: string + members: + - interface: xyz.openbmc_project.State.Chassis + meta: CHASSIS_STATE + property: CurrentPowerState + +- name: chassis air cooled + description: > + 'Monitor the chassis cooling type.' + class: group + group: property + type: boolean + members: + - interface: xyz.openbmc_project.Inventory.Decorator.CoolingType + meta: COOLING_TYPE + property: WaterCooled + +- name: watch fan present + description: > + 'Trigger logic on fan enclosure presence state changes.' + class: watch + watch: property + paths: fan enclosures + properties: fan present + callback: check cooling type + +- name: watch fan functional + description: > + 'Trigger logic on fan enclosure functional state changes.' + class: watch + watch: property + paths: fan enclosures + properties: fan functional + callback: check cooling type + +- name: watch fan rotor functional + description: > + 'Trigger logic on fan rotor functional state changes.' + class: watch + watch: property + paths: fan rotors + properties: fan functional + callback: check cooling type + +- name: watch chassis state + description: > + 'Trigger logic on chassis power state changes.' + class: watch + watch: property + paths: chassis state + properties: chassis powered + callback: check cooling type + +- name: watch cooling type + description: > + 'Maintain a cache of the chassis cooling type.' + class: watch + watch: property + paths: chassis + properties: chassis air cooled + +- name: check cooling type + description: > + 'If this condition passes the chassis is air cooled.' + class: condition + condition: count + paths: chassis + properties: chassis air cooled + callback: check power + countop: '==' + countbound: 0 + op: '==' + bound: true + +- name: check power + description: > + 'If the chassis has power, check fans.' + class: condition + condition: count + paths: chassis state + properties: chassis powered + callback: check fans + countop: '>' + countbound: 0 + op: '==' + bound: xyz.openbmc_project.State.Chassis.PowerState.On + +- name: check fans + description: > + 'Verify there are at least three functional fan enclosures and at least + six functional fan rotors, power off if not.' + class: callback + callback: group + members: + - check group presence + - check group functional enclosures + - check group functional rotors + +- name: check group presence + description: > + 'If this condition passes more than one fan has been unplugged + for more than 25 seconds. Shut the system down. Count present + fans rather than non-present fans since the latter would pass + if the fan has not been created for some reason. + + For a more detailed definition of unplugged, consult the documentation + of xyz.openbmc_project.Inventory.Item and/or the documentation + of the fan inventory object implementation.' + class: condition + condition: count + paths: fan enclosures + properties: fan present + defer: 25000000us + callback: log and shutdown + countop: '<' + countbound: 6 + op: '==' + bound: true + +- name: check group functional enclosures + description: > + 'If this condition passes more than one fan enclosure in the group has been + marked as nonfunctional for 25 seconds. Shut the system down. + + For a more detailed definition of nonfunctional, consult the documentation + of xyz.openbmc_project.State.Decorator.OperationalStatus and/or the + documentation of the fan inventory object implementation.' + class: condition + condition: count + paths: fan enclosures + properties: fan functional + defer: 25000000us + callback: log and shutdown + countop: '>' + countbound: 1 + op: '==' + bound: false + +- name: check group functional rotors + description: > + 'If this condition passes more than two fan rotors in the group have been + marked as nonfunctional for 25 seconds. Immediately power off. + For a more detailed definition of nonfunctional, consult the documentation + of xyz.openbmc_project.State.Decorator.OperationalStatus and/or the + documentation of the fan inventory object implementation.' + class: condition + condition: count + paths: fan rotors + properties: fan functional + defer: 25000000us + callback: log and poweroff + countop: '>' + countbound: 1 + op: '==' + bound: false + +- name: log and poweroff + description: > + 'Immediately poweroff, log an event in the journal, and create an + error log.' + class: callback + callback: group + members: + - hard poweroff + - log hard poweroff + - create shutdown error + +- name: log and shutdown + description: > + 'Shut the system down, log an event in the journal, and create an + error log.' + class: callback + callback: group + members: + - shutdown + - log shutdown + - create shutdown error + +- name: hard poweroff + description: > + 'Immediately power off the system.' + class: callback + callback: method + service: org.freedesktop.systemd1 + path: /org/freedesktop/systemd1 + interface: org.freedesktop.systemd1.Manager + method: StartUnit + args: + - value: obmc-chassis-hard-poweroff@0.target + type: string + - value: replace + type: string + +- name: shutdown + description: > + 'Shut down the system.' + class: callback + callback: method + service: org.freedesktop.systemd1 + path: /org/freedesktop/systemd1 + interface: org.freedesktop.systemd1.Manager + method: StartUnit + args: + - value: obmc-host-shutdown@0.target + type: string + - value: replace + type: string + +- name: log hard poweroff + description: > + 'Log a hard poweroff event to the systemd journal.' + class: callback + callback: journal + paths: chassis state + properties: chassis powered + severity: ERR + message: Immediate poweroff of system. There are not enough functional fans. + +- name: log shutdown + description: > + 'Log a shutdown event to the systemd journal.' + class: callback + callback: journal + paths: chassis state + properties: chassis powered + severity: ERR + message: Request shutdown of system. There are not enough functional fans. + +- name: create shutdown error + description: > + 'Create a Fan Shutdown Error log.' + class: callback + callback: elog + paths: chassis state + properties: chassis powered + error: xyz::openbmc_project::State::Shutdown::Inventory::Error::Fan diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/mihawk/fan-errors.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/mihawk/fan-errors.yaml new file mode 100644 index 000000000..65cfbeb25 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/mihawk/fan-errors.yaml @@ -0,0 +1,905 @@ +# Witherspoon fan error policy for PDM. +# +# * Create a NotPresent error if fan 0, 1, 2, 3, 4, or 5 is not present for more +# than 20 seconds. +# * Create a Nonfunctional error if fan 0, 1, 2, 3, 4, or 5 is not +# functional for any amount of time. +# +# The system must be powered on in both of these cases. +# Note: An error is created each time the chassis powers on. +# +# * Watch for fans to become both present and functional, and then resolve +# their errors + +- name: fan0 + class: group + group: path + members: + - meta: FAN + path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan0 + +- name: fan1 + class: group + group: path + members: + - meta: FAN + path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan1 + +- name: fan2 + class: group + group: path + members: + - meta: FAN + path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan2 + +- name: fan3 + class: group + group: path + members: + - meta: FAN + path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan3 + +- name: fan4 + class: group + group: path + members: + - meta: FAN + path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan4 + +- name: fan5 + class: group + group: path + members: + - meta: FAN + path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan5 + + +- name: chassis state + description: > + 'Witherspoon has a single chassis to monitor.' + class: group + group: path + members: + - meta: CHASSISSTATE + path: /xyz/openbmc_project/state/chassis0 + +- name: chassis + description: > + 'Witherspoon has a single chassis to monitor.' + class: group + group: path + members: + - meta: CHASSIS + path: /xyz/openbmc_project/inventory/system/chassis + + +- name: fan present + description: > + 'Monitor the presence state of each fan.' + class: group + group: property + type: boolean + members: + - interface: xyz.openbmc_project.Inventory.Item + meta: PRESENT + property: Present + +- name: fan functional + description: > + 'Monitor the functional state of each fan.' + class: group + group: property + type: boolean + members: + - interface: xyz.openbmc_project.State.Decorator.OperationalStatus + meta: FUNCTIONAL + property: Functional + +- name: fan present and functional + description: > + 'Monitor the present and functional state of each fan.' + class: group + group: property + type: boolean + members: + - interface: xyz.openbmc_project.Inventory.Item + meta: PRESENT + property: Present + - interface: xyz.openbmc_project.State.Decorator.OperationalStatus + meta: FUNCTIONAL + property: Functional + +- name: chassis powered + description: > + 'Monitor the chassis power state.' + class: group + group: property + type: string + members: + - interface: xyz.openbmc_project.State.Chassis + meta: CHASSIS_STATE + property: CurrentPowerState + +- name: chassis air cooled + description: > + 'The chassis cooling type.' + class: group + group: property + type: boolean + members: + - interface: xyz.openbmc_project.Inventory.Decorator.CoolingType + meta: COOLING_TYPE + property: WaterCooled + +- name: watch chassis state + description: > + 'Trigger logic on chassis power state changes.' + class: watch + watch: property + paths: chassis state + properties: chassis powered + callback: check power + +- name: watch fan0 presence + description: > + 'Trigger logic on fan0 presence state changes.' + class: watch + watch: property + paths: fan0 + properties: fan present + callback: check power fan0 presence + +- name: watch fan0 functional + description: > + 'Trigger logic on fan0 functional state changes.' + class: watch + watch: property + paths: fan0 + properties: fan functional + callback: check power fan0 functional + +- name: watch fan1 presence + description: > + 'Trigger logic on fan1 presence state changes.' + class: watch + watch: property + paths: fan1 + properties: fan present + callback: check power fan1 presence + +- name: watch fan1 functional + description: > + 'Trigger logic on fan1 functional state changes.' + class: watch + watch: property + paths: fan1 + properties: fan functional + callback: check power fan1 functional + +- name: watch fan2 presence + description: > + 'Trigger logic on fan2 presence state changes.' + class: watch + watch: property + paths: fan2 + properties: fan present + callback: check power fan2 presence + +- name: watch fan2 functional + description: > + 'Trigger logic on fan2 functional state changes.' + class: watch + watch: property + paths: fan2 + properties: fan functional + callback: check power fan2 functional + +- name: watch fan3 presence + description: > + 'Trigger logic on fan3 presence state changes.' + class: watch + watch: property + paths: fan3 + properties: fan present + callback: check power fan3 presence + +- name: watch fan3 functional + description: > + 'Trigger logic on fan3 functional state changes.' + class: watch + watch: property + paths: fan3 + properties: fan functional + callback: check power fan3 functional + +- name: watch fan4 presence + description: > + 'Trigger logic on fan4 presence state changes.' + class: watch + watch: property + paths: fan4 + properties: fan present + callback: check power fan4 presence + +- name: watch fan4 functional + description: > + 'Trigger logic on fan4 functional state changes.' + class: watch + watch: property + paths: fan4 + properties: fan functional + callback: check power fan4 functional + +- name: watch fan5 presence + description: > + 'Trigger logic on fan5 presence state changes.' + class: watch + watch: property + paths: fan5 + properties: fan present + callback: check power fan5 presence + +- name: watch fan5 functional + description: > + 'Trigger logic on fan5 functional state changes.' + class: watch + watch: property + paths: fan5 + properties: fan functional + callback: check power fan5 functional + +- name: watch fan0 present and functional for resolving error logs + description: > + 'On fan present or functional state changes, check if errors need to be resolved.' + class: watch + watch: property + paths: fan0 + properties: fan present and functional + callback: resolve fan0 errors if present and functional + +- name: watch fan1 present and functional for resolving error logs + description: > + 'On fan present or functional state changes, check if errors need to be resolved.' + class: watch + watch: property + paths: fan1 + properties: fan present and functional + callback: resolve fan1 errors if present and functional + +- name: watch fan2 present and functional for resolving error logs + description: > + 'On fan present or functional state changes, check if errors need to be resolved.' + class: watch + watch: property + paths: fan2 + properties: fan present and functional + callback: resolve fan2 errors if present and functional + +- name: watch fan3 present and functional for resolving error logs + description: > + 'On fan present or functional state changes, check if errors need to be resolved.' + class: watch + watch: property + paths: fan3 + properties: fan present and functional + callback: resolve fan3 errors if present and functional + +- name: watch fan4 present and functional for resolving error logs + description: > + 'On fan present or functional state changes, check if errors need to be resolved.' + class: watch + watch: property + paths: fan4 + properties: fan present and functional + callback: resolve fan4 errors if present and functional + +- name: watch fan5 present and functional for resolving error logs + description: > + 'On fan present or functional state changes, check if errors need to be resolved.' + class: watch + watch: property + paths: fan5 + properties: fan present and functional + callback: resolve fan5 errors if present and functional + +- name: check power + description: > + 'If the chassis has power, check all fans.' + class: condition + condition: count + paths: chassis state + properties: chassis powered + callback: check fans + countop: '>' + countbound: 0 + op: '==' + bound: xyz.openbmc_project.State.Chassis.PowerState.On + +- name: check power fan0 presence + description: > + 'If the chassis has power, check presence of fan0.' + class: condition + condition: count + paths: chassis state + properties: chassis powered + callback: check fan0 presence + countop: '>' + countbound: 0 + op: '==' + bound: xyz.openbmc_project.State.Chassis.PowerState.On + +- name: check power fan0 functional + description: > + 'If the chassis has power, check functional of fan0.' + class: condition + condition: count + paths: chassis state + properties: chassis powered + callback: check fan0 functional + countop: '>' + countbound: 0 + op: '==' + bound: xyz.openbmc_project.State.Chassis.PowerState.On + +- name: check power fan1 presence + description: > + 'If the chassis has power, check presence of fan1.' + class: condition + condition: count + paths: chassis state + properties: chassis powered + callback: check fan1 presence + countop: '>' + countbound: 0 + op: '==' + bound: xyz.openbmc_project.State.Chassis.PowerState.On + +- name: check power fan1 functional + description: > + 'If the chassis has power, check functional of fan1.' + class: condition + condition: count + paths: chassis state + properties: chassis powered + callback: check fan1 functional + countop: '>' + countbound: 0 + op: '==' + bound: xyz.openbmc_project.State.Chassis.PowerState.On + +- name: check power fan2 presence + description: > + 'If the chassis has power, check presence of fan2.' + class: condition + condition: count + paths: chassis state + properties: chassis powered + callback: check fan2 presence + countop: '>' + countbound: 0 + op: '==' + bound: xyz.openbmc_project.State.Chassis.PowerState.On + +- name: check power fan2 functional + description: > + 'If the chassis has power, check functional of fan2.' + class: condition + condition: count + paths: chassis state + properties: chassis powered + callback: check fan2 functional + countop: '>' + countbound: 0 + op: '==' + bound: xyz.openbmc_project.State.Chassis.PowerState.On + +- name: check power fan3 presence + description: > + 'If the chassis has power, check presence of fan3.' + class: condition + condition: count + paths: chassis state + properties: chassis powered + callback: check fan3 presence + countop: '>' + countbound: 0 + op: '==' + bound: xyz.openbmc_project.State.Chassis.PowerState.On + +- name: check power fan3 functional + description: > + 'If the chassis has power, check functional of fan3.' + class: condition + condition: count + paths: chassis state + properties: chassis powered + callback: check fan3 functional + countop: '>' + countbound: 0 + op: '==' + bound: xyz.openbmc_project.State.Chassis.PowerState.On + +- name: check power fan4 presence + description: > + 'If the chassis has power, check presence of fan4.' + class: condition + condition: count + paths: chassis state + properties: chassis powered + callback: check fan4 presence + countop: '>' + countbound: 0 + op: '==' + bound: xyz.openbmc_project.State.Chassis.PowerState.On + +- name: check power fan4 functional + description: > + 'If the chassis has power, check functional of fan4.' + class: condition + condition: count + paths: chassis state + properties: chassis powered + callback: check fan4 functional + countop: '>' + countbound: 0 + op: '==' + bound: xyz.openbmc_project.State.Chassis.PowerState.On + +- name: check power fan5 presence + description: > + 'If the chassis has power, check presence of fan5.' + class: condition + condition: count + paths: chassis state + properties: chassis powered + callback: check fan5 presence + countop: '>' + countbound: 0 + op: '==' + bound: xyz.openbmc_project.State.Chassis.PowerState.On + +- name: check power fan5 functional + description: > + 'If the chassis has power, check functional of fan5.' + class: condition + condition: count + paths: chassis state + properties: chassis powered + callback: check fan5 functional + countop: '>' + countbound: 0 + op: '==' + bound: xyz.openbmc_project.State.Chassis.PowerState.On + +- name: check fans + description: > + 'Verify each of the 12 fans are present.' + class: callback + callback: group + members: + - check fan0 presence + - check fan1 presence + - check fan2 presence + - check fan3 presence + - check fan4 presence + - check fan5 presence + - check fan0 functional + - check fan1 functional + - check fan2 functional + - check fan3 functional + - check fan4 functional + - check fan5 functional + +- name: check fan0 presence + description: > + 'If this condition passes fan0 has been unplugged for more than 20 seconds.' + class: condition + condition: count + paths: fan0 + properties: fan present + defer: 20000000us + callback: notpresent fan0 error + countop: '<' + countbound: 1 + op: '==' + bound: true + +- name: check fan0 functional + description: > + 'If this condition passes fan0 has been marked as nonfunctional.' + class: condition + condition: count + paths: fan0 + properties: fan functional + callback: nonfunctional fan0 error + countop: '>' + countbound: 0 + op: '==' + bound: false + +- name: check fan1 presence + description: > + 'If this condition passes fan1 has been unplugged for more than 20 seconds.' + class: condition + condition: count + paths: fan1 + properties: fan present + defer: 20000000us + callback: notpresent fan1 error + countop: '<' + countbound: 1 + op: '==' + bound: true + +- name: check fan1 functional + description: > + 'If this condition passes fan1 has been marked as nonfunctional.' + class: condition + condition: count + paths: fan1 + properties: fan functional + callback: nonfunctional fan1 error + countop: '>' + countbound: 0 + op: '==' + bound: false + +- name: check fan2 presence + description: > + 'If this condition passes fan2 has been unplugged for more than 20 seconds.' + class: condition + condition: count + paths: fan2 + properties: fan present + defer: 20000000us + callback: notpresent fan2 error + countop: '<' + countbound: 1 + op: '==' + bound: true + +- name: check fan2 functional + description: > + 'If this condition passes fan2 has been marked as nonfunctional.' + class: condition + condition: count + paths: fan2 + properties: fan functional + callback: nonfunctional fan2 error + countop: '>' + countbound: 0 + op: '==' + bound: false + +- name: check fan3 presence + description: > + 'If this condition passes fan3 has been unplugged for more than 20 seconds.' + class: condition + condition: count + paths: fan3 + properties: fan present + defer: 20000000us + callback: notpresent fan3 error + countop: '<' + countbound: 1 + op: '==' + bound: true + +- name: check fan3 functional + description: > + 'If this condition passes fan3 has been marked as nonfunctional.' + class: condition + condition: count + paths: fan3 + properties: fan functional + callback: nonfunctional fan3 error + countop: '>' + countbound: 0 + op: '==' + bound: false + +- name: check fan4 presence + description: > + 'If this condition passes fan4 has been unplugged for more than 20 seconds.' + class: condition + condition: count + paths: fan4 + properties: fan present + defer: 20000000us + callback: notpresent fan4 error + countop: '<' + countbound: 1 + op: '==' + bound: true + +- name: check fan4 functional + description: > + 'If this condition passes fan4 has been marked as nonfunctional.' + class: condition + condition: count + paths: fan4 + properties: fan functional + callback: nonfunctional fan4 error + countop: '>' + countbound: 0 + op: '==' + bound: false + +- name: check fan5 presence + description: > + 'If this condition passes fan5 has been unplugged for more than 20 seconds.' + class: condition + condition: count + paths: fan5 + properties: fan present + defer: 20000000us + callback: notpresent fan5 error + countop: '<' + countbound: 1 + op: '==' + bound: true + +- name: check fan5 functional + description: > + 'If this condition passes fan5 has been marked as nonfunctional.' + class: condition + condition: count + paths: fan5 + properties: fan functional + callback: nonfunctional fan5 error + countop: '>' + countbound: 0 + op: '==' + bound: false + +- name: notpresent fan0 error + class: callback + callback: elog + paths: fan0 + properties: fan present + error: xyz::openbmc_project::Inventory::Error::NotPresent + metadata: + - name: xyz::openbmc_project::Inventory::NotPresent::CALLOUT_INVENTORY_PATH + value: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan0 + type: string + +- name: nonfunctional fan0 error + class: callback + callback: elog + paths: fan0 + properties: fan functional + error: xyz::openbmc_project::Inventory::Error::Nonfunctional + metadata: + - name: xyz::openbmc_project::Inventory::Nonfunctional::CALLOUT_INVENTORY_PATH + value: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan0 + type: string + +- name: notpresent fan1 error + class: callback + callback: elog + paths: fan1 + properties: fan present + error: xyz::openbmc_project::Inventory::Error::NotPresent + metadata: + - name: xyz::openbmc_project::Inventory::NotPresent::CALLOUT_INVENTORY_PATH + value: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan1 + type: string + +- name: nonfunctional fan1 error + class: callback + callback: elog + paths: fan1 + properties: fan functional + error: xyz::openbmc_project::Inventory::Error::Nonfunctional + metadata: + - name: xyz::openbmc_project::Inventory::Nonfunctional::CALLOUT_INVENTORY_PATH + value: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan1 + type: string + +- name: notpresent fan2 error + class: callback + callback: elog + paths: fan2 + properties: fan present + error: xyz::openbmc_project::Inventory::Error::NotPresent + metadata: + - name: xyz::openbmc_project::Inventory::NotPresent::CALLOUT_INVENTORY_PATH + value: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan2 + type: string + +- name: nonfunctional fan2 error + class: callback + callback: elog + paths: fan2 + properties: fan functional + error: xyz::openbmc_project::Inventory::Error::Nonfunctional + metadata: + - name: xyz::openbmc_project::Inventory::Nonfunctional::CALLOUT_INVENTORY_PATH + value: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan2 + type: string + +- name: notpresent fan3 error + class: callback + callback: elog + paths: fan3 + properties: fan present + error: xyz::openbmc_project::Inventory::Error::NotPresent + metadata: + - name: xyz::openbmc_project::Inventory::NotPresent::CALLOUT_INVENTORY_PATH + value: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan3 + type: string + +- name: nonfunctional fan3 error + class: callback + callback: elog + paths: fan3 + properties: fan functional + error: xyz::openbmc_project::Inventory::Error::Nonfunctional + metadata: + - name: xyz::openbmc_project::Inventory::Nonfunctional::CALLOUT_INVENTORY_PATH + value: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan3 + type: string + +- name: notpresent fan4 error + class: callback + callback: elog + paths: fan4 + properties: fan present + error: xyz::openbmc_project::Inventory::Error::NotPresent + metadata: + - name: xyz::openbmc_project::Inventory::NotPresent::CALLOUT_INVENTORY_PATH + value: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan4 + type: string + +- name: nonfunctional fan4 error + class: callback + callback: elog + paths: fan4 + properties: fan functional + error: xyz::openbmc_project::Inventory::Error::Nonfunctional + metadata: + - name: xyz::openbmc_project::Inventory::Nonfunctional::CALLOUT_INVENTORY_PATH + value: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan4 + type: string + +- name: notpresent fan5 error + class: callback + callback: elog + paths: fan5 + properties: fan present + error: xyz::openbmc_project::Inventory::Error::NotPresent + metadata: + - name: xyz::openbmc_project::Inventory::NotPresent::CALLOUT_INVENTORY_PATH + value: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan5 + type: string + +- name: nonfunctional fan5 error + class: callback + callback: elog + paths: fan5 + properties: fan functional + error: xyz::openbmc_project::Inventory::Error::Nonfunctional + metadata: + - name: xyz::openbmc_project::Inventory::Nonfunctional::CALLOUT_INVENTORY_PATH + value: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan5 + type: string + +- name: resolve fan0 errors if present and functional + description: > + 'If fan0 is present and functional, call the resolve fan0 errors callback.' + class: condition + condition: count + paths: fan0 + properties: fan present and functional + callback: resolve fan0 errors + countop: '==' + countbound: 2 + op: '==' + bound: true + +- name: resolve fan1 errors if present and functional + description: > + 'If fan1 is present and functional, call the resolve fan1 errors callback.' + class: condition + condition: count + paths: fan1 + properties: fan present and functional + callback: resolve fan1 errors + countop: '==' + countbound: 2 + op: '==' + bound: true + +- name: resolve fan2 errors if present and functional + description: > + 'If fan2 is present and functional, call the resolve fan2 errors callback.' + class: condition + condition: count + paths: fan2 + properties: fan present and functional + callback: resolve fan2 errors + countop: '==' + countbound: 2 + op: '==' + bound: true + +- name: resolve fan3 errors if present and functional + description: > + 'If fan3 is present and functional, call the resolve fan3 errors callback.' + class: condition + condition: count + paths: fan3 + properties: fan present and functional + callback: resolve fan3 errors + countop: '==' + countbound: 2 + op: '==' + bound: true + +- name: resolve fan4 errors if present and functional + description: > + 'If fan4 is present and functional, call the resolve fan4 errors callback.' + class: condition + condition: count + paths: fan4 + properties: fan present and functional + callback: resolve fan4 errors + countop: '==' + countbound: 2 + op: '==' + bound: true + +- name: resolve fan5 errors if present and functional + description: > + 'If fan5 is present and functional, call the resolve fan5 errors callback.' + class: condition + condition: count + paths: fan5 + properties: fan present and functional + callback: resolve fan5 errors + countop: '==' + countbound: 2 + op: '==' + bound: true + +- name: resolve fan0 errors + class: callback + callback: resolve callout + paths: fan0 + properties: fan present and functional + callout: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan0 + +- name: resolve fan1 errors + class: callback + callback: resolve callout + paths: fan1 + properties: fan present and functional + callout: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan1 + +- name: resolve fan2 errors + class: callback + callback: resolve callout + paths: fan2 + properties: fan present and functional + callout: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan2 + +- name: resolve fan3 errors + class: callback + callback: resolve callout + paths: fan3 + properties: fan present and functional + callout: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan3 + +- name: resolve fan4 errors + class: callback + callback: resolve callout + paths: fan4 + properties: fan present and functional + callout: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan4 + +- name: resolve fan5 errors + class: callback + callback: resolve callout + paths: fan5 + properties: fan present and functional + callout: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan5 diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/phosphor-dbus-monitor-config.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/phosphor-dbus-monitor-config.bbappend index 185db1033..3a18960ea 100644 --- a/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/phosphor-dbus-monitor-config.bbappend +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/phosphor-dbus-monitor-config.bbappend @@ -2,3 +2,7 @@ PHOSPHOR_DBUS_MONITOR_CONFIGS_append_ibm-ac-server = " fan-policy" PHOSPHOR_DBUS_MONITOR_CONFIGS_append_ibm-ac-server = " thermal-policy" PHOSPHOR_DBUS_MONITOR_CONFIGS_append_ibm-ac-server = " power-supply-policy" PHOSPHOR_DBUS_MONITOR_CONFIGS_append_ibm-ac-server = " events-policy" +PHOSPHOR_DBUS_MONITOR_CONFIGS_append_mihawk = " fan-policy" +PHOSPHOR_DBUS_MONITOR_CONFIGS_append_mihawk = " thermal-policy" +PHOSPHOR_DBUS_MONITOR_CONFIGS_append_mihawk = " power-supply-policy" +PHOSPHOR_DBUS_MONITOR_CONFIGS_append_mihawk = " events-policy" diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/phosphor-dbus-monitor_%.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/phosphor-dbus-monitor_%.bbappend index 8e1bf41fa..5c9d0b15c 100644 --- a/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/phosphor-dbus-monitor_%.bbappend +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/phosphor-dbus-monitor_%.bbappend @@ -1 +1,2 @@ SYSTEMD_LINK_phosphor-msl-verify_append_ibm-ac-server = " ../phosphor-msl-verify.service:obmc-chassis-poweron@0.target.requires/phosphor-msl-verify.service" +SYSTEMD_LINK_phosphor-msl-verify_append_mihawk = " ../phosphor-msl-verify.service:obmc-chassis-poweron@0.target.requires/phosphor-msl-verify.service" diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy.bb b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy.bb index 9fb7d252b..5631ec493 100644 --- a/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy.bb +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy.bb @@ -8,7 +8,7 @@ inherit phosphor-dbus-monitor FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" -SRC_URI += "file://thermal-policy.yaml" +SRC_URI = "file://thermal-policy.yaml" do_install() { install -D ${WORKDIR}/thermal-policy.yaml ${D}${config_dir}/thermal-policy.yaml diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy/ibm-ac-server/thermal-policy.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy/ibm-ac-server/thermal-policy.yaml new file mode 100644 index 000000000..7c48509c5 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy/ibm-ac-server/thermal-policy.yaml @@ -0,0 +1,187 @@ +# Machine thermal policy for PDM. +# +# Shut down the system if more than three cores +# have a temperature greater than 115 degrees Celcius. + + +- name: core sensors + description: > + 'The machine has two processor chips with 24 cores each.' + class: group + group: path + members: + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core0_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core1_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core2_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core3_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core4_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core5_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core6_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core7_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core8_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core9_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core10_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core11_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core12_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core13_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core14_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core15_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core16_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core17_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core18_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core19_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core20_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core21_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core22_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core23_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core0_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core1_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core2_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core3_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core4_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core5_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core6_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core7_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core8_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core9_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core10_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core11_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core12_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core13_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core14_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core15_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core16_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core17_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core18_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core19_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core20_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core21_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core22_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core23_temp + +- name: core temp + description: > + 'Monitor the temperature of each core.' + class: group + group: property + type: int64 + members: + - interface: xyz.openbmc_project.Sensor.Value + meta: TEMP + property: Value + +- name: watch core temps + description: > + 'Trigger logic on core temp changes.' + class: watch + watch: property + paths: core sensors + properties: core temp + callback: check temps + +- name: check temps + description: > + 'If this condition passes at least three cores are running + too hot. Shut the system down.' + class: condition + condition: count + paths: core sensors + properties: core temp + callback: log and shutdown + countop: '>=' + countbound: 3 + op: '>=' + bound: 115000 + oneshot: true + +- name: log and shutdown + description: > + 'Shut the system down and log an event.' + class: callback + callback: group + members: + - shutdown + - create criticalhigh error + - create shutdown error + +- name: shutdown + description: > + 'Shut down the system.' + class: callback + callback: method + service: org.freedesktop.systemd1 + path: /org/freedesktop/systemd1 + interface: org.freedesktop.systemd1.Manager + method: StartUnit + args: + - value: obmc-chassis-hard-poweroff@0.target + type: string + - value: replace + type: string + +- name: create criticalhigh error + description: > + 'Create a CriticalHigh Error log.' + class: callback + callback: elog_with_metadata + paths: core sensors + properties: core temp + error: xyz::openbmc_project::Sensor::Threshold::Error::CriticalHigh + metadata: xyz::openbmc_project::Sensor::Threshold::CriticalHigh::SENSOR_DATA + +- name: create shutdown error + description: > + 'Create a SystemShutdown Error log.' + class: callback + callback: elog + paths: core sensors + properties: core temp + error: xyz::openbmc_project::State::Shutdown::ThermalEvent::Error::Processor diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy/mihawk/thermal-policy.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy/mihawk/thermal-policy.yaml new file mode 100644 index 000000000..f8e89b2ed --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy/mihawk/thermal-policy.yaml @@ -0,0 +1,187 @@ +# Mihawk thermal policy for PDM. +# +# Shut down the system if more than three cores +# have a temperature greater than 100 degrees Celcius. + + +- name: core sensors + description: > + 'The machine has two processor chips with 24 cores each.' + class: group + group: path + members: + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core0_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core1_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core2_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core3_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core4_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core5_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core6_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core7_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core8_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core9_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core10_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core11_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core12_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core13_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core14_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core15_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core16_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core17_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core18_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core19_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core20_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core21_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core22_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p0_core23_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core0_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core1_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core2_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core3_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core4_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core5_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core6_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core7_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core8_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core9_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core10_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core11_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core12_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core13_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core14_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core15_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core16_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core17_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core18_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core19_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core20_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core21_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core22_temp + - meta: SENSOR + path: /xyz/openbmc_project/sensors/temperature/p1_core23_temp + +- name: core temp + description: > + 'Monitor the temperature of each core.' + class: group + group: property + type: int64 + members: + - interface: xyz.openbmc_project.Sensor.Value + meta: TEMP + property: Value + +- name: watch core temps + description: > + 'Trigger logic on core temp changes.' + class: watch + watch: property + paths: core sensors + properties: core temp + callback: check temps + +- name: check temps + description: > + 'If this condition passes at least three cores are running + too hot. Shut the system down.' + class: condition + condition: count + paths: core sensors + properties: core temp + callback: log and shutdown + countop: '>=' + countbound: 3 + op: '>=' + bound: 115000 + oneshot: true + +- name: log and shutdown + description: > + 'Shut the system down and log an event.' + class: callback + callback: group + members: + - shutdown + - create criticalhigh error + - create shutdown error + +- name: shutdown + description: > + 'Shut down the system.' + class: callback + callback: method + service: org.freedesktop.systemd1 + path: /org/freedesktop/systemd1 + interface: org.freedesktop.systemd1.Manager + method: StartUnit + args: + - value: obmc-chassis-hard-poweroff@0.target + type: string + - value: replace + type: string + +- name: create criticalhigh error + description: > + 'Create a CriticalHigh Error log.' + class: callback + callback: elog_with_metadata + paths: core sensors + properties: core temp + error: xyz::openbmc_project::Sensor::Threshold::Error::CriticalHigh + metadata: xyz::openbmc_project::Sensor::Threshold::CriticalHigh::SENSOR_DATA + +- name: create shutdown error + description: > + 'Create a SystemShutdown Error log.' + class: callback + callback: elog + paths: core sensors + properties: core temp + error: xyz::openbmc_project::State::Shutdown::ThermalEvent::Error::Processor diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy/thermal-policy.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy/thermal-policy.yaml deleted file mode 100644 index 7c48509c5..000000000 --- a/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy/thermal-policy.yaml +++ /dev/null @@ -1,187 +0,0 @@ -# Machine thermal policy for PDM. -# -# Shut down the system if more than three cores -# have a temperature greater than 115 degrees Celcius. - - -- name: core sensors - description: > - 'The machine has two processor chips with 24 cores each.' - class: group - group: path - members: - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core0_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core1_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core2_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core3_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core4_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core5_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core6_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core7_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core8_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core9_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core10_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core11_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core12_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core13_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core14_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core15_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core16_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core17_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core18_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core19_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core20_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core21_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core22_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core23_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core0_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core1_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core2_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core3_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core4_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core5_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core6_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core7_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core8_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core9_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core10_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core11_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core12_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core13_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core14_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core15_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core16_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core17_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core18_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core19_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core20_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core21_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core22_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core23_temp - -- name: core temp - description: > - 'Monitor the temperature of each core.' - class: group - group: property - type: int64 - members: - - interface: xyz.openbmc_project.Sensor.Value - meta: TEMP - property: Value - -- name: watch core temps - description: > - 'Trigger logic on core temp changes.' - class: watch - watch: property - paths: core sensors - properties: core temp - callback: check temps - -- name: check temps - description: > - 'If this condition passes at least three cores are running - too hot. Shut the system down.' - class: condition - condition: count - paths: core sensors - properties: core temp - callback: log and shutdown - countop: '>=' - countbound: 3 - op: '>=' - bound: 115000 - oneshot: true - -- name: log and shutdown - description: > - 'Shut the system down and log an event.' - class: callback - callback: group - members: - - shutdown - - create criticalhigh error - - create shutdown error - -- name: shutdown - description: > - 'Shut down the system.' - class: callback - callback: method - service: org.freedesktop.systemd1 - path: /org/freedesktop/systemd1 - interface: org.freedesktop.systemd1.Manager - method: StartUnit - args: - - value: obmc-chassis-hard-poweroff@0.target - type: string - - value: replace - type: string - -- name: create criticalhigh error - description: > - 'Create a CriticalHigh Error log.' - class: callback - callback: elog_with_metadata - paths: core sensors - properties: core temp - error: xyz::openbmc_project::Sensor::Threshold::Error::CriticalHigh - metadata: xyz::openbmc_project::Sensor::Threshold::CriticalHigh::SENSOR_DATA - -- name: create shutdown error - description: > - 'Create a SystemShutdown Error log.' - class: callback - callback: elog - paths: core sensors - properties: core temp - error: xyz::openbmc_project::State::Shutdown::ThermalEvent::Error::Processor diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config/mihawk/events.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config/mihawk/events.yaml new file mode 100644 index 000000000..b7fd1f761 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config/mihawk/events.yaml @@ -0,0 +1,586 @@ +groups: + - name: zone0_control_mode + description: Thermal control mode for zone 0 + service: xyz.openbmc_project.Control.Thermal + type: /xyz/openbmc_project/control/thermal + members: + - /0 + - name: air_cooled_zone0_fans + description: Group of fan inventory objects for air cooled zone 0 + type: /xyz/openbmc_project/inventory + members: + - /system/chassis/motherboard/fan0 + - /system/chassis/motherboard/fan1 + - /system/chassis/motherboard/fan2 + - /system/chassis/motherboard/fan3 + - /system/chassis/motherboard/fan4 + - /system/chassis/motherboard/fan5 + - name: zone0_ambient + description: Group of ambient temperature sensors for zone 0 + type: /xyz/openbmc_project/sensors + members: + - /temperature/ambient_temp + - name: occ0_object + description: Dbus object containing OCC0 properties + type: /org/open_power/control + members: + - /occ0 + - name: occ1_object + description: Dbus object containing OCC1 properties + type: /org/open_power/control + members: + - /occ1 + - name: zone0_cores + description: Group of core temperature sensors for zone 0 + type: /xyz/openbmc_project/sensors + members: + - /temperature/p0_core0_temp + - /temperature/p0_core1_temp + - /temperature/p0_core2_temp + - /temperature/p0_core3_temp + - /temperature/p0_core4_temp + - /temperature/p0_core5_temp + - /temperature/p0_core6_temp + - /temperature/p0_core7_temp + - /temperature/p0_core8_temp + - /temperature/p0_core9_temp + - /temperature/p0_core10_temp + - /temperature/p0_core11_temp + - /temperature/p0_core12_temp + - /temperature/p0_core13_temp + - /temperature/p0_core14_temp + - /temperature/p0_core15_temp + - /temperature/p0_core16_temp + - /temperature/p0_core17_temp + - /temperature/p0_core18_temp + - /temperature/p0_core19_temp + - /temperature/p0_core20_temp + - /temperature/p0_core21_temp + - /temperature/p0_core22_temp + - /temperature/p0_core23_temp + - /temperature/p1_core0_temp + - /temperature/p1_core1_temp + - /temperature/p1_core2_temp + - /temperature/p1_core3_temp + - /temperature/p1_core4_temp + - /temperature/p1_core5_temp + - /temperature/p1_core6_temp + - /temperature/p1_core7_temp + - /temperature/p1_core8_temp + - /temperature/p1_core9_temp + - /temperature/p1_core10_temp + - /temperature/p1_core11_temp + - /temperature/p1_core12_temp + - /temperature/p1_core13_temp + - /temperature/p1_core14_temp + - /temperature/p1_core15_temp + - /temperature/p1_core16_temp + - /temperature/p1_core17_temp + - /temperature/p1_core18_temp + - /temperature/p1_core19_temp + - /temperature/p1_core20_temp + - /temperature/p1_core21_temp + - /temperature/p1_core22_temp + - /temperature/p1_core23_temp + - name: zone0_dimms + description: Group of dimm temperature sensors for zone 0 + type: /xyz/openbmc_project/sensors + members: + - /temperature/dimm0_temp + - /temperature/dimm1_temp + - /temperature/dimm2_temp + - /temperature/dimm3_temp + - /temperature/dimm4_temp + - /temperature/dimm5_temp + - /temperature/dimm6_temp + - /temperature/dimm7_temp + - /temperature/dimm8_temp + - /temperature/dimm9_temp + - /temperature/dimm10_temp + - /temperature/dimm11_temp + - /temperature/dimm12_temp + - /temperature/dimm13_temp + - /temperature/dimm14_temp + - /temperature/dimm15_temp + - /temperature/dimm16_temp + - /temperature/dimm17_temp + - /temperature/dimm18_temp + - /temperature/dimm19_temp + - /temperature/dimm20_temp + - /temperature/dimm21_temp + - /temperature/dimm22_temp + - /temperature/dimm23_temp + - /temperature/dimm24_temp + - /temperature/dimm25_temp + - /temperature/dimm26_temp + - /temperature/dimm27_temp + - /temperature/dimm28_temp + - /temperature/dimm29_temp + - /temperature/dimm30_temp + - /temperature/dimm31_temp + - name: zone0_onboard + description: Group of onboard temperature sensors for zone 0 + type: /xyz/openbmc_project/sensors + members: + - /temperature/p0_pcie_temp + - /temperature/p1_pcie_temp + - name: zone0_vrd + description: Group of vrd temperature sensors for zone 0 + type: /xyz/openbmc_project/sensors + members: + - /temperature/p0_vcs_temp + - /temperature/p0_vdn_temp + - /temperature/p1_vcs_temp + - /temperature/p1_vdn_temp + - /temperature/p0_vdd_temp + - /temperature/p1_vdd_temp +matches: + - name: propertiesChanged + description: > + A property changed match + parameters: + - object + - interface + signal: propertySignal + - name: interfacesAdded + description: > + An interfaces added match + parameters: + - object + signal: objectSignal + - name: interfacesRemoved + description: > + An interfaces removed match + parameters: + - object + signal: + name: objectSignal + parameters: + - object + - interface + handler: removeInterface + - name: nameOwnerChanged + description: > + A name owner changed match + parameters: + - object + - interface + signal: ownerSignal + +signals: + - name: propertySignal + description: > + Handle property signals + parameters: + - type + - object + - interface + - property + handler: setProperty + - name: objectSignal + description: > + Handle object signals + parameters: + - type + - object + - interface + - property + handler: setProperty + - name: ownerSignal + description: > + Handle owner signals + parameters: + - object + - interface + handler: setService + +handlers: + - name: setProperty + description: > + Sets a value for the given object/interface/property + parameters: + - type + - object + - interface + - property + - name: setService + description: > + Sets the service name and ownership status for the given group + parameters: + - group + - name: removeInterface + description: > + Removes an interface(and all associated properties) on the + given object from use within all event actions + parameters: + - object + - interface + +preconditions: + - name: property_states_match + description: > + All defined properties must match the values given to + enable a set speed event otherwise fan speeds are set to full + parameters: + - groups + +actions: + - name: call_actions_based_on_timer + description: > + Sets up a list of actions to be invoked when the defined timer + expires (or for each expiration of a repeating timer) + parameters: + - timer + - actions + - name: default_floor_on_missing_owner + description: > + Set the fan floor to the default floor + - name: set_speed_on_missing_owner + description: > + Set fans to the given speed when any service within the group + no longer exists + parameters: + - speed + - name: set_request_speed_base_with_max + description: > + Set the base request speed of a zone to the max value of a group for + calculating a new target speed + - name: count_state_before_speed + description: Set the speed when a number of properties at a state + parameters: + - count + - property + - speed + - name: set_floor_from_average_sensor_value + description: Set floor speed from first entry with average less than key + parameters: + - map + - name: set_ceiling_from_average_sensor_value + description: Set ceiling speed based on key transition values with average + parameters: + - map + - name: set_net_increase_speed + description: > + Set the speed increase delta based on a factor applied to + the delta increase size times the given value and property's + value difference + parameters: + - property + - factor + - delta + - name: set_net_decrease_speed + description: > + Set the speed decrease delta based on a factor applied to + the delta decrease size times the given value and property's + value difference + parameters: + - property + - factor + - delta + - name: use_alternate_events_on_state + description: > + Replaces a set of default events with an alternate set of events + when all the group properties are at a given state + parameters: + - property + - defevents + - altevents + +events: + - name: missing_before_high_speed_air + groups: + - name: air_cooled_zone0_fans + zone_conditions: + - name: air_cooled_chassis + zones: + - 0 + interface: xyz.openbmc_project.Inventory.Item + property: + name: Present + type: bool + matches: + - name: interfacesAdded + - name: propertiesChanged + actions: + - name: count_state_before_speed + count: 1 + property: + value: false + type: bool + speed: + value: 255 + type: uint64_t + - name: fails_before_high_speed_air + groups: + - name: air_cooled_zone0_fans + zone_conditions: + - name: air_cooled_chassis + zones: + - 0 + interface: xyz.openbmc_project.State.Decorator.OperationalStatus + property: + name: Functional + type: bool + matches: + - name: propertiesChanged + actions: + - name: count_state_before_speed + count: 1 + property: + value: false + type: bool + speed: + value: 255 + type: uint64_t + - name: set_air_cooled_speed_boundaries_based_on_ambient + groups: + - name: zone0_control_mode + zone_conditions: + - name: air_cooled_chassis + zones: + - 0 + interface: xyz.openbmc_project.Control.ThermalMode + property: + name: Current + type: std::string + matches: + - name: propertiesChanged + actions: + - name: use_alternate_events_on_state + property: + value: CUSTOM + type: std::string + defevents: + - name: default_floor_boundary + groups: + - name: zone0_ambient + zone_conditions: + - name: air_cooled_chassis + zones: + - 0 + interface: xyz.openbmc_project.Sensor.Value + property: + name: Value + type: int64_t + matches: + - name: propertiesChanged + actions: + - name: set_floor_from_average_sensor_value + map: + value: + - 25000: 85 + - 26000: 85 + - 28000: 97 + - 31000: 116 + - 33000: 128 + - 36000: 148 + - 38000: 160 + - 41000: 255 + type: std::map + - name: set_ceiling_from_average_sensor_value + map: + value: + - 25000: 255 + - 27000: 255 + type: std::map + altevents: + - name: alternate_floor_boundary + groups: + - name: zone0_ambient + zone_conditions: + - name: air_cooled_chassis + zones: + - 0 + interface: xyz.openbmc_project.Sensor.Value + property: + name: Value + type: int64_t + matches: + - name: propertiesChanged + actions: + - name: set_floor_from_average_sensor_value + map: + value: + - 25000: 255 + - 26000: 255 + - 28000: 255 + - 31000: 255 + - 33000: 255 + - 36000: 255 + - 38000: 255 + - 41000: 255 + type: std::map + - name: set_ceiling_from_average_sensor_value + map: + value: + - 25000: 255 + - 27000: 255 + type: std::map + - name: occ_active_speed_changes + precondition: + name: property_states_match + groups: + - name: occ0_object + interface: org.open_power.OCC.Status + property: + name: OccActive + type: bool + value: true + - name: occ1_object + interface: org.open_power.OCC.Status + property: + name: OccActive + type: bool + value: true + matches: + - name: interfacesAdded + - name: propertiesChanged + events: + - name: speed_changes_based_on_core_temps + groups: + - name: zone0_cores + zone_conditions: + - name: air_cooled_chassis + zones: + - 0 + interface: xyz.openbmc_project.Sensor.Value + property: + name: Value + type: int64_t + matches: + - name: interfacesAdded + - name: propertiesChanged + - name: interfacesRemoved + actions: + - name: set_net_increase_speed + property: + value: 75000 + type: int64_t + factor: + value: 1000 + type: int64_t + delta: + value: 13 + type: uint64_t + - name: set_net_decrease_speed + property: + value: 70000 + type: int64_t + factor: + value: 7000 + type: int64_t + delta: + value: 5 + type: uint64_t + timer: + interval: 1 + - name: speed_changes_based_on_dimm_temps + groups: + - name: zone0_dimms + interface: xyz.openbmc_project.Sensor.Value + property: + name: Value + type: int64_t + matches: + - name: interfacesAdded + - name: propertiesChanged + - name: interfacesRemoved + actions: + - name: set_net_increase_speed + property: + value: 80000 + type: int64_t + factor: + value: 1000 + type: int64_t + delta: + value: 8 + type: uint64_t + - name: set_net_decrease_speed + property: + value: 75000 + type: int64_t + factor: + value: 3000 + type: int64_t + delta: + value: 3 + type: uint64_t + timer: + interval: 5 + - name: speed_changes_based_on_onboard_temps + groups: + - name: zone0_onboard + zone_conditions: + - name: air_cooled_chassis + zones: + - 0 + interface: xyz.openbmc_project.Sensor.Value + property: + name: Value + type: int64_t + matches: + - name: interfacesAdded + - name: propertiesChanged + - name: interfacesRemoved + actions: + - name: set_net_increase_speed + property: + value: 50000 + type: int64_t + factor: + value: 1000 + type: int64_t + delta: + value: 8 + type: uint64_t + - name: set_net_decrease_speed + property: + value: 47000 + type: int64_t + factor: + value: 3000 + type: int64_t + delta: + value: 3 + type: uint64_t + timer: + interval: 10 + - name: speed_changes_based_on_vrd_temps + groups: + - name: zone0_vrd + zone_conditions: + - name: air_cooled_chassis + zones: + - 0 + interface: xyz.openbmc_project.Sensor.Value + property: + name: Value + type: int64_t + matches: + - name: interfacesAdded + - name: propertiesChanged + - name: interfacesRemoved + actions: + - name: set_net_increase_speed + property: + value: 90000 + type: int64_t + factor: + value: 1000 + type: int64_t + delta: + value: 5 + type: uint64_t + - name: set_net_decrease_speed + property: + value: 85000 + type: int64_t + factor: + value: 3000 + type: int64_t + delta: + value: 3 + type: uint64_t + timer: + interval: 10 diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-fan-config/mihawk/fans.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-fan-config/mihawk/fans.yaml new file mode 100644 index 000000000..9133fa1fa --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-fan-config/mihawk/fans.yaml @@ -0,0 +1,31 @@ +fans: + - inventory: /system/chassis/motherboard/fan0 + cooling_zone: 0 + sensors: + - fan0_0 + target_interface: xyz.openbmc_project.Control.FanPwm + - inventory: /system/chassis/motherboard/fan1 + cooling_zone: 0 + sensors: + - fan1_0 + target_interface: xyz.openbmc_project.Control.FanPwm + - inventory: /system/chassis/motherboard/fan2 + cooling_zone: 0 + sensors: + - fan2_0 + target_interface: xyz.openbmc_project.Control.FanPwm + - inventory: /system/chassis/motherboard/fan3 + cooling_zone: 0 + sensors: + - fan3_0 + target_interface: xyz.openbmc_project.Control.FanPwm + - inventory: /system/chassis/motherboard/fan4 + cooling_zone: 0 + sensors: + - fan4_0 + target_interface: xyz.openbmc_project.Control.FanPwm + - inventory: /system/chassis/motherboard/fan5 + cooling_zone: 0 + sensors: + - fan5_0 + target_interface: xyz.openbmc_project.Control.FanPwm diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config/mihawk/zone_conditions.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config/mihawk/zone_conditions.yaml new file mode 100644 index 000000000..7dc99b6a2 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config/mihawk/zone_conditions.yaml @@ -0,0 +1,9 @@ +conditions: + - name: air_cooled_chassis + type: getProperty + properties: + - property: WaterCooled + interface: xyz.openbmc_project.Inventory.Decorator.CoolingType + path: /xyz/openbmc_project/inventory/system/chassis + type: bool + value: false diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-config/mihawk/zones.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-config/mihawk/zones.yaml new file mode 100644 index 000000000..4deb2523e --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-config/mihawk/zones.yaml @@ -0,0 +1,42 @@ +manager_configuration: + power_on_delay: 20 + +zone_configuration: + +#Air cooled zones +- zone_conditions: + - name: air_cooled_chassis + + zones: + - zone: 0 + cooling_profiles: + - air + - all + full_speed: 255 + default_floor: 195 + increase_delay: 5 + decrease_interval: 30 + interfaces: + - name: xyz.openbmc_project.Control.ThermalMode + properties: + - name: Supported + type: array[string] + values: + - value: DEFAULT + description: > + Default thermal control mode + - value: CUSTOM + description: > + Custom thermal control mode for handling the use of + optical cables located behind the GPU exhaust that + could produce overtemp warnings without this mode + enabled. + - name: Current + type: string + persist: true + values: + - value: DEFAULT + description: > + Set current thermal control mode to the + default which will be replaced on startup if + another selected mode was persisted. \ No newline at end of file diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config/mihawk/monitor.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config/mihawk/monitor.yaml new file mode 100644 index 000000000..076349de5 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config/mihawk/monitor.yaml @@ -0,0 +1,96 @@ +fans: + - inventory: /system/chassis/motherboard/fan0 + allowed_out_of_range_time: 10 + deviation: 15 + num_sensors_nonfunc_for_fan_nonfunc: 1 + sensors: + - name: fan0_0 + has_target: true + target_interface: xyz.openbmc_project.Control.FanPwm + factor: 70 + offset: 1200 + - name: fan0_1 + has_target: false + target_interface: xyz.openbmc_project.Control.FanPwm + factor: 70 + offset: 1200 + + - inventory: /system/chassis/motherboard/fan1 + allowed_out_of_range_time: 10 + deviation: 15 + num_sensors_nonfunc_for_fan_nonfunc: 1 + sensors: + - name: fan1_0 + has_target: true + target_interface: xyz.openbmc_project.Control.FanPwm + factor: 70 + offset: 1200 + - name: fan1_1 + has_target: false + target_interface: xyz.openbmc_project.Control.FanPwm + factor: 70 + offset: 1200 + + - inventory: /system/chassis/motherboard/fan2 + allowed_out_of_range_time: 10 + deviation: 15 + num_sensors_nonfunc_for_fan_nonfunc: 1 + sensors: + - name: fan2_0 + has_target: true + target_interface: xyz.openbmc_project.Control.FanPwm + factor: 70 + offset: 1200 + - name: fan2_1 + has_target: false + target_interface: xyz.openbmc_project.Control.FanPwm + factor: 70 + offset: 1200 + + - inventory: /system/chassis/motherboard/fan3 + allowed_out_of_range_time: 10 + deviation: 15 + num_sensors_nonfunc_for_fan_nonfunc: 1 + sensors: + - name: fan3_0 + has_target: true + target_interface: xyz.openbmc_project.Control.FanPwm + factor: 70 + offset: 1200 + - name: fan3_1 + has_target: false + target_interface: xyz.openbmc_project.Control.FanPwm + factor: 70 + offset: 1200 + + - inventory: /system/chassis/motherboard/fan4 + allowed_out_of_range_time: 10 + deviation: 15 + num_sensors_nonfunc_for_fan_nonfunc: 1 + sensors: + - name: fan4_0 + has_target: true + target_interface: xyz.openbmc_project.Control.FanPwm + factor: 70 + offset: 1200 + - name: fan4_1 + has_target: false + target_interface: xyz.openbmc_project.Control.FanPwm + factor: 70 + offset: 1200 + + - inventory: /system/chassis/motherboard/fan5 + allowed_out_of_range_time: 10 + deviation: 15 + num_sensors_nonfunc_for_fan_nonfunc: 1 + sensors: + - name: fan5_0 + has_target: true + target_interface: xyz.openbmc_project.Control.FanPwm + factor: 70 + offset: 1200 + - name: fan5_1 + has_target: false + target_interface: xyz.openbmc_project.Control.FanPwm + factor: 70 + offset: 1200 diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-presence-config/mihawk/config.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-presence-config/mihawk/config.yaml new file mode 100644 index 000000000..9cb5ecddb --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-presence-config/mihawk/config.yaml @@ -0,0 +1,47 @@ +- name: fan0 + path: /system/chassis/motherboard/fan0 + methods: + - type: gpio + key: 9 + physpath: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a100.i2c-bus/i2c-3/3-0060 + devpath: /dev/input/by-path/platform-gpio-keys-polled-event + +- name: fan1 + path: /system/chassis/motherboard/fan1 + methods: + - type: gpio + key: 10 + physpath: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a100.i2c-bus/i2c-3/3-0060 + devpath: /dev/input/by-path/platform-gpio-keys-polled-event + +- name: fan2 + path: /system/chassis/motherboard/fan2 + methods: + - type: gpio + key: 11 + physpath: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a100.i2c-bus/i2c-3/3-0060 + devpath: /dev/input/by-path/platform-gpio-keys-polled-event + +- name: fan3 + path: /system/chassis/motherboard/fan3 + methods: + - type: gpio + key: 12 + physpath: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a100.i2c-bus/i2c-3/3-0060 + devpath: /dev/input/by-path/platform-gpio-keys-polled-event + +- name: fan4 + path: /system/chassis/motherboard/fan4 + methods: + - type: gpio + key: 13 + physpath: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a100.i2c-bus/i2c-3/3-0060 + devpath: /dev/input/by-path/platform-gpio-keys-polled-event + +- name: fan5 + path: /system/chassis/motherboard/fan5 + methods: + - type: gpio + key: 14 + physpath: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a100.i2c-bus/i2c-3/3-0060 + devpath: /dev/input/by-path/platform-gpio-keys-polled-event diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan/mihawk/obmc/phosphor-fan/phosphor-cooling-type-0.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan/mihawk/obmc/phosphor-fan/phosphor-cooling-type-0.conf new file mode 100644 index 000000000..21fcfcb49 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan/mihawk/obmc/phosphor-fan/phosphor-cooling-type-0.conf @@ -0,0 +1,3 @@ +OBJPATH="--path=/system/chassis" +AIR="--air" + diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan/mihawk/phosphor-cooling-type@.service b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan/mihawk/phosphor-cooling-type@.service new file mode 100644 index 000000000..9232b13fc --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan/mihawk/phosphor-cooling-type@.service @@ -0,0 +1,15 @@ +[Unit] +Description=Phosphor Cooling Type +Wants=mapper-wait@-xyz-openbmc_project-inventory.service +After=mapper-wait@-xyz-openbmc_project-inventory.service +ConditionPathExists={envfiledir}/obmc/phosphor-fan/phosphor-cooling-type-%i.conf + +[Service] +Type=oneshot +RemainAfterExit=yes +EnvironmentFile={envfiledir}/obmc/phosphor-fan/phosphor-cooling-type-%i.conf +ExecStart=/usr/bin/env phosphor-cooling-type ${{OBJPATH}} ${{AIR}} +SyslogIdentifier=phosphor-cooling-type + +[Install] +RequiredBy=multi-user.target diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan_%.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan_%.bbappend index 88c32ffa6..085857c31 100644 --- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan_%.bbappend +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan_%.bbappend @@ -3,9 +3,14 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" # Package configuration FAN_PACKAGES_append_ibm-ac-server = " \ phosphor-cooling-type \ -" + " + +FAN_PACKAGES_append_mihawk = " \ + phosphor-cooling-type \ + " PACKAGECONFIG_append_ibm-ac-server = " cooling-type" +PACKAGECONFIG_append_mihawk = " cooling-type" TMPL_COOLING = "phosphor-cooling-type@.service" INSTFMT_COOLING = "phosphor-cooling-type@{0}.service" @@ -15,10 +20,14 @@ FMT_COOLING = "../${TMPL_COOLING}:${COOLING_TGT}.requires/${INSTFMT_COOLING}" FILES_phosphor-cooling-type_append_ibm-ac-server = " ${bindir}/phosphor-cooling-type" SYSTEMD_SERVICE_phosphor-cooling-type_append_ibm-ac-server = " ${TMPL_COOLING}" SYSTEMD_LINK_phosphor-cooling-type_append_ibm-ac-server = " ${@compose_list(d, 'FMT_COOLING', 'OBMC_CHASSIS_INSTANCES')}" +FILES_phosphor-cooling-type_append_mihawk = " ${bindir}/phosphor-cooling-type" +SYSTEMD_SERVICE_phosphor-cooling-type_append_mihawk = " ${TMPL_COOLING}" +SYSTEMD_LINK_phosphor-cooling-type_append_mihawk = " ${@compose_list(d, 'FMT_COOLING', 'OBMC_CHASSIS_INSTANCES')}" COOLING_ENV_FMT = "obmc/phosphor-fan/phosphor-cooling-type-{0}.conf" SYSTEMD_ENVIRONMENT_FILE_phosphor-cooling-type_append_ibm-ac-server = " ${@compose_list(d, 'COOLING_ENV_FMT', 'OBMC_CHASSIS_INSTANCES')}" +SYSTEMD_ENVIRONMENT_FILE_phosphor-cooling-type_append_mihawk = " ${@compose_list(d, 'COOLING_ENV_FMT', 'OBMC_CHASSIS_INSTANCES')}" #These services are protected by the watchdog SYSTEMD_OVERRIDE_phosphor-fan-control_witherspoon += "fan-watchdog-monitor.conf:phosphor-fan-control-init@0.service.d/fan-watchdog-monitor.conf" diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend index b2e466d76..f32ba3eb5 100644 --- a/meta-ibm/meta-witherspoon/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend @@ -1,5 +1,5 @@ RDEPENDS_${PN}-inventory_append_ibm-ac-server = " openpower-fru-vpd openpower-occ-control phosphor-cooling-type virtual/obmc-gpio-presence" -RDEPENDS_${PN}-inventory_append_mihawk = " openpower-fru-vpd openpower-occ-control virtual/obmc-gpio-presence id-button" +RDEPENDS_${PN}-inventory_append_mihawk = " openpower-fru-vpd openpower-occ-control virtual/obmc-gpio-presence id-button phosphor-cooling-type" RDEPENDS_${PN}-fan-control_append_ibm-ac-server = " witherspoon-fan-watchdog" RDEPENDS_${PN}-extras_append_ibm-ac-server = " witherspoon-pfault-analysis witherspoon-power-supply-sync phosphor-webui" RDEPENDS_${PN}-extras_append_mihawk = " phosphor-webui phosphor-image-signing" diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/power-supply@58.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/power-supply@58.conf new file mode 100644 index 000000000..61b4253bf --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/power-supply@58.conf @@ -0,0 +1,4 @@ +LABEL_in1="ps1_input_voltage" +LABEL_in2="ps1_output_voltage" +LABEL_curr1="ps1_output_current" +LABEL_power1="ps1_input_power" diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/power-supply@5b.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/power-supply@5b.conf new file mode 100644 index 000000000..92838e1d0 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/power-supply@5b.conf @@ -0,0 +1,4 @@ +LABEL_in1="ps0_input_voltage" +LABEL_in2="ps0_output_voltage" +LABEL_curr1="ps0_output_current" +LABEL_power1="ps0_input_power" diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@70.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@70.conf new file mode 100644 index 000000000..3c25a4a01 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@70.conf @@ -0,0 +1,11 @@ +LABEL_temp1 = "p0_vdd_temp" +WARNHI_temp1 = "100000" +WARNLO_temp1 = "0" +CRITHI_temp1 = "105000" +CRITLO_temp1 = "0" + +LABEL_temp2 = "p0_vcs_temp" +WARNHI_temp2 = "100000" +WARNLO_temp2 = "0" +CRITHI_temp2 = "105000" +CRITLO_temp2 = "0" diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@72.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@72.conf new file mode 100644 index 000000000..7f1f4d871 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@72.conf @@ -0,0 +1,5 @@ +LABEL_temp1 = "p0_vdn_temp" +WARNHI_temp1 = "100000" +WARNLO_temp1 = "0" +CRITHI_temp1 = "105000" +CRITLO_temp1 = "0" diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@70.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@70.conf new file mode 100644 index 000000000..5f0985d7c --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@70.conf @@ -0,0 +1,11 @@ +LABEL_temp1 = "p1_vdd_temp" +WARNHI_temp1 = "100000" +WARNLO_temp1 = "0" +CRITHI_temp1 = "105000" +CRITLO_temp1 = "0" + +LABEL_temp2 = "p1_vcs_temp" +WARNHI_temp2 = "100000" +WARNLO_temp2 = "0" +CRITHI_temp2 = "105000" +CRITLO_temp2 = "0" \ No newline at end of file diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@72.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@72.conf new file mode 100644 index 000000000..438372837 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@72.conf @@ -0,0 +1,5 @@ +LABEL_temp1 = "p1_vdn_temp" +WARNHI_temp1 = "100000" +WARNLO_temp1 = "0" +CRITHI_temp1 = "105000" +CRITLO_temp1 = "0" \ No newline at end of file diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@400/emc1403@4c.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@400/emc1403@4c.conf new file mode 100644 index 000000000..7c7b24811 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@400/emc1403@4c.conf @@ -0,0 +1,2 @@ +LABEL_temp2 = "ambient_temp" + diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@400/tmp275@48.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@400/tmp275@48.conf new file mode 100644 index 000000000..4f89e7f34 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@400/tmp275@48.conf @@ -0,0 +1,2 @@ +LABEL_temp1 = "p1_pcie_temp" + diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@400/tmp275@49.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@400/tmp275@49.conf new file mode 100644 index 000000000..959c66f9d --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@400/tmp275@49.conf @@ -0,0 +1,2 @@ +LABEL_temp1 = "p0_pcie_temp" + diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@440/pca9545@70/i2c@3/tmp275@48.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@440/pca9545@70/i2c@3/tmp275@48.conf new file mode 100644 index 000000000..82f065818 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@440/pca9545@70/i2c@3/tmp275@48.conf @@ -0,0 +1,2 @@ +LABEL_temp1 = "M2_riser_temp" + diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/pwm-tacho-controller@1e786000.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/pwm-tacho-controller@1e786000.conf new file mode 100644 index 000000000..5d14ebc94 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/pwm-tacho-controller@1e786000.conf @@ -0,0 +1,25 @@ +LABEL_fan1 = "fan0_0" +LABEL_fan2 = "fan0_1" +LABEL_fan3 = "fan1_0" +LABEL_fan4 = "fan1_1" +LABEL_fan5 = "fan2_0" +LABEL_fan6 = "fan2_1" +LABEL_fan7 = "fan3_0" +LABEL_fan8 = "fan3_1" +LABEL_fan9 = "fan4_0" +LABEL_fan10 = "fan4_1" +LABEL_fan11 = "fan5_0" +LABEL_fan12 = "fan5_1" + +PWM_TARGET_fan1 = "1" +PWM_TARGET_fan2 = "1" +PWM_TARGET_fan3 = "2" +PWM_TARGET_fan4 = "2" +PWM_TARGET_fan5 = "3" +PWM_TARGET_fan6 = "3" +PWM_TARGET_fan7 = "4" +PWM_TARGET_fan8 = "4" +PWM_TARGET_fan9 = "5" +PWM_TARGET_fan10 = "5" +PWM_TARGET_fan11 = "6" +PWM_TARGET_fan12 = "6" \ No newline at end of file diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/devices/platform/gpio-fsi/fsi0/slave@00--00/00--00--00--06/sbefifo1-dev0/occ-hwmon.1.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/devices/platform/gpio-fsi/fsi0/slave@00--00/00--00--00--06/sbefifo1-dev0/occ-hwmon.1.conf new file mode 100644 index 000000000..f47b49a82 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/devices/platform/gpio-fsi/fsi0/slave@00--00/00--00--00--06/sbefifo1-dev0/occ-hwmon.1.conf @@ -0,0 +1,290 @@ +MODE_temp1 = "label" +MODE_temp2 = "label" +MODE_temp3 = "label" +MODE_temp4 = "label" +MODE_temp5 = "label" +MODE_temp6 = "label" +MODE_temp7 = "label" +MODE_temp8 = "label" +MODE_temp9 = "label" +MODE_temp10 = "label" +MODE_temp11 = "label" +MODE_temp12 = "label" +MODE_temp13 = "label" +MODE_temp14 = "label" +MODE_temp15 = "label" +MODE_temp16 = "label" +MODE_temp17 = "label" +MODE_temp18 = "label" +MODE_temp19 = "label" +MODE_temp20 = "label" +MODE_temp21 = "label" +MODE_temp22 = "label" +MODE_temp23 = "label" +MODE_temp24 = "label" +MODE_temp25 = "label" +MODE_temp26 = "label" +MODE_temp27 = "label" +MODE_temp28 = "label" +MODE_temp29 = "label" +MODE_temp30 = "label" +MODE_temp31 = "label" +MODE_temp32 = "label" +MODE_temp33 = "label" +MODE_temp34 = "label" +MODE_temp35 = "label" +MODE_temp36 = "label" +MODE_temp37 = "label" +MODE_temp38 = "label" +MODE_temp39 = "label" +MODE_temp40 = "label" +LABEL_temp17 = "p0_core0_temp" +WARNHI_temp17 = "85000" +WARNLO_temp17 = "0" +CRITHI_temp17 = "90000" +CRITLO_temp17 = "0" + +LABEL_temp20 = "p0_core1_temp" +WARNHI_temp20 = "85000" +WARNLO_temp20 = "0" +CRITHI_temp20 = "90000" +CRITLO_temp20 = "0" + +LABEL_temp23 = "p0_core2_temp" +WARNHI_temp23 = "85000" +WARNLO_temp23 = "0" +CRITHI_temp23 = "90000" +CRITLO_temp23 = "0" + +LABEL_temp26 = "p0_core3_temp" +WARNHI_temp26 = "85000" +WARNLO_temp26 = "0" +CRITHI_temp26 = "90000" +CRITLO_temp26 = "0" + +LABEL_temp29 = "p0_core4_temp" +WARNHI_temp29 = "85000" +WARNLO_temp29 = "0" +CRITHI_temp29 = "90000" +CRITLO_temp29 = "0" + +LABEL_temp32 = "p0_core5_temp" +WARNHI_temp32 = "85000" +WARNLO_temp32 = "0" +CRITHI_temp32 = "90000" +CRITLO_temp32 = "0" + +LABEL_temp35 = "p0_core6_temp" +WARNHI_temp35 = "85000" +WARNLO_temp35 = "0" +CRITHI_temp35 = "90000" +CRITLO_temp35 = "0" + +LABEL_temp38 = "p0_core7_temp" +WARNHI_temp38 = "85000" +WARNLO_temp38 = "0" +CRITHI_temp38 = "90000" +CRITLO_temp38 = "0" + +LABEL_temp41 = "p0_core8_temp" +WARNHI_temp41 = "85000" +WARNLO_temp41 = "0" +CRITHI_temp41 = "90000" +CRITLO_temp41 = "0" + +LABEL_temp44 = "p0_core9_temp" +WARNHI_temp44 = "85000" +WARNLO_temp44 = "0" +CRITHI_temp44 = "90000" +CRITLO_temp44 = "0" + +LABEL_temp47 = "p0_core10_temp" +WARNHI_temp47 = "85000" +WARNLO_temp47 = "0" +CRITHI_temp47 = "90000" +CRITLO_temp47 = "0" + +LABEL_temp50 = "p0_core11_temp" +WARNHI_temp50 = "85000" +WARNLO_temp50 = "0" +CRITHI_temp50 = "90000" +CRITLO_temp50 = "0" + +LABEL_temp53 = "p0_core12_temp" +WARNHI_temp53 = "85000" +WARNLO_temp53 = "0" +CRITHI_temp53 = "90000" +CRITLO_temp53 = "0" + +LABEL_temp56 = "p0_core13_temp" +WARNHI_temp56 = "85000" +WARNLO_temp56 = "0" +CRITHI_temp56 = "90000" +CRITLO_temp56 = "0" + +LABEL_temp59 = "p0_core14_temp" +WARNHI_temp59 = "85000" +WARNLO_temp59 = "0" +CRITHI_temp59 = "90000" +CRITLO_temp59 = "0" + +LABEL_temp62 = "p0_core15_temp" +WARNHI_temp62 = "85000" +WARNLO_temp62 = "0" +CRITHI_temp62 = "90000" +CRITLO_temp62 = "0" + +LABEL_temp65 = "p0_core16_temp" +WARNHI_temp65 = "85000" +WARNLO_temp65 = "0" +CRITHI_temp65 = "90000" +CRITLO_temp65 = "0" + +LABEL_temp68 = "p0_core17_temp" +WARNHI_temp68 = "85000" +WARNLO_temp68 = "0" +CRITHI_temp68 = "90000" +CRITLO_temp68 = "0" + +LABEL_temp71 = "p0_core18_temp" +WARNHI_temp71 = "85000" +WARNLO_temp71 = "0" +CRITHI_temp71 = "90000" +CRITLO_temp71 = "0" + +LABEL_temp74 = "p0_core19_temp" +WARNHI_temp74 = "85000" +WARNLO_temp74 = "0" +CRITHI_temp74 = "90000" +CRITLO_temp74 = "0" + +LABEL_temp77 = "p0_core20_temp" +WARNHI_temp77 = "85000" +WARNLO_temp77 = "0" +CRITHI_temp77 = "90000" +CRITLO_temp77 = "0" + +LABEL_temp80 = "p0_core21_temp" +WARNHI_temp80 = "85000" +WARNLO_temp80 = "0" +CRITHI_temp80 = "90000" +CRITLO_temp80 = "0" + +LABEL_temp83 = "p0_core22_temp" +WARNHI_temp83 = "85000" +WARNLO_temp83 = "0" +CRITHI_temp83 = "90000" +CRITLO_temp83 = "0" + +LABEL_temp86 = "p0_core23_temp" +WARNHI_temp86 = "85000" +WARNLO_temp86 = "0" +CRITHI_temp86 = "90000" +CRITLO_temp86 = "0" + +LABEL_temp165 = "dimm0_temp" +WARNHI_temp165 = "85000" +WARNLO_temp165 = "0" +CRITHI_temp165 = "95000" +CRITLO_temp165 = "0" + +LABEL_temp167 = "dimm1_temp" +WARNHI_temp167 = "85000" +WARNLO_temp167 = "0" +CRITHI_temp167 = "95000" +CRITLO_temp167 = "0" + +LABEL_temp169 = "dimm2_temp" +WARNHI_temp169 = "85000" +WARNLO_temp169 = "0" +CRITHI_temp169 = "95000" +CRITLO_temp169 = "0" + +LABEL_temp171 = "dimm3_temp" +WARNHI_temp171 = "85000" +WARNLO_temp171 = "0" +CRITHI_temp171 = "95000" +CRITLO_temp171 = "0" + +LABEL_temp173 = "dimm4_temp" +WARNHI_temp173 = "85000" +WARNLO_temp173 = "0" +CRITHI_temp173 = "95000" +CRITLO_temp173 = "0" + +LABEL_temp175 = "dimm5_temp" +WARNHI_temp175 = "85000" +WARNLO_temp175 = "0" +CRITHI_temp175 = "95000" +CRITLO_temp175 = "0" + +LABEL_temp177 = "dimm6_temp" +WARNHI_temp177 = "85000" +WARNLO_temp177 = "0" +CRITHI_temp177 = "95000" +CRITLO_temp177 = "0" + +LABEL_temp179 = "dimm7_temp" +WARNHI_temp179 = "85000" +WARNLO_temp179 = "0" +CRITHI_temp179 = "95000" +CRITLO_temp179 = "0" + +LABEL_temp197 = "dimm16_temp" +WARNHI_temp197 = "85000" +WARNLO_temp197 = "0" +CRITHI_temp197 = "95000" +CRITLO_temp197 = "0" + +LABEL_temp199 = "dimm17_temp" +WARNHI_temp199 = "85000" +WARNLO_temp199 = "0" +CRITHI_temp199 = "95000" +CRITLO_temp199 = "0" + +LABEL_temp201 = "dimm18_temp" +WARNHI_temp201 = "85000" +WARNLO_temp201 = "0" +CRITHI_temp201 = "95000" +CRITLO_temp201 = "0" + +LABEL_temp203 = "dimm19_temp" +WARNHI_temp203 = "85000" +WARNLO_temp203 = "0" +CRITHI_temp203 = "95000" +CRITLO_temp203 = "0" + +LABEL_temp205 = "dimm20_temp" +WARNHI_temp205 = "85000" +WARNLO_temp205 = "0" +CRITHI_temp205 = "95000" +CRITLO_temp205 = "0" + +LABEL_temp207 = "dimm21_temp" +WARNHI_temp207 = "85000" +WARNLO_temp207 = "0" +CRITHI_temp207 = "95000" +CRITLO_temp207 = "0" + +LABEL_temp209 = "dimm22_temp" +WARNHI_temp209 = "85000" +WARNLO_temp209 = "0" +CRITHI_temp209 = "95000" +CRITLO_temp209 = "0" + +LABEL_temp211 = "dimm23_temp" +WARNHI_temp211 = "85000" +WARNLO_temp211 = "0" +CRITHI_temp211 = "95000" +CRITLO_temp211 = "0" + +LABEL_power2 = "io_b_power" +LABEL_power3 = "io_a_power" +LABEL_power4 = "p1_mem_power" +LABEL_power5 = "p1_vdd_power" +LABEL_power6 = "p0_mem_power" +LABEL_power7 = "p0_vdd_power" +LABEL_power8 = "fans_power" +LABEL_power9 = "storage_b_power" +LABEL_power10 = "storage_a_power" +LABEL_power11 = "gpu0_power" diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/devices/platform/gpio-fsi/fsi0/slave@00--00/00--00--00--0a/fsi1/slave@01--00/01--01--00--06/sbefifo2-dev0/occ-hwmon.2.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/devices/platform/gpio-fsi/fsi0/slave@00--00/00--00--00--0a/fsi1/slave@01--00/01--01--00--06/sbefifo2-dev0/occ-hwmon.2.conf new file mode 100644 index 000000000..ba53cd95d --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/devices/platform/gpio-fsi/fsi0/slave@00--00/00--00--00--0a/fsi1/slave@01--00/01--01--00--06/sbefifo2-dev0/occ-hwmon.2.conf @@ -0,0 +1,280 @@ +MODE_temp1 = "label" +MODE_temp2 = "label" +MODE_temp3 = "label" +MODE_temp4 = "label" +MODE_temp5 = "label" +MODE_temp6 = "label" +MODE_temp7 = "label" +MODE_temp8 = "label" +MODE_temp9 = "label" +MODE_temp10 = "label" +MODE_temp11 = "label" +MODE_temp12 = "label" +MODE_temp13 = "label" +MODE_temp14 = "label" +MODE_temp15 = "label" +MODE_temp16 = "label" +MODE_temp17 = "label" +MODE_temp18 = "label" +MODE_temp19 = "label" +MODE_temp20 = "label" +MODE_temp21 = "label" +MODE_temp22 = "label" +MODE_temp23 = "label" +MODE_temp24 = "label" +MODE_temp25 = "label" +MODE_temp26 = "label" +MODE_temp27 = "label" +MODE_temp28 = "label" +MODE_temp29 = "label" +MODE_temp30 = "label" +MODE_temp31 = "label" +MODE_temp32 = "label" +MODE_temp33 = "label" +MODE_temp34 = "label" +MODE_temp35 = "label" +MODE_temp36 = "label" +MODE_temp37 = "label" +MODE_temp38 = "label" +MODE_temp39 = "label" +MODE_temp40 = "label" +LABEL_temp91 = "p1_core0_temp" +WARNHI_temp91 = "85000" +WARNLO_temp91 = "0" +CRITHI_temp91 = "90000" +CRITLO_temp91 = "0" + +LABEL_temp94 = "p1_core1_temp" +WARNHI_temp94 = "85000" +WARNLO_temp94 = "0" +CRITHI_temp94 = "90000" +CRITLO_temp94 = "0" + +LABEL_temp97 = "p1_core2_temp" +WARNHI_temp97 = "85000" +WARNLO_temp97 = "0" +CRITHI_temp97 = "90000" +CRITLO_temp97 = "0" + +LABEL_temp100 = "p1_core3_temp" +WARNHI_temp100 = "85000" +WARNLO_temp100 = "0" +CRITHI_temp100 = "90000" +CRITLO_temp100 = "0" + +LABEL_temp103 = "p1_core4_temp" +WARNHI_temp103 = "85000" +WARNLO_temp103 = "0" +CRITHI_temp103 = "90000" +CRITLO_temp103 = "0" + +LABEL_temp106 = "p1_core5_temp" +WARNHI_temp106 = "85000" +WARNLO_temp106 = "0" +CRITHI_temp106 = "90000" +CRITLO_temp106 = "0" + +LABEL_temp109 = "p1_core6_temp" +WARNHI_temp109 = "85000" +WARNLO_temp109 = "0" +CRITHI_temp109 = "90000" +CRITLO_temp109 = "0" + +LABEL_temp112 = "p1_core7_temp" +WARNHI_temp112 = "85000" +WARNLO_temp112 = "0" +CRITHI_temp112 = "90000" +CRITLO_temp112 = "0" + +LABEL_temp115 = "p1_core8_temp" +WARNHI_temp115 = "85000" +WARNLO_temp115 = "0" +CRITHI_temp115 = "90000" +CRITLO_temp115 = "0" + +LABEL_temp118 = "p1_core9_temp" +WARNHI_temp118 = "85000" +WARNLO_temp118 = "0" +CRITHI_temp118 = "90000" +CRITLO_temp118 = "0" + +LABEL_temp121 = "p1_core10_temp" +WARNHI_temp121 = "85000" +WARNLO_temp121 = "0" +CRITHI_temp121 = "90000" +CRITLO_temp121 = "0" + +LABEL_temp124 = "p1_core11_temp" +WARNHI_temp124 = "85000" +WARNLO_temp124 = "0" +CRITHI_temp124 = "90000" +CRITLO_temp124 = "0" + +LABEL_temp127 = "p1_core12_temp" +WARNHI_temp127 = "85000" +WARNLO_temp127 = "0" +CRITHI_temp127 = "90000" +CRITLO_temp127 = "0" + +LABEL_temp130 = "p1_core13_temp" +WARNHI_temp130 = "85000" +WARNLO_temp130 = "0" +CRITHI_temp130 = "90000" +CRITLO_temp130 = "0" + +LABEL_temp133 = "p1_core14_temp" +WARNHI_temp133 = "85000" +WARNLO_temp133 = "0" +CRITHI_temp133 = "90000" +CRITLO_temp133 = "0" + +LABEL_temp136 = "p1_core15_temp" +WARNHI_temp136 = "85000" +WARNLO_temp136 = "0" +CRITHI_temp136 = "90000" +CRITLO_temp136 = "0" + +LABEL_temp139 = "p1_core16_temp" +WARNHI_temp139 = "85000" +WARNLO_temp139 = "0" +CRITHI_temp139 = "90000" +CRITLO_temp139 = "0" + +LABEL_temp142 = "p1_core17_temp" +WARNHI_temp142 = "85000" +WARNLO_temp142 = "0" +CRITHI_temp142 = "90000" +CRITLO_temp142 = "0" + +LABEL_temp145 = "p1_core18_temp" +WARNHI_temp145 = "85000" +WARNLO_temp145 = "0" +CRITHI_temp145 = "90000" +CRITLO_temp145 = "0" + +LABEL_temp148 = "p1_core19_temp" +WARNHI_temp148 = "85000" +WARNLO_temp148 = "0" +CRITHI_temp148 = "90000" +CRITLO_temp148 = "0" + +LABEL_temp151 = "p1_core20_temp" +WARNHI_temp151 = "85000" +WARNLO_temp151 = "0" +CRITHI_temp151 = "90000" +CRITLO_temp151 = "0" + +LABEL_temp154 = "p1_core21_temp" +WARNHI_temp154 = "85000" +WARNLO_temp154 = "0" +CRITHI_temp154 = "90000" +CRITLO_temp154 = "0" + +LABEL_temp157 = "p1_core22_temp" +WARNHI_temp157 = "85000" +WARNLO_temp157 = "0" +CRITHI_temp157 = "90000" +CRITLO_temp157 = "0" + +LABEL_temp160 = "p1_core23_temp" +WARNHI_temp160 = "85000" +WARNLO_temp160 = "0" +CRITHI_temp160 = "90000" +CRITLO_temp160 = "0" + +LABEL_temp181 = "dimm8_temp" +WARNHI_temp181 = "85000" +WARNLO_temp181 = "0" +CRITHI_temp181 = "95000" +CRITLO_temp181 = "0" + +LABEL_temp183 = "dimm9_temp" +WARNHI_temp183 = "85000" +WARNLO_temp183 = "0" +CRITHI_temp183 = "95000" +CRITLO_temp183 = "0" + +LABEL_temp185 = "dimm10_temp" +WARNHI_temp185 = "85000" +WARNLO_temp185 = "0" +CRITHI_temp185 = "95000" +CRITLO_temp185 = "0" + +LABEL_temp187 = "dimm11_temp" +WARNHI_temp187 = "85000" +WARNLO_temp187 = "0" +CRITHI_temp187 = "95000" +CRITLO_temp187 = "0" + +LABEL_temp189 = "dimm12_temp" +WARNHI_temp189 = "85000" +WARNLO_temp189 = "0" +CRITHI_temp189 = "95000" +CRITLO_temp189 = "0" + +LABEL_temp191 = "dimm13_temp" +WARNHI_temp191 = "85000" +WARNLO_temp191 = "0" +CRITHI_temp191 = "95000" +CRITLO_temp191 = "0" + +LABEL_temp193 = "dimm14_temp" +WARNHI_temp193 = "85000" +WARNLO_temp193 = "0" +CRITHI_temp193 = "95000" +CRITLO_temp193 = "0" + +LABEL_temp195 = "dimm15_temp" +WARNHI_temp195 = "85000" +WARNLO_temp195 = "0" +CRITHI_temp195 = "95000" +CRITLO_temp195 = "0" + +LABEL_temp213 = "dimm24_temp" +WARNHI_temp213 = "85000" +WARNLO_temp213 = "0" +CRITHI_temp213 = "95000" +CRITLO_temp213 = "0" + +LABEL_temp215 = "dimm25_temp" +WARNHI_temp215 = "85000" +WARNLO_temp215 = "0" +CRITHI_temp215 = "95000" +CRITLO_temp215 = "0" + +LABEL_temp217 = "dimm26_temp" +WARNHI_temp217 = "85000" +WARNLO_temp217 = "0" +CRITHI_temp217 = "95000" +CRITLO_temp217 = "0" + +LABEL_temp219 = "dimm27_temp" +WARNHI_temp219 = "85000" +WARNLO_temp219 = "0" +CRITHI_temp219 = "95000" +CRITLO_temp219 = "0" + +LABEL_temp221 = "dimm28_temp" +WARNHI_temp221 = "85000" +WARNLO_temp221 = "0" +CRITHI_temp221 = "95000" +CRITLO_temp221 = "0" + +LABEL_temp223 = "dimm29_temp" +WARNHI_temp223 = "85000" +WARNLO_temp223 = "0" +CRITHI_temp223 = "95000" +CRITLO_temp223 = "0" + +LABEL_temp225 = "dimm30_temp" +WARNHI_temp225 = "85000" +WARNLO_temp225 = "0" +CRITHI_temp225 = "95000" +CRITLO_temp225 = "0" + +LABEL_temp227 = "dimm31_temp" +WARNHI_temp227 = "85000" +WARNLO_temp227 = "0" +CRITHI_temp227 = "95000" +CRITLO_temp227 = "0" + diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-12v.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-12v.conf new file mode 100644 index 000000000..81d3aa519 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-12v.conf @@ -0,0 +1,2 @@ +LABEL_in1=12V +GAIN_in1=7.5 \ No newline at end of file diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-3v.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-3v.conf new file mode 100644 index 000000000..d7e4a92e8 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-3v.conf @@ -0,0 +1,2 @@ +LABEL_in1=3V +GAIN_in1=3 \ No newline at end of file diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-5v.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-5v.conf new file mode 100644 index 000000000..b9ea49ef0 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-5v.conf @@ -0,0 +1,2 @@ +LABEL_in1=5V +GAIN_in1=3 \ No newline at end of file diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-battery.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-battery.conf new file mode 100644 index 000000000..6f7341cd5 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-battery.conf @@ -0,0 +1,9 @@ +LABEL_in1=vbat +GAIN_in1=2.368 + +# GPIOR3 needs to be pulled high for battery voltage reading +GPIOCHIP_in1=0 +GPIO_in1=139 + +# Read it every day so it does not impact battery life +INTERVAL=86400000000 \ No newline at end of file diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vcs0.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vcs0.conf new file mode 100644 index 000000000..4b8261f40 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vcs0.conf @@ -0,0 +1,2 @@ +LABEL_in1=vcs0 +GAIN_in1=1 diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vcs1.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vcs1.conf new file mode 100644 index 000000000..02732c677 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vcs1.conf @@ -0,0 +1,2 @@ +LABEL_in1=vcs1 +GAIN_in1=1 \ No newline at end of file diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vdd0.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vdd0.conf new file mode 100644 index 000000000..f91914057 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vdd0.conf @@ -0,0 +1,2 @@ +LABEL_in1=vdd0 +GAIN_in1=1 diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vdd1.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vdd1.conf new file mode 100644 index 000000000..fe188856b --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vdd1.conf @@ -0,0 +1,2 @@ +LABEL_in1=vdd1 +GAIN_in1=1 \ No newline at end of file diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vddra.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vddra.conf new file mode 100644 index 000000000..3a11fd246 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vddra.conf @@ -0,0 +1,2 @@ +LABEL_in1=vddra +GAIN_in1=1 diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vddrb.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vddrb.conf new file mode 100644 index 000000000..e9811cb1e --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vddrb.conf @@ -0,0 +1,2 @@ +LABEL_in1=vddrb +GAIN_in1=1 \ No newline at end of file diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vddrc.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vddrc.conf new file mode 100644 index 000000000..1753d93a5 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vddrc.conf @@ -0,0 +1,2 @@ +LABEL_in1=vddrc +GAIN_in1=1 diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vddrd.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vddrd.conf new file mode 100644 index 000000000..8fbfcd330 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vddrd.conf @@ -0,0 +1,2 @@ +LABEL_in1=vddrd +GAIN_in1=1 \ No newline at end of file diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vdn0.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vdn0.conf new file mode 100644 index 000000000..afe6fcead --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vdn0.conf @@ -0,0 +1,2 @@ +LABEL_in1=vdn0 +GAIN_in1=1 diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vdn1.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vdn1.conf new file mode 100644 index 000000000..5141b2969 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vdn1.conf @@ -0,0 +1,2 @@ +LABEL_in1=vdn1 +GAIN_in1=1 \ No newline at end of file diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vio0.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vio0.conf new file mode 100644 index 000000000..bf8e352e5 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vio0.conf @@ -0,0 +1,2 @@ +LABEL_in1=vio0 +GAIN_in1=1 diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vio1.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vio1.conf new file mode 100644 index 000000000..d81958530 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vio1.conf @@ -0,0 +1,2 @@ +LABEL_in1=vio1 +GAIN_in1=1 \ No newline at end of file diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend index d9d606bd2..420c0e049 100644 --- a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend @@ -34,9 +34,38 @@ CHIPS_append_swift = " \ bus@1e78a000/i2c-bus@3c0/ir35221@71 \ bus@1e78a000/i2c-bus@3c0/ir35221@72 \ " +CHIPS_mihawk = " \ + bus@1e78a000/i2c-bus@100/power-supply@58 \ + bus@1e78a000/i2c-bus@100/power-supply@5b \ + bus@1e78a000/i2c-bus@140/ir35221@70 \ + bus@1e78a000/i2c-bus@140/ir35221@72 \ + bus@1e78a000/i2c-bus@180/ir35221@70 \ + bus@1e78a000/i2c-bus@180/ir35221@72 \ + bus@1e78a000/i2c-bus@400/tmp275@48 \ + bus@1e78a000/i2c-bus@400/tmp275@49 \ + pwm-tacho-controller@1e786000 \ + bus@1e78a000/i2c-bus@400/emc1403@4c \ + bus@1e78a000/i2c-bus@440/pca9545@70/i2c@3/tmp275@48 \ + " ITEMSFMT = "ahb/apb/{0}.conf" ITEMS = "${@compose_list(d, 'ITEMSFMT', 'CHIPS')}" +ITEMS_append_mihawk += " iio-hwmon-vdd0.conf" +ITEMS_append_mihawk += " iio-hwmon-vdd1.conf" +ITEMS_append_mihawk += " iio-hwmon-vcs0.conf" +ITEMS_append_mihawk += " iio-hwmon-vcs1.conf" +ITEMS_append_mihawk += " iio-hwmon-vdn0.conf" +ITEMS_append_mihawk += " iio-hwmon-vdn1.conf" +ITEMS_append_mihawk += " iio-hwmon-vio0.conf" +ITEMS_append_mihawk += " iio-hwmon-vio1.conf" +ITEMS_append_mihawk += " iio-hwmon-vddra.conf" +ITEMS_append_mihawk += " iio-hwmon-vddrb.conf" +ITEMS_append_mihawk += " iio-hwmon-vddrc.conf" +ITEMS_append_mihawk += " iio-hwmon-vddrd.conf" +ITEMS_append_mihawk += " iio-hwmon-12v.conf" +ITEMS_append_mihawk += " iio-hwmon-5v.conf" +ITEMS_append_mihawk += " iio-hwmon-3v.conf" +ITEMS_append_mihawk += " iio-hwmon-battery.conf" OCCS = " \ 00--00--00--06/sbefifo1-dev0/occ-hwmon.1 \ @@ -48,6 +77,8 @@ OCCITEMS = "${@compose_list(d, 'OCCSFMT', 'OCCS')}" ENVS = "obmc/hwmon/{0}" SYSTEMD_ENVIRONMENT_FILE_${PN}_append_ibm-ac-server = " ${@compose_list(d, 'ENVS', 'ITEMS')}" SYSTEMD_ENVIRONMENT_FILE_${PN}_append_ibm-ac-server = " ${@compose_list(d, 'ENVS', 'OCCITEMS')}" +SYSTEMD_ENVIRONMENT_FILE_${PN}_append_mihawk = " ${@compose_list(d, 'ENVS', 'ITEMS')}" +SYSTEMD_ENVIRONMENT_FILE_${PN}_append_mihawk = " ${@compose_list(d, 'ENVS', 'OCCITEMS')}" SYSTEMD_ENVIRONMENT_FILE_max31785-msl_append_ibm-ac-server = " obmc/hwmon-max31785/max31785.conf" SYSTEMD_LINK_max31785-msl_append_ibm-ac-server = " ../phosphor-max31785-msl@.service:multi-user.target.wants/phosphor-max31785-msl@${MACHINE}.service" -- cgit v1.2.3 From 3ded63d40c63666ebb8d549a93bff87e130914ca Mon Sep 17 00:00:00 2001 From: Ben_Pai Date: Thu, 12 Sep 2019 10:58:00 +0800 Subject: meta-ibm: Add mihawk total power sensor Get total power from occ. (From meta-ibm rev: 5f74841d980f274383dd0bf1c16b1c3df18142e2) Signed-off-by: Ben Pai Change-Id: I97bf6b2229890dca1a0bda421b85b10392c2a814 Signed-off-by: Brad Bishop --- .../mihawk/acx22-ipmi-hwmon-sensors.yaml | 25 ++++++++++++++++++++-- .../00--00--00--06/sbefifo1-dev0/occ-hwmon.1.conf | 1 + 2 files changed, 24 insertions(+), 2 deletions(-) (limited to 'meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon') diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/mihawk/acx22-ipmi-hwmon-sensors.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/mihawk/acx22-ipmi-hwmon-sensors.yaml index 03b9700dc..71b79b73b 100644 --- a/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/mihawk/acx22-ipmi-hwmon-sensors.yaml +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/mihawk/acx22-ipmi-hwmon-sensors.yaml @@ -419,6 +419,27 @@ serviceInterface: org.freedesktop.DBus.Properties unit: xyz.openbmc_project.Sensor.Value.Unit.Amperes 252: + bExp: 0 + entityID: 10 + entityInstance: 15 + interfaces: + xyz.openbmc_project.Sensor.Value: + Value: + Offsets: + 255: + type: int64_t + multiplierM: 20 + offsetB: 0 + path: /xyz/openbmc_project/sensors/power/total_power + rExp: 0 + readingType: readingData + scale: -6 + sensorNamePattern: nameLeaf + sensorReadingType: 1 + sensorType: 8 + serviceInterface: org.freedesktop.DBus.Properties + unit: xyz.openbmc_project.Sensor.Value.Unit.Watts +253: bExp: 0 entityID: 35 entityInstance: 1 @@ -439,7 +460,7 @@ sensorType: 1 serviceInterface: org.freedesktop.DBus.Properties unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC -253: +254: bExp: 0 entityID: 35 entityInstance: 2 @@ -460,7 +481,7 @@ sensorType: 1 serviceInterface: org.freedesktop.DBus.Properties unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC -254: +255: bExp: 0 entityID: 64 entityInstance: 1 diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/devices/platform/gpio-fsi/fsi0/slave@00--00/00--00--00--06/sbefifo1-dev0/occ-hwmon.1.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/devices/platform/gpio-fsi/fsi0/slave@00--00/00--00--00--06/sbefifo1-dev0/occ-hwmon.1.conf index f47b49a82..5b347c10c 100644 --- a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/devices/platform/gpio-fsi/fsi0/slave@00--00/00--00--00--06/sbefifo1-dev0/occ-hwmon.1.conf +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/devices/platform/gpio-fsi/fsi0/slave@00--00/00--00--00--06/sbefifo1-dev0/occ-hwmon.1.conf @@ -288,3 +288,4 @@ LABEL_power8 = "fans_power" LABEL_power9 = "storage_b_power" LABEL_power10 = "storage_a_power" LABEL_power11 = "gpu0_power" +LABEL_power14 = "total_power" -- cgit v1.2.3