summaryrefslogtreecommitdiff
path: root/meta-ampere/meta-mitchell
diff options
context:
space:
mode:
authorThang Q. Nguyen <thang@os.amperecomputing.com>2023-10-05 05:02:31 +0300
committerThang Q. Nguyen <thang@os.amperecomputing.com>2023-10-14 11:41:09 +0300
commitd9c8965dbc394b46ab2440ef423a5e8c2872f6ed (patch)
tree16e1a0990921e1ca53102f3de60f478e8daf4900 /meta-ampere/meta-mitchell
parent2013739591dc50e6d01836d0017e7e5a02225709 (diff)
downloadopenbmc-d9c8965dbc394b46ab2440ef423a5e8c2872f6ed.tar.xz
meta-ampere: mtmitchell: use standard gpio commands
Change to use gpioset and gpioget to set value for output GPIOs and read value for input GPIOs. This commit also corrects GPIO base numbers which are changed in Linux kernel 6.5 Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Change-Id: I802f9d777537ff28f94945006b6582b15523e3a8
Diffstat (limited to 'meta-ampere/meta-mitchell')
-rw-r--r--meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-fault-monitor/ampere_fault_monitor.sh16
-rw-r--r--meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/ampere_bmc_heartbeat.sh11
-rw-r--r--meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/ampere_platform_init.sh15
-rw-r--r--meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/gpio-lib.sh4
-rw-r--r--meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/mtmitchell_platform_gpios_init.sh11
-rw-r--r--meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-utils/ampere_power_util.sh11
6 files changed, 31 insertions, 37 deletions
diff --git a/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-fault-monitor/ampere_fault_monitor.sh b/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-fault-monitor/ampere_fault_monitor.sh
index 299e13b17d..b1cf7853ab 100644
--- a/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-fault-monitor/ampere_fault_monitor.sh
+++ b/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-fault-monitor/ampere_fault_monitor.sh
@@ -1,9 +1,7 @@
#!/bin/bash
# This script monitors fan, over-temperature, PSU, CPU/SCP failure and update fault LED status
-# shellcheck disable=SC2004
-# shellcheck source=meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/gpio-lib.sh
-source /usr/sbin/gpio-lib.sh
+# shellcheck disable=SC2046
# common variables
on=1
@@ -112,23 +110,23 @@ check_psu_failed() {
local psu0_value
local psu1_value
- psu0_presence=$(gpio_name_get presence-ps0)
+ psu0_presence=$(gpioget $(gpiofind presence-ps0))
psu0_failed="true"
if [ "$psu0_presence" == "0" ]; then
# PSU0 presence, monitor the PSUs using pmbus, check the STATUS_WORD
psu0_value=$(i2cget -f -y $psu_bus $psu0_addr $status_word_cmd w)
- psu0_bit_fault=$(($psu0_value & $psu_fault_bitmask))
+ psu0_bit_fault=$((psu0_value & psu_fault_bitmask))
if [ "$psu0_bit_fault" == "0" ]; then
psu0_failed="false"
fi
fi
- psu1_presence=$(gpio_name_get presence-ps1)
+ psu1_presence=$(gpioget $(gpiofind presence-ps1))
psu1_failed="true"
if [ "$psu1_presence" == "0" ]; then
# PSU1 presence, monitor the PSUs using pmbus, check the STATUS_WORD
psu1_value=$(i2cget -f -y $psu_bus $psu1_addr $status_word_cmd w)
- psu1_bit_fault=$(($psu1_value & $psu_fault_bitmask))
+ psu1_bit_fault=$((psu1_value & psu_fault_bitmask))
if [ "$psu1_bit_fault" == "0" ]; then
psu1_failed="false"
fi
@@ -189,9 +187,9 @@ check_fault() {
control_sys_fault_led() {
# Turn on/off the System Fault Led
if [ "$fault" == "true" ]; then
- gpio_name_set led-fault $on
+ gpioset $(gpiofind led-fault)=1
else
- gpio_name_set led-fault $off
+ gpioset $(gpiofind led-fault)=0
fi
}
diff --git a/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/ampere_bmc_heartbeat.sh b/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/ampere_bmc_heartbeat.sh
index b9bba7b0f1..01809964a2 100644
--- a/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/ampere_bmc_heartbeat.sh
+++ b/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/ampere_bmc_heartbeat.sh
@@ -1,19 +1,18 @@
#!/bin/bash
-# shellcheck source=meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/gpio-lib.sh
-source /usr/sbin/gpio-lib.sh
+# shellcheck disable=SC2046
value=0
while true;
do
if [[ $value -eq 0 ]]; then
value=1
- gpio_name_set led-sw-hb 1
- gpio_name_set led-bmc-hb 0
+ gpioset $(gpiofind led-sw-hb)=1
+ gpioset $(gpiofind led-bmc-hb)=0
else
value=0
- gpio_name_set led-sw-hb 0
- gpio_name_set led-bmc-hb 1
+ gpioset $(gpiofind led-sw-hb)=0
+ gpioset $(gpiofind led-bmc-hb)=1
fi
sleep 1s
done
diff --git a/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/ampere_platform_init.sh b/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/ampere_platform_init.sh
index cae866ec66..4d737a75a1 100644
--- a/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/ampere_platform_init.sh
+++ b/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/ampere_platform_init.sh
@@ -1,7 +1,6 @@
#!/bin/bash
-# shellcheck source=meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/gpio-lib.sh
-source /usr/sbin/gpio-lib.sh
+# shellcheck disable=SC2046
# shellcheck source=meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/mtmitchell_platform_gpios_init.sh
source /usr/sbin/platform_gpios_init.sh
source /usr/sbin/ampere_uart_console_setup.sh
@@ -15,15 +14,15 @@ bootstatus=$(cat /sys/class/watchdog/watchdog0/bootstatus)
if [ "$bootstatus" == '32' ]; then
echo "CONFIGURE: gpio pins to output high after AC power"
for gpioName in "${output_high_gpios_in_ac[@]}"; do
- gpio_name_set "$gpioName" 1
+ gpioset $(gpiofind "$gpioName")=1
done
echo "CONFIGURE: gpio pins to output low after AC power"
for gpioName in "${output_low_gpios_in_ac[@]}"; do
- gpio_name_set "$gpioName" 0
+ gpioset $(gpiofind "$gpioName")=0
done
echo "CONFIGURE: gpio pins to input after AC power"
for gpioName in "${input_gpios_in_ac[@]}"; do
- gpio_name_input "$gpioName"
+ gpioget $(gpiofind "$gpioName")
done
fi
@@ -31,15 +30,15 @@ fi
# Setting default value for others gpio pins
echo "CONFIGURE: gpio pins to output high"
for gpioName in "${output_high_gpios_in_bmc_reboot[@]}"; do
- gpio_name_set "$gpioName" 1
+ gpioset $(gpiofind "$gpioName")=1
done
echo "CONFIGURE: gpio pins to output low"
for gpioName in "${output_low_gpios_in_bmc_reboot[@]}"; do
- gpio_name_set "$gpioName" 0
+ gpioset $(gpiofind "$gpioName")=0
done
echo "CONFIGURE: gpio pins to input"
for gpioName in "${input_gpios_in_bmc_reboot[@]}"; do
- gpio_name_input "$gpioName"
+ gpioget $(gpiofind "$gpioName")
done
# =======================================================
diff --git a/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/gpio-lib.sh b/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/gpio-lib.sh
index 5fbbbcc0d4..c9eb2b98fe 100644
--- a/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/gpio-lib.sh
+++ b/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/gpio-lib.sh
@@ -2,8 +2,8 @@
# Configure GPIO as output and set its value
AST2600_GPIO_BASE=(
- 816
- 780
+ 512
+ 720
)
function gpio_configure_output() {
diff --git a/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/mtmitchell_platform_gpios_init.sh b/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/mtmitchell_platform_gpios_init.sh
index 65acfc5f15..f5fefc3785 100644
--- a/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/mtmitchell_platform_gpios_init.sh
+++ b/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/mtmitchell_platform_gpios_init.sh
@@ -1,7 +1,6 @@
#!/bin/bash
-# shellcheck source=meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/gpio-lib.sh
-source /usr/sbin/gpio-lib.sh
+# shellcheck disable=SC2046
function bind_rtc_driver() {
# If rtc device can not present, bind the device
@@ -34,20 +33,20 @@ function post-platform-init() {
if [ "$pgood" == '1' ]; then
echo "PSU is on. Setting PSON to 0"
- gpio_name_set power-chassis-control 0
+ gpioset $(gpiofind power-chassis-control)=0
else
echo "pgood D-Bus property response as 0. PSU is off."
# for unknown reason when stress reboot bmc power-control.exe detect power-chassis-good is 1 (power on)
# But "busctl get-property org.openbmc.control.Power /org/openbmc/control/power0 org.openbmc.control.Power pgood" responses 0 (power off)
# Add sleep 3 seconds after the pgood dbus reponse (power off) and recheck the power-chassis-good to confirm about the PSU power state
sleep 3
- pgood=$(gpio_name_get power-chassis-good)
+ pgood=$(gpioget $(gpiofind power-chassis-good))
if [ "$pgood" == '0' ]; then
echo "power-chassis-good reponse as 0. Confirm PSU is off. Setting PSON to 1."
- gpio_name_set power-chassis-control 1
+ gpioset $(gpiofind power-chassis-control)=1
fi
fi
- gpio_name_set host0-sysreset-n 1
+ gpioset $(gpiofind host0-sysreset-n)=1
# gpio-leds is controlling bmc-ready, not by gpio
echo 1 > /sys/class/leds/bmc-ready/brightness
diff --git a/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-utils/ampere_power_util.sh b/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-utils/ampere_power_util.sh
index 330861a441..78f54bc2fe 100644
--- a/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-utils/ampere_power_util.sh
+++ b/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-utils/ampere_power_util.sh
@@ -1,7 +1,6 @@
#!/bin/bash
-# shellcheck source=meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/gpio-lib.sh
-source /usr/sbin/gpio-lib.sh
+# shellcheck disable=SC2046
# Usage of this utility
function usage() {
@@ -31,9 +30,9 @@ shutdown_ack() {
soft_off() {
# Trigger shutdown_req
touch /run/openbmc/host@0-softpoweroff
- gpio_name_set host0-shd-req-n 0
+ gpioset $(gpiofind host0-shd-req-n)=0
sleep 0.05
- gpio_name_set host0-shd-req-n 1
+ gpioset $(gpiofind host0-shd-req-n)=1
# Wait for shutdown_ack from the host in 30 seconds
cnt=30
@@ -79,9 +78,9 @@ force_reset() {
fi
rm -f /run/openbmc/host@0-on
echo "Triggering sysreset pin"
- gpio_name_set host0-sysreset-n 0
+ gpioset $(gpiofind host0-sysreset-n)=0
sleep 1
- gpio_name_set host0-sysreset-n 1
+ gpioset $(gpiofind host0-sysreset-n)=1
}
host_reboot_wa() {