tree e674801a24cff14b7cec18ad2d3ff8ef85706bf5
parent fc9e7fda2bd21c5cc9afca2cef8af0f19b28dc08
author Harshit Aghera <haghera@nvidia.com> 1744029490 +0530
committer Ed Tanous <ed@tanous.net> 1745631250 +0000

configurations: Add Nvidia MCTP VDM

DBus Sensor app for GPU Temperature Sensor will use this configuration.

Tested:

Copy the configuration file on gb200nvl-obmc machine and restart the
entity-manager service.

```
root@gb200nvl-obmc:~# rm -rf /var/configuration/
root@gb200nvl-obmc:~# systemctl restart xyz.openbmc_project.EntityManager.service
```

Inventory is properly detected on gb200nvl-obmc machine.

```
root@gb200nvl-obmc:~# busctl tree xyz.openbmc_project.EntityManager
└─ /xyz
  └─ /xyz/openbmc_project
    ├─ /xyz/openbmc_project/EntityManager
    └─ /xyz/openbmc_project/inventory
      └─ /xyz/openbmc_project/inventory/system
        └─ /xyz/openbmc_project/inventory/system/board
          ├─ /xyz/openbmc_project/inventory/system/board/NVIDIA_GB200_1
          │ ├─ /xyz/openbmc_project/inventory/system/board/NVIDIA_GB200_1/NVIDIA_GB200_1_FRU
          │ └─ /xyz/openbmc_project/inventory/system/board/NVIDIA_GB200_1/NVIDIA_GB200_GPU
          └─ /xyz/openbmc_project/inventory/system/board/NVIDIA_HMC
            ├─ /xyz/openbmc_project/inventory/system/board/NVIDIA_HMC/HMC
            └─ /xyz/openbmc_project/inventory/system/board/NVIDIA_HMC/NVIDIA_HMC_FRU

root@gb200nvl-obmc:~# busctl introspect xyz.openbmc_project.EntityManager /xyz/openbmc_project/inventory/system/board/NVIDIA_GB200_1/NVIDIA_GB200_GPU
NAME                                            TYPE      SIGNATURE RESULT/VALUE       FLAGS
org.freedesktop.DBus.Introspectable             interface -         -                  -
.Introspect                                     method    -         s                  -
org.freedesktop.DBus.Peer                       interface -         -                  -
.GetMachineId                                   method    -         s                  -
.Ping                                           method    -         -                  -
org.freedesktop.DBus.Properties                 interface -         -                  -
.Get                                            method    ss        v                  -
.GetAll                                         method    s         a{sv}              -
.Set                                            method    ssv       -                  -
.PropertiesChanged                              signal    sa{sv}as  -                  -
xyz.openbmc_project.Configuration.NvidiaMctpVdm interface -         -                  -
.Name                                           property  s         "NVIDIA GB200 GPU" emits-change
.Type                                           property  s         "NvidiaMctpVdm"    emits-change
```

Change-Id: Ic317de75c890111881814a02c34f5c82b37575ab
Signed-off-by: Harshit Aghera <haghera@nvidia.com>
Signed-off-by: Deepak Kodihalli <deepak.kodihalli.83@gmail.com>
