Platform SW Requirements for Switch System Vendors
Version 1.0.0
Feature list
BSP Feature Requirements
- Kernel modules for accessing
- FPGA
- CPLD
- Sensors
- Power chip / Hotswap
- PSU / PEM (optional)
- Fan
- User level drivers and APIs that supports
- Accessing all Optics DOM / CMIS over I2C
- Accessing retimers / macsec over MDIO (if applicable)
- Reading and parsing all sensor values (also checks if minor / major alarms triggered)
- Reading and parsing all power monitoring values (hotswaps and VRDs)
- Reading and parsing all PSU monitoring values
- Reading/Writing and parsing all Fan RPMs and PWMs
- Power sequencing functions for
- Turning on/off or toggle reset CPU complex
- Turning on/off ASIC
- Power-cycling the whole chassis
- APIs written in C++ or linkable to C++ executables for upgrading the
following
- BIOS
- FPGA
- CPLD
- Power chip (if applicable)
- EEPROM used by control plane switch
- EEPROM for ASIC PCIE SERDES (if applicable)
- SPI FLASH for retimer / gearbox (if applicable)
- Sensor configuration that is compatible with Meta’s sensor_service
- Thermal model (configuration) that is compatible with Meta’s fan_service
BMC Requirements
- Vendor BMC image with the following features:
- Serial console access to CPU (sol.sh)
- Includes mTerm utility
- Power cycling features
- Turning on/off or toggle reset CPU complex
- Turning on/off ASIC
- Power-cycling the whole chassis
- Back-up upgrade utility for upgrading
- BIOS
- Main FPGA / CPLD for power sequencing the board
- Back-up Fan PWM access utility
- openbmc-ipmid
- Must support the SEL logging feature.
- Use platform config driven instead of using LIBPAL.
- Use KCSd as the underlying stack for system bus.
- Can communicate with X86’s ipmitool.
- FPGA supports snooping the SEL event msg. And user application to poll these data. (optional?)
- Use the fboss-github’s openbmc elbert ipmid-v2 code as a reference.
- Serial console access to CPU (sol.sh)
Release timing and SLA
BSP
- The vendor will release the initial version of BSP at or before the 1st prototype fab out
- The vendor will fix bugs found by Meta and the vendor during EVT, and release a BSP at the end of EVT
- The vendor will fix bugs found by Meta and the vendor during DVT, and release a BSP at the end of DVT
- The vendor will fix all bugs found and release a BSP at the end of EVT
BMC
- The vendor will submit BMC source code in real time, to shared private git hub repo for Meta review.
- The vendor will release the initial version of BMC at or before the 1st prototype arrival (to Meta)
- The vendor will fix bugs found by Meta and the vendor during EVT, and release a BMC at the end of EVT
- The vendor will fix all bugs and release a BMC at the end of DVT
SLA
- For urgent bugs / issues that blocks Meta’s progress, the vendor will release a patch (BSP), PR (BMC) or the new BIOS image within 4 business days.
- For less urgent bugs and issues, the vendor will release a patch (BSP), PR (BMC) or the new BIOS image within 8 business days.