tree 5dd4786905d513fc4816a84bd6b2aec0edf19658
parent 161a8ff9ac5726763fa7a794c4ed361a5245b060
author Potin Lai <potin.lai@quantatw.com> 1675833938 +0800
committer Patrick Williams <patrick@stwcx.xyz> 1678464255 +0000

meta-bletchley: phosphor-nvme: add nvme config script

In Bletchley, we use PCIE_PWR_EN pin as NVME power good pin from each
interposer board. Because PCIE_PWR_EN is form the I/O expander, it
won't have fixed GPIO pin number.

Add script to generate a nvme_config.json with correct GPIO pin number
before nvme management service start.

Tested:

- nvme_config.json generated
```
root@bletchley:~# cat /etc/nvme/nvme_config.json
{
    "config": [
        {
            "NVMeDriveIndex": 1,
            "NVMeDriveBusID": 0,
            "NVMeDrivePwrGoodPin": 779
        },
        {
            "NVMeDriveIndex": 2,
            "NVMeDriveBusID": 1,
            "NVMeDrivePwrGoodPin": 759
        },
        {
            "NVMeDriveIndex": 3,
            "NVMeDriveBusID": 2,
            "NVMeDrivePwrGoodPin": 739
        },
        {
            "NVMeDriveIndex": 4,
            "NVMeDriveBusID": 3,
            "NVMeDrivePwrGoodPin": 719
        },
        {
            "NVMeDriveIndex": 5,
            "NVMeDriveBusID": 4,
            "NVMeDrivePwrGoodPin": 699
        },
        {
            "NVMeDriveIndex": 6,
            "NVMeDriveBusID": 5,
            "NVMeDrivePwrGoodPin": 679
        }
    ],
    "threshold": [
        {
            "criticalHigh": 68,
            "criticalLow": 0,
            "warningHigh": 67,
            "warningLow": 1,
            "maxValue": 127,
            "minValue": -127
        }
    ]
}
```
- nvme sensor available (host on)
```
root@bletchley:~# busctl introspect xyz.openbmc_project.nvme.manager \
< /xyz/openbmc_project/sensors/temperature/nvme6 \
< xyz.openbmc_project.Sensor.Value
NAME                                             TYPE      SIGNATURE RESULT/VALUE                             FLAGS
xyz.openbmc_project.Sensor.Value                 interface -         -                                        -
.MaxValue                                        property  d         127                                      emits-change writable
.MinValue                                        property  d         -127                                     emits-change writable
.Unit                                            property  s         "xyz.openbmc_project.Sensor.Value.Uni... emits-change writable
.Value                                           property  d         36                                       emits-change writable
root@bletchley:~# busctl introspect xyz.openbmc_project.nvme.manager \
> /xyz/openbmc_project/sensors/temperature/nvme6 \
> xyz.openbmc_project.State.Decorator.Availability
NAME                                             TYPE      SIGNATURE RESULT/VALUE FLAGS
.Available                                       property  b         true         emits-change writable
```

- nvme sensor not available (host off)
```
root@bletchley:~# busctl introspect xyz.openbmc_project.nvme.manager \
> /xyz/openbmc_project/sensors/temperature/nvme6 \
> xyz.openbmc_project.Sensor.Value
NAME                             TYPE      SIGNATURE RESULT/VALUE                             FLAGS
.MaxValue                        property  d         127                                      emits-change writable
.MinValue                        property  d         -127                                     emits-change writable
.Unit                            property  s         "xyz.openbmc_project.Sensor.Value.Uni... emits-change writable
.Value                           property  d         -127                                     emits-change writable
root@bletchley:~# busctl introspect xyz.openbmc_project.nvme.manager \
> /xyz/openbmc_project/sensors/temperature/nvme6 \
> xyz.openbmc_project.State.Decorator.Availability
NAME                                             TYPE      SIGNATURE RESULT/VALUE FLAGS
.Available                                       property  b         false        emits-change writable
```

Signed-off-by: Potin Lai <potin.lai@quantatw.com>
Change-Id: I2cda2e5e252fdfdd66ba6f9e0ea006c425cbf43b
