facebook: ventura: add GPIODeviceDetect for cable
Add GPIODeviceDetect EM config for cables on ventura platform.
Tested:
1. Query xyz.openbmc_project.gpiopresence service
```
root@bmc:~# busctl tree xyz.openbmc_project.gpiopresence
└─ /xyz
└─ /xyz/openbmc_project
└─ /xyz/openbmc_project/GPIODeviceDetected
├─ /xyz/openbmc_project/GPIODeviceDetected/LeakPort1
├─ /xyz/openbmc_project/GPIODeviceDetected/LeakPort10
├─ /xyz/openbmc_project/GPIODeviceDetected/LeakPort11
├─ /xyz/openbmc_project/GPIODeviceDetected/LeakPort12
├─ /xyz/openbmc_project/GPIODeviceDetected/LeakPort13
├─ /xyz/openbmc_project/GPIODeviceDetected/LeakPort14
├─ /xyz/openbmc_project/GPIODeviceDetected/LeakPort15
├─ /xyz/openbmc_project/GPIODeviceDetected/LeakPort16
├─ /xyz/openbmc_project/GPIODeviceDetected/LeakPort17
├─ /xyz/openbmc_project/GPIODeviceDetected/LeakPort18
├─ /xyz/openbmc_project/GPIODeviceDetected/LeakPort19
├─ /xyz/openbmc_project/GPIODeviceDetected/LeakPort2
├─ /xyz/openbmc_project/GPIODeviceDetected/LeakPort20
├─ /xyz/openbmc_project/GPIODeviceDetected/LeakPort21
├─ /xyz/openbmc_project/GPIODeviceDetected/LeakPort22
├─ /xyz/openbmc_project/GPIODeviceDetected/LeakPort23
├─ /xyz/openbmc_project/GPIODeviceDetected/LeakPort24
├─ /xyz/openbmc_project/GPIODeviceDetected/LeakPort25
├─ /xyz/openbmc_project/GPIODeviceDetected/LeakPort26
├─ /xyz/openbmc_project/GPIODeviceDetected/LeakPort27
├─ /xyz/openbmc_project/GPIODeviceDetected/LeakPort3
├─ /xyz/openbmc_project/GPIODeviceDetected/LeakPort4
├─ /xyz/openbmc_project/GPIODeviceDetected/LeakPort5
├─ /xyz/openbmc_project/GPIODeviceDetected/LeakPort6
├─ /xyz/openbmc_project/GPIODeviceDetected/LeakPort7
└─ /xyz/openbmc_project/GPIODeviceDetected/LeakPort8
```
2. Introspect specific LeakPort path
```
root@bmc:~# busctl introspect xyz.openbmc_project.gpiopresence /xyz/openbmc_project/GPIODeviceDetected/LeakPort1
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.Inventory.Source.DevicePresence interface - - -
.Name property s "LeakPort1" emits-change writable
```
3. Show cable inventory
```
root@bmc:~# busctl tree xyz.openbmc_project.EntityManager | grep -i cable
└─ /xyz/openbmc_project/inventory/system/cable
├─ /xyz/openbmc_project/inventory/system/cable/LeakPort1
├─ /xyz/openbmc_project/inventory/system/cable/LeakPort10
├─ /xyz/openbmc_project/inventory/system/cable/LeakPort11
├─ /xyz/openbmc_project/inventory/system/cable/LeakPort12
├─ /xyz/openbmc_project/inventory/system/cable/LeakPort13
├─ /xyz/openbmc_project/inventory/system/cable/LeakPort14
├─ /xyz/openbmc_project/inventory/system/cable/LeakPort15
├─ /xyz/openbmc_project/inventory/system/cable/LeakPort16
├─ /xyz/openbmc_project/inventory/system/cable/LeakPort17
├─ /xyz/openbmc_project/inventory/system/cable/LeakPort18
├─ /xyz/openbmc_project/inventory/system/cable/LeakPort19
├─ /xyz/openbmc_project/inventory/system/cable/LeakPort2
├─ /xyz/openbmc_project/inventory/system/cable/LeakPort20
├─ /xyz/openbmc_project/inventory/system/cable/LeakPort21
├─ /xyz/openbmc_project/inventory/system/cable/LeakPort22
├─ /xyz/openbmc_project/inventory/system/cable/LeakPort23
├─ /xyz/openbmc_project/inventory/system/cable/LeakPort24
├─ /xyz/openbmc_project/inventory/system/cable/LeakPort25
├─ /xyz/openbmc_project/inventory/system/cable/LeakPort26
├─ /xyz/openbmc_project/inventory/system/cable/LeakPort27
├─ /xyz/openbmc_project/inventory/system/cable/LeakPort3
├─ /xyz/openbmc_project/inventory/system/cable/LeakPort4
├─ /xyz/openbmc_project/inventory/system/cable/LeakPort5
├─ /xyz/openbmc_project/inventory/system/cable/LeakPort6
├─ /xyz/openbmc_project/inventory/system/cable/LeakPort7
└─ /xyz/openbmc_project/inventory/system/cable/LeakPort8
```
4. Redfish cable inventory -
```
{
"@odata.id": "/redfish/v1/Cables",
"@odata.type": "#CableCollection.CableCollection",
"Description": "Collection of Cable Entries",
"Members": [
{
"@odata.id": "/redfish/v1/Cables/LeakPort1"
},
{
"@odata.id": "/redfish/v1/Cables/LeakPort2"
},
{
"@odata.id": "/redfish/v1/Cables/LeakPort3"
},
...
...
{
"@odata.id": "/redfish/v1/Cables/LeakPort27"
}
],
"Members@odata.count": 26,
"Name": "Cable Collection"
}
```
5. Redfish query specific cable -
```
{
"@odata.id": "/redfish/v1/Cables/LeakPort1",
"@odata.type": "#Cable.v1_0_0.Cable",
"Id": "LeakPort1",
"Name": "Cable",
"Status": {
"State": "Enabled"
}
}
```
Change-Id: I473b9b47e65511a81cc0aa9fd64e84d16dec093e
Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>
diff --git a/configurations/meson.build b/configurations/meson.build
index 4e769c0..6a3ffd7 100644
--- a/configurations/meson.build
+++ b/configurations/meson.build
@@ -105,6 +105,7 @@
'meta/minerva_tahan_smb.json',
'meta/terminus_2x100g_nic_tsff.json',
'meta/twinlake.json',
+ 'meta/ventura_cable.json',
'meta/ventura_fanboard_adc_max.json',
'meta/ventura_fanboard_adc_tic.json',
'meta/ventura_ioboard.json',