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>
diff --git a/configurations/nvidia_gb200.json b/configurations/nvidia_gb200.json
index 3926b25..5857018 100644
--- a/configurations/nvidia_gb200.json
+++ b/configurations/nvidia_gb200.json
@@ -5,6 +5,10 @@
"Bus": "$bus",
"Name": "NVIDIA GB200 $bus + 1 % 2 FRU",
"Type": "EEPROM"
+ },
+ {
+ "Name": "NVIDIA GB200 GPU",
+ "Type": "NvidiaMctpVdm"
}
],
"Name": "NVIDIA GB200 $bus + 1 % 2",
diff --git a/schemas/exposes_record.json b/schemas/exposes_record.json
index 676e878..9bdfb28 100644
--- a/schemas/exposes_record.json
+++ b/schemas/exposes_record.json
@@ -146,6 +146,9 @@
},
{
"$ref": "firmware.json#/$defs/BIOS"
+ },
+ {
+ "$ref": "nvidia.json#/$defs/NvidiaMctpVdm"
}
]
},
diff --git a/schemas/nvidia.json b/schemas/nvidia.json
new file mode 100644
index 0000000..fbcf746
--- /dev/null
+++ b/schemas/nvidia.json
@@ -0,0 +1,20 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$defs": {
+ "NvidiaMctpVdm": {
+ "description": "Nvidia device that implements an MCTP VDM protocol to provide sensor readings - implemented in dbus-sensors",
+ "properties": {
+ "Name": {
+ "description": "A recognisable name for the device",
+ "type": "string"
+ },
+ "Type": {
+ "type": "string",
+ "const": "NvidiaMctpVdm"
+ }
+ },
+ "required": ["Name", "Type"],
+ "type": "object"
+ }
+ }
+}