Intel PECI Code To Be Mainlined With Linux 5.18
Intel's Platform Environment Control Interface (PECI) dates back to the mid-2000s with Core 2 Duo processors as their thermal management standard. PECI has continued to be built upon and what this Linux kernel support happening in 2022 is for exposing the PECI interface between the CPU and baseboard management controllers (BMCs) and other platform management devices on Intel server platforms so that they can be exposed under Linux.
For years Intel has been working on this PECI code for Linux but seemingly with not much urgency. Last year they went back to working on PECI presumably to make Xeon servers better suited for the likes of OpenBMC. Now with Linux 5.18 that will reach stable around the end of May, the Intel Platform Environment Control Interface support is set to be introduced.
Greg Kroah-Hartman yesterday queued up all the PECI code into char-misc-next ahead of the Linux 5.18 merge window opening up at the end of March.
The initial batch of PECI code queued up for Linux 5.18 introduction is the core infrastructure for PECI, the peci-aspeed controller driver for use with ASpeed AST2400/AST2500/AST2600 SoCs on Xeon servers supporting a PECI interface, PECI device driver support, the peci-cpu driver for temperature monitoring and other features of the CPU along with peci-cputemp and then the dimmtemp driver for reading the system memory temperatures via PECI.
The Platform Environment Control Interface (PECI) is a communication interface between Intel processor and management controllers (e.g. Baseboard Management Controller, BMC). PECI provides services that allow the management controller to configure, monitor and debug platform by accessing various registers. It defines a dedicated command protocol, where the management controller is acting as a PECI originator and the processor - as a PECI responder. PECI can be used in both single processor and multiple-processor based systems.
Intel PECI specification is not released as a dedicated document, instead it is a part of External Design Specification (EDS) for given Intel CPU. External Design Specifications are usually not publicly available.
The above quote is from the new documentation being added to the kernel but as noted Intel does not publicly document the PECI specification in full.
So look for all this PECI code to finally go upstream with Linux 5.18 now that it has landed in char-misc-next.