diff options
author | Thang Q. Nguyen <thang@os.amperecomputing.com> | 2023-10-05 05:02:31 +0300 |
---|---|---|
committer | Thang Q. Nguyen <thang@os.amperecomputing.com> | 2023-10-14 11:41:09 +0300 |
commit | d9c8965dbc394b46ab2440ef423a5e8c2872f6ed (patch) | |
tree | 16e1a0990921e1ca53102f3de60f478e8daf4900 /meta-ampere/meta-mitchell | |
parent | 2013739591dc50e6d01836d0017e7e5a02225709 (diff) | |
download | openbmc-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')
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() { |