Add support for the PECI domain ID byte

The PECI driver has added support for the PECI domain ID byte by adding
it to the existing command structs.

This creates a domain-supported version of the PECI commands that adds
a parameter to set the domain_id in the command struct.

It also updates the existing functions to call the domain-supported
version with a default domain of 0 for backward compatibility.

Tested:
Confirmed that the PECI host ID byte is correctly passed to the
driver when the domain-supported APIs are used.

Signed-off-by: Jason M. Bills <jason.m.bills@intel.com>
Change-Id: If58e65d80a9ad60ff82b9fc023f83ff466e8ea8f
3 files changed
tree: c6e40a6d84acd55a875042c61c423a5cd874f835
  1. linux/
  2. service_files/
  3. .clang-format
  4. .clang-ignore
  5. CMakeLists.txt
  6. dbus_raw_peci.cpp
  7. LICENSE
  8. MAINTAINERS
  9. OWNERS
  10. peci.c
  11. peci.h
  12. peci_cmds.c
  13. README.md
README.md

libpeci

libpeci is a library that provides various APIs to interface with the IOCTLs provided by the PECI driver in the OpenBMC kernel. Currently available here:

https://github.com/openbmc/linux/blob/dev-5.4/include/uapi/linux/peci-ioctl.h

peci_cmds

This repo also includes a peci_cmds command-line utility with functions that map to the libpeci APIs. It can be used to test PECI functionality across the library, driver, and hardware.

dbus_raw_peci

This repo also includes dbus_raw_peci which provides a raw-peci daemon that exposes a raw PECI interface that is accessible over D-Bus. It can be used when an application needs to send a raw PECI command without loading the full PECI library.