DellEMC S6100: Determine pcie.yaml revision based on firmware (#7875)
Why I did it To determine the revision of the pcie.yaml to be used based on BIOS version in DellEMC S6100 platform. Depends on: Azure/sonic-platform-common#195 How I did it Added two revisions of pcie.yaml pcie_1.yaml and pcie_2.yaml Included a platform-specific Pcie class to provide the revision of the pcie.yaml to be used by pcieutil/pcied. How to verify it Execute pcieutil check (Azure/sonic-utilities#1672) command and verify the list of PCIe devices displayed. Logs: UT_logs.txt
This commit is contained in:
parent
c610f0c673
commit
0135ba275b
50
device/dell/x86_64-dell_s6100_c2538-r0/pcie_2.yaml
Normal file
50
device/dell/x86_64-dell_s6100_c2538-r0/pcie_2.yaml
Normal file
@ -0,0 +1,50 @@
|
||||
- bus: '00'
|
||||
dev: '01'
|
||||
fn: '0'
|
||||
id: 1f10
|
||||
name: 'PCI bridge: Intel Corporation Atom processor C2000 PCIe Root Port 1'
|
||||
- bus: '00'
|
||||
dev: '03'
|
||||
fn: '0'
|
||||
id: 1f12
|
||||
name: 'PCI bridge: Intel Corporation Atom processor C2000 PCIe Root Port 3'
|
||||
- bus: '00'
|
||||
dev: '04'
|
||||
fn: '0'
|
||||
id: 1f13
|
||||
name: 'PCI bridge: Intel Corporation Atom processor C2000 PCIe Root Port 4'
|
||||
- bus: '00'
|
||||
dev: 0f
|
||||
fn: '0'
|
||||
id: 1f16
|
||||
name: 'IOMMU: Intel Corporation Atom processor C2000 RCEC'
|
||||
- bus: '00'
|
||||
dev: '13'
|
||||
fn: '0'
|
||||
id: 1f15
|
||||
name: 'System peripheral: Intel Corporation Atom processor C2000 SMBus 2.0'
|
||||
- bus: '00'
|
||||
dev: '14'
|
||||
fn: '0'
|
||||
id: 1f41
|
||||
name: 'Ethernet controller: Intel Corporation Ethernet Connection I354'
|
||||
- bus: '00'
|
||||
dev: '14'
|
||||
fn: '1'
|
||||
id: 1f41
|
||||
name: 'Ethernet controller: Intel Corporation Ethernet Connection I354'
|
||||
- bus: '00'
|
||||
dev: '14'
|
||||
fn: '2'
|
||||
id: 1f41
|
||||
name: 'Ethernet controller: Intel Corporation Ethernet Connection I354'
|
||||
- bus: '01'
|
||||
dev: '00'
|
||||
fn: '0'
|
||||
id: b960
|
||||
name: 'Ethernet controller: Broadcom Limited Broadcom BCM56960 Switch ASIC'
|
||||
- bus: '01'
|
||||
dev: '00'
|
||||
fn: '1'
|
||||
id: b960
|
||||
name: 'Ethernet controller: Broadcom Limited Broadcom BCM56960 Switch ASIC'
|
@ -0,0 +1,29 @@
|
||||
########################################################################
|
||||
#
|
||||
# DELLEMC S6100
|
||||
#
|
||||
# Module contains a platform specific implementation of SONiC Platform
|
||||
# Base PCIe class
|
||||
#
|
||||
########################################################################
|
||||
|
||||
try:
|
||||
from sonic_platform.component import Component
|
||||
from sonic_platform_base.sonic_pcie.pcie_common import PcieUtil
|
||||
except ImportError as e:
|
||||
raise ImportError(str(e) + "- required module not found")
|
||||
|
||||
|
||||
class Pcie(PcieUtil):
|
||||
"""DellEMC Platform-specific PCIe class"""
|
||||
|
||||
def __init__(self, platform_path):
|
||||
PcieUtil.__init__(self, platform_path)
|
||||
bios = Component(component_index=0)
|
||||
bios_ver = bios.get_firmware_version()
|
||||
|
||||
versions = bios_ver.split("-")
|
||||
if (len(versions) == 2) and int(versions[1], 10) > 5:
|
||||
self._conf_rev = "2"
|
||||
else:
|
||||
self._conf_rev = "1"
|
Loading…
Reference in New Issue
Block a user