1#!/bin/bash -e
2# shellcheck source=meta-facebook/meta-minerva/recipes-minerva/plat-tool/files/minerva-common-functions
3source /usr/libexec/minerva-common-functions
4
5# set initial value for GPIO output pins
6set_gpio PWREN_MTIA_BLADE0_EN_N 0
7set_gpio PWREN_MTIA_BLADE1_EN_N 0
8set_gpio PWREN_MTIA_BLADE2_EN_N 0
9set_gpio PWREN_MTIA_BLADE3_EN_N 0
10set_gpio PWREN_MTIA_BLADE4_EN_N 0
11set_gpio PWREN_MTIA_BLADE5_EN_N 0
12set_gpio PWREN_MTIA_BLADE6_EN_N 0
13set_gpio PWREN_MTIA_BLADE7_EN_N 0
14set_gpio PWREN_MTIA_BLADE8_EN_N 0
15set_gpio PWREN_MTIA_BLADE9_EN_N 0
16set_gpio PWREN_MTIA_BLADE10_EN_N 0
17set_gpio PWREN_MTIA_BLADE11_EN_N 0
18set_gpio PWREN_MTIA_BLADE12_EN_N 0
19set_gpio PWREN_MTIA_BLADE13_EN_N 0
20set_gpio PWREN_MTIA_BLADE14_EN_N 0
21set_gpio PWREN_MTIA_BLADE15_EN_N 0
22
23set_gpio PWREN_NW_BLADE0_EN_N 0
24set_gpio PWREN_NW_BLADE1_EN_N 0
25set_gpio PWREN_NW_BLADE2_EN_N 0
26set_gpio PWREN_NW_BLADE3_EN_N 0
27set_gpio PWREN_NW_BLADE4_EN_N 0
28set_gpio PWREN_NW_BLADE5_EN_N 0
29
30set_gpio PWREN_MTIA_BLADE0_HSC_EN_N 0
31set_gpio PWREN_MTIA_BLADE1_HSC_EN_N 0
32set_gpio PWREN_MTIA_BLADE2_HSC_EN_N 0
33set_gpio PWREN_MTIA_BLADE3_HSC_EN_N 0
34set_gpio PWREN_MTIA_BLADE4_HSC_EN_N 0
35set_gpio PWREN_MTIA_BLADE5_HSC_EN_N 0
36set_gpio PWREN_MTIA_BLADE6_HSC_EN_N 0
37set_gpio PWREN_MTIA_BLADE7_HSC_EN_N 0
38set_gpio PWREN_MTIA_BLADE8_HSC_EN_N 0
39set_gpio PWREN_MTIA_BLADE9_HSC_EN_N 0
40set_gpio PWREN_MTIA_BLADE10_HSC_EN_N 0
41set_gpio PWREN_MTIA_BLADE11_HSC_EN_N 0
42set_gpio PWREN_MTIA_BLADE12_HSC_EN_N 0
43set_gpio PWREN_MTIA_BLADE13_HSC_EN_N 0
44set_gpio PWREN_MTIA_BLADE14_HSC_EN_N 0
45set_gpio PWREN_MTIA_BLADE15_HSC_EN_N 0
46
47set_gpio PWREN_NW_BLADE0_HSC_EN_N 0
48set_gpio PWREN_NW_BLADE1_HSC_EN_N 0
49set_gpio PWREN_NW_BLADE2_HSC_EN_N 0
50set_gpio PWREN_NW_BLADE3_HSC_EN_N 0
51set_gpio PWREN_NW_BLADE4_HSC_EN_N 0
52set_gpio PWREN_NW_BLADE5_HSC_EN_N 0
53
54set_gpio PWREN_FCB_TOP_L_EN_N 0
55set_gpio PWREN_FCB_TOP_R_EN_N 0
56set_gpio PWREN_FCB_MIDDLE_L_EN_N 0
57set_gpio PWREN_FCB_MIDDLE_R_EN_N 0
58set_gpio PWREN_FCB_BOTTOM_L_EN_N 0
59set_gpio PWREN_FCB_BOTTOM_R_EN_N 0
60
61set_gpio FM_CMM_AC_CYCLE_N 1
62
63# if MGMT_SFP_PRSNT_N = 0 -> MGMT_SFP_TX_DIS = 0
64# if MGMT_SFP_PRSNT_N = 1 -> MGMT_SFP_TX_DIS = 1
65MGMT_SFP_PRSNT_N_VALUE=$(get_gpio MGMT_SFP_PRSNT_N)
66if [ "$MGMT_SFP_PRSNT_N_VALUE" = "0" ]; then
67    set_gpio MGMT_SFP_TX_DIS 0
68else
69    set_gpio MGMT_SFP_TX_DIS 1
70fi
71
72set_gpio RST_I2CRST_MTIA_BLADE0_1_N 1
73set_gpio RST_I2CRST_MTIA_BLADE2_3_N 1
74set_gpio RST_I2CRST_MTIA_BLADE4_5_N 1
75set_gpio RST_I2CRST_MTIA_BLADE6_7_N 1
76set_gpio RST_I2CRST_MTIA_BLADE8_9_N 1
77set_gpio RST_I2CRST_MTIA_BLADE10_11_N 1
78set_gpio RST_I2CRST_MTIA_BLADE12_13_N 1
79set_gpio RST_I2CRST_MTIA_BLADE14_15_N 1
80set_gpio RST_I2CRST_NW_BLADE0_1_2_N 1
81set_gpio RST_I2CRST_NW_BLADE3_4_5_N 1
82
83set_gpio RST_I2CRST_FCB_N 1
84set_gpio RST_I2CRST_FCB_B_L_N 1
85set_gpio RST_I2CRST_FCB_B_R_N 1
86set_gpio RST_I2CRST_FCB_M_L_N 1
87set_gpio RST_I2CRST_FCB_M_R_N 1
88set_gpio RST_I2CRST_FCB_T_L_N 1
89set_gpio RST_I2CRST_FCB_T_R_N 1
90
91set_gpio wFM_88E6393X_BIN_UPDATE_EN_N 1
92set_gpio WATER_VALVE_CLOSED_N 0
93set_gpio BMC_READY 1
94exit 0
95