Delphine CC Chiu | 4f0996c | 2024-01-11 17:44:43 +0800 | [diff] [blame] | 1 | #!/bin/bash -e |
| 2 | # shellcheck source=meta-facebook/meta-yosemite4/recipes-yosemite4/plat-tool/files/yosemite4-common-functions |
| 3 | source /usr/libexec/yosemite4-common-functions |
| 4 | |
Marshall Zhan | db3abb5 | 2024-08-07 15:49:54 +0800 | [diff] [blame] | 5 | # wait for entity manager |
| 6 | mapper wait /xyz/openbmc_project/inventory/system/board/Yosemite_4_Management_Board |
| 7 | mapper wait /xyz/openbmc_project/inventory/system/board/Yosemite_4_Medusa_Board |
| 8 | |
Delphine CC Chiu | 4f0996c | 2024-01-11 17:44:43 +0800 | [diff] [blame] | 9 | # probe devices behind mux for management board cpld |
MarshallZhan | a365e4b | 2024-07-18 18:13:19 +0800 | [diff] [blame] | 10 | mgm_stage=$(get_product_version Management_Board) |
Delphine CC Chiu | 4f0996c | 2024-01-11 17:44:43 +0800 | [diff] [blame] | 11 | |
MarshallZhan | a365e4b | 2024-07-18 18:13:19 +0800 | [diff] [blame] | 12 | if [ -z "$mgm_stage" ]; then |
| 13 | echo "Failed to check management board fru info, all CPLD I/O expender are keeping default setting" |
| 14 | elif [ "$mgm_stage" = "DVT" ] || [ "$mgm_stage" = "EVT" ]; then |
| 15 | echo pca9506 "0x20" > /sys/bus/i2c/devices/i2c-13/new_device |
| 16 | echo pca9506 "0x21" > /sys/bus/i2c/devices/i2c-13/new_device |
| 17 | echo pca9506 "0x22" > /sys/bus/i2c/devices/i2c-13/new_device |
| 18 | echo pca9506 "0x23" > /sys/bus/i2c/devices/i2c-13/new_device |
| 19 | fi |
Delphine CC Chiu | 4f0996c | 2024-01-11 17:44:43 +0800 | [diff] [blame] | 20 | |
| 21 | # set initial value for pca9555 i/o pins on medusa board |
MarshallZhan | a365e4b | 2024-07-18 18:13:19 +0800 | [diff] [blame] | 22 | medusa_stage=$(get_product_version Medusa_Board) |
| 23 | |
| 24 | if [ -z "$medusa_stage" ]; then |
Delphine CC Chiu | 4f0996c | 2024-01-11 17:44:43 +0800 | [diff] [blame] | 25 | echo "Failed to check medusa board fru info, all I/O pins are keeping default input" |
MarshallZhan | a365e4b | 2024-07-18 18:13:19 +0800 | [diff] [blame] | 26 | elif [ "$medusa_stage" = "POC" ]; then |
Delphine CC Chiu | 4f0996c | 2024-01-11 17:44:43 +0800 | [diff] [blame] | 27 | set_gpio P48V_OCP_GPIO1 0 |
| 28 | set_gpio P48V_OCP_GPIO2 0 |
| 29 | set_gpio P48V_OCP_GPIO3 0 |
| 30 | set_gpio RST_MUX_R_N 1 |
| 31 | set_gpio RST_LED_CONTROL_FAN_BOARD_0_N 1 |
| 32 | set_gpio RST_LED_CONTROL_FAN_BOARD_1_N 1 |
| 33 | set_gpio RST_IOEXP_FAN_BOARD_0_N 1 |
| 34 | set_gpio RST_IOEXP_FAN_BOARD_1_N 1 |
| 35 | set_gpio HSC_OCP_SLOT_ODD_GPIO3 1 |
| 36 | set_gpio HSC_OCP_SLOT_EVEN_GPIO1 1 |
| 37 | set_gpio MEDUSA_BOARD_REV_0 0 |
| 38 | set_gpio MEDUSA_BOARD_REV_1 0 |
| 39 | set_gpio MEDUSA_BOARD_REV_2 0 |
| 40 | set_gpio MEDUSA_BOARD_TYPE 0 |
| 41 | set_gpio DELTA_MODULE_TYPE 0 |
| 42 | set_gpio P12V_HSC_TYPE 0 |
| 43 | else |
| 44 | set_gpio P48V_OCP_GPIO1 0 |
| 45 | set_gpio P48V_OCP_GPIO2 0 |
| 46 | set_gpio P48V_OCP_GPIO3 0 |
| 47 | set_gpio RST_MUX_R_N 1 |
| 48 | set_gpio RST_LED_CONTROL_FAN_BOARD_0_N 1 |
| 49 | set_gpio RST_LED_CONTROL_FAN_BOARD_1_N 1 |
| 50 | set_gpio RST_IOEXP_FAN_BOARD_0_N 1 |
| 51 | set_gpio RST_IOEXP_FAN_BOARD_1_N 1 |
| 52 | set_gpio HSC_OCP_SLOT_ODD_GPIO1 0 |
| 53 | set_gpio HSC_OCP_SLOT_ODD_GPIO2 0 |
| 54 | set_gpio HSC_OCP_SLOT_ODD_GPIO3 0 |
| 55 | set_gpio HSC_OCP_SLOT_EVEN_GPIO1 0 |
| 56 | set_gpio HSC_OCP_SLOT_EVEN_GPIO2 0 |
| 57 | set_gpio HSC_OCP_SLOT_EVEN_GPIO3 0 |
| 58 | fi |
Yikai Tsai | bc8d68c | 2024-09-09 14:35:09 +0800 | [diff] [blame] | 59 | |
| 60 | # check adc device on medusa board |
| 61 | medusa_model=$(get_product_model Medusa_Board) |
| 62 | if [ "$medusa_model" = "Medusa Board ADC-RNS-ISL 12VHSC-ADI 48VHSC-INF" ]; then |
| 63 | echo 11-0044 > /sys/bus/i2c/drivers/isl28022/bind |
| 64 | else |
| 65 | echo 11-0044 > /sys/bus/i2c/drivers/ina238/bind |
| 66 | fi |
| 67 | |
Delphine CC Chiu | 4f0996c | 2024-01-11 17:44:43 +0800 | [diff] [blame] | 68 | exit 0 |