tree f1374a8f91096df74c98960cefbbf7e21983d628
parent de7a1b23748d3c8c1e8212c24212850755631f63
author Potin Lai <potin.lai@quantatw.com> 1713857691 +0800
committer Potin Lai <potin.lai@quantatw.com> 1714978095 +0800

configurations: add Broadcom 100G OCP NIC

Add a new config file to support Broadcom 100G OCP NIC.

Test Results:
```
root@bmc:~# busctl introspect xyz.openbmc_project.EntityManager /xyz/openbmc_project/inventory/system/board/BRCM_OCP_NIC_FRU_27
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.AddObject                 interface -         -                                        -
.AddObject                                    method    a{sv}     -                                        -
xyz.openbmc_project.Inventory.Decorator.Asset interface -         -                                        -
.Manufacturer                                 property  s         "Broadcom"                               emits-change
.Model                                        property  s         "BRCM 100G 1P 57504 OCP Mezz"            emits-change
.PartNumber                                   property  s         "BCM957504-N1100FYT"                     emits-change
.SerialNumber                                 property  s         "N1100FY2408T002ZFG"                     emits-change
xyz.openbmc_project.Inventory.Item.Board      interface -         -                                        -
.Name                                         property  s         "BRCM OCP NIC FRU 27"                    emits-change
.Probe                                        property  s         "xyz.openbmc_project.FruDevice({\'BOARD… emits-change
.Type                                         property  s         "Board"                                  emits-change
```
```
root@bmc:~# busctl introspect xyz.openbmc_project.EntityManager /xyz/openbmc_project/inventory/system/board/BRCM_OCP_NIC_FRU_27/BRCM_OCP_NIC_FRU_27
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.EEPROM interface -         -                     -
.Address                                 property  t         80                    emits-change
.Bus                                     property  t         27                    emits-change
.Name                                    property  s         "BRCM OCP NIC FRU 27" emits-change
.Type                                    property  s         "EEPROM"              emits-change
```
```
root@bmc:~# busctl introspect xyz.openbmc_project.EntityManager /xyz/openbmc_project/inventory/system/board/BRCM_OCP_NIC_FRU_27/NIC_Temp_27
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.TMP421             interface -         -                -
.Address                                             property  t         31               emits-change
.Bus                                                 property  t         27               emits-change
.Labels                                              property  as        1 "temp2"        emits-change
.Name                                                property  s         "NIC Temp 27"    emits-change
.Name1                                               property  s         "NIC Temp 27"    emits-change
.Type                                                property  s         "TMP421"         emits-change
xyz.openbmc_project.Configuration.TMP421.Thresholds0 interface -         -                -
.Delete                                              method    -         -                -
.Direction                                           property  s         "greater than"   emits-change writable
.Index                                               property  d         2                emits-change writable
.Name                                                property  s         "upper critical" emits-change writable
.Severity                                            property  d         1                emits-change writable
.Value                                               property  d         105              emits-change writable
```

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