73 lines
1.7 KiB
Bash
73 lines
1.7 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
|
||
|
|
TARGET_FILE_NAME="/etc/nvme/nvme_config.json"
|
||
|
|
|
||
|
|
export_gpio() {
|
||
|
|
if [ ! -d "/sys/class/gpio/gpio$1" ]; then
|
||
|
|
echo "$1" >/sys/class/gpio/export
|
||
|
|
fi
|
||
|
|
}
|
||
|
|
|
||
|
|
for i in {0..5}
|
||
|
|
do
|
||
|
|
SLED_NVME_PCIE_EN[i]=0
|
||
|
|
for file in /sys/bus/i2c/drivers/pca953x/"$i"-0041/gpio/gpiochip*/base
|
||
|
|
do
|
||
|
|
if [ -f "$file" ]; then
|
||
|
|
GPIOCHIP_BASE="$(cat /sys/bus/i2c/drivers/pca953x/"$i"-0041/gpio/gpiochip*/base)"
|
||
|
|
SLED_NVME_PCIE_EN[i]=$((GPIOCHIP_BASE+3))
|
||
|
|
export_gpio "${SLED_NVME_PCIE_EN[i]}"
|
||
|
|
break
|
||
|
|
fi
|
||
|
|
done
|
||
|
|
done
|
||
|
|
|
||
|
|
cat > $TARGET_FILE_NAME << EOF1
|
||
|
|
{
|
||
|
|
"maxSmbusErrorRetry": 3,
|
||
|
|
"config": [
|
||
|
|
{
|
||
|
|
"NVMeDriveIndex": 1,
|
||
|
|
"NVMeDriveBusID": 0,
|
||
|
|
"NVMeDrivePwrGoodPin": ${SLED_NVME_PCIE_EN[0]}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"NVMeDriveIndex": 2,
|
||
|
|
"NVMeDriveBusID": 1,
|
||
|
|
"NVMeDrivePwrGoodPin": ${SLED_NVME_PCIE_EN[1]}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"NVMeDriveIndex": 3,
|
||
|
|
"NVMeDriveBusID": 2,
|
||
|
|
"NVMeDrivePwrGoodPin": ${SLED_NVME_PCIE_EN[2]}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"NVMeDriveIndex": 4,
|
||
|
|
"NVMeDriveBusID": 3,
|
||
|
|
"NVMeDrivePwrGoodPin": ${SLED_NVME_PCIE_EN[3]}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"NVMeDriveIndex": 5,
|
||
|
|
"NVMeDriveBusID": 4,
|
||
|
|
"NVMeDrivePwrGoodPin": ${SLED_NVME_PCIE_EN[4]}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"NVMeDriveIndex": 6,
|
||
|
|
"NVMeDriveBusID": 5,
|
||
|
|
"NVMeDrivePwrGoodPin": ${SLED_NVME_PCIE_EN[5]}
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"threshold": [
|
||
|
|
{
|
||
|
|
"criticalHigh": 68,
|
||
|
|
"criticalLow": 0,
|
||
|
|
"warningHigh": 67,
|
||
|
|
"warningLow": 1,
|
||
|
|
"maxValue": 127,
|
||
|
|
"minValue": -127
|
||
|
|
}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
|
||
|
|
EOF1
|