Chanh Nguyen | 2fc68eb | 2022-04-28 09:11:28 +0000 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
Thang Q. Nguyen | d9c8965 | 2023-10-05 09:02:31 +0700 | [diff] [blame] | 3 | # shellcheck disable=SC2046 |
Patrick Williams | 0731ef8 | 2023-04-16 16:41:45 -0500 | [diff] [blame] | 4 | # shellcheck source=meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/mtmitchell_platform_gpios_init.sh |
Chanh Nguyen | 2fc68eb | 2022-04-28 09:11:28 +0000 | [diff] [blame] | 5 | source /usr/sbin/platform_gpios_init.sh |
| 6 | |
| 7 | #pre platform init function. implemented in platform_gpios_init.sh |
| 8 | pre-platform-init |
| 9 | |
| 10 | # ======================================================= |
| 11 | # Setting default value for device sel and mux |
| 12 | bootstatus=$(cat /sys/class/watchdog/watchdog0/bootstatus) |
| 13 | if [ "$bootstatus" == '32' ]; then |
| 14 | echo "CONFIGURE: gpio pins to output high after AC power" |
| 15 | for gpioName in "${output_high_gpios_in_ac[@]}"; do |
Thang Q. Nguyen | d9c8965 | 2023-10-05 09:02:31 +0700 | [diff] [blame] | 16 | gpioset $(gpiofind "$gpioName")=1 |
Chanh Nguyen | 2fc68eb | 2022-04-28 09:11:28 +0000 | [diff] [blame] | 17 | done |
| 18 | echo "CONFIGURE: gpio pins to output low after AC power" |
| 19 | for gpioName in "${output_low_gpios_in_ac[@]}"; do |
Thang Q. Nguyen | d9c8965 | 2023-10-05 09:02:31 +0700 | [diff] [blame] | 20 | gpioset $(gpiofind "$gpioName")=0 |
Chanh Nguyen | 2fc68eb | 2022-04-28 09:11:28 +0000 | [diff] [blame] | 21 | done |
| 22 | echo "CONFIGURE: gpio pins to input after AC power" |
| 23 | for gpioName in "${input_gpios_in_ac[@]}"; do |
Thang Q. Nguyen | d9c8965 | 2023-10-05 09:02:31 +0700 | [diff] [blame] | 24 | gpioget $(gpiofind "$gpioName") |
Chanh Nguyen | 2fc68eb | 2022-04-28 09:11:28 +0000 | [diff] [blame] | 25 | done |
| 26 | fi |
| 27 | |
| 28 | # ======================================================= |
| 29 | # Setting default value for others gpio pins |
| 30 | echo "CONFIGURE: gpio pins to output high" |
| 31 | for gpioName in "${output_high_gpios_in_bmc_reboot[@]}"; do |
Thang Q. Nguyen | d9c8965 | 2023-10-05 09:02:31 +0700 | [diff] [blame] | 32 | gpioset $(gpiofind "$gpioName")=1 |
Chanh Nguyen | 2fc68eb | 2022-04-28 09:11:28 +0000 | [diff] [blame] | 33 | done |
| 34 | echo "CONFIGURE: gpio pins to output low" |
| 35 | for gpioName in "${output_low_gpios_in_bmc_reboot[@]}"; do |
Thang Q. Nguyen | d9c8965 | 2023-10-05 09:02:31 +0700 | [diff] [blame] | 36 | gpioset $(gpiofind "$gpioName")=0 |
Chanh Nguyen | 2fc68eb | 2022-04-28 09:11:28 +0000 | [diff] [blame] | 37 | done |
| 38 | echo "CONFIGURE: gpio pins to input" |
| 39 | for gpioName in "${input_gpios_in_bmc_reboot[@]}"; do |
Thang Q. Nguyen | d9c8965 | 2023-10-05 09:02:31 +0700 | [diff] [blame] | 40 | gpioget $(gpiofind "$gpioName") |
Chanh Nguyen | 2fc68eb | 2022-04-28 09:11:28 +0000 | [diff] [blame] | 41 | done |
| 42 | |
Chanh Nguyen | 2fc68eb | 2022-04-28 09:11:28 +0000 | [diff] [blame] | 43 | #post platform init function. implemented in platform_gpios_init.sh |
| 44 | post-platform-init |
| 45 | |
| 46 | exit 0 |