summaryrefslogtreecommitdiff
path: root/meta-facebook/meta-bletchley/recipes-phosphor/sensors/phosphor-nvme/nvme-json-rewrite
blob: d30ed89d1849a29ce57106dac2c6754cd17a56dc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#!/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