Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

docs: Add PECI documentation

Add a brief overview of PECI and PECI wire interface.
The documentation also contains kernel-doc for PECI subsystem internals
and PECI CPU Driver API.

Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Acked-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Iwona Winiarska <iwona.winiarska@intel.com>
Link: https://lore.kernel.org/r/20220208153639.255278-14-iwona.winiarska@intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Iwona Winiarska and committed by
Greg Kroah-Hartman
0580565d bdcfb955

+69
+1
Documentation/index.rst
··· 138 138 scheduler/index 139 139 mhi/index 140 140 tty/index 141 + peci/index 141 142 142 143 Architecture-agnostic documentation 143 144 -----------------------------------
+16
Documentation/peci/index.rst
··· 1 + .. SPDX-License-Identifier: GPL-2.0-only 2 + 3 + ==================== 4 + Linux PECI Subsystem 5 + ==================== 6 + 7 + .. toctree:: 8 + 9 + peci 10 + 11 + .. only:: subproject and html 12 + 13 + Indices 14 + ======= 15 + 16 + * :ref:`genindex`
+51
Documentation/peci/peci.rst
··· 1 + .. SPDX-License-Identifier: GPL-2.0-only 2 + 3 + ======== 4 + Overview 5 + ======== 6 + 7 + The Platform Environment Control Interface (PECI) is a communication 8 + interface between Intel processor and management controllers 9 + (e.g. Baseboard Management Controller, BMC). 10 + PECI provides services that allow the management controller to 11 + configure, monitor and debug platform by accessing various registers. 12 + It defines a dedicated command protocol, where the management 13 + controller is acting as a PECI originator and the processor - as 14 + a PECI responder. 15 + PECI can be used in both single processor and multiple-processor based 16 + systems. 17 + 18 + NOTE: 19 + Intel PECI specification is not released as a dedicated document, 20 + instead it is a part of External Design Specification (EDS) for given 21 + Intel CPU. External Design Specifications are usually not publicly 22 + available. 23 + 24 + PECI Wire 25 + --------- 26 + 27 + PECI Wire interface uses a single wire for self-clocking and data 28 + transfer. It does not require any additional control lines - the 29 + physical layer is a self-clocked one-wire bus signal that begins each 30 + bit with a driven, rising edge from an idle near zero volts. The 31 + duration of the signal driven high allows to determine whether the bit 32 + value is logic '0' or logic '1'. PECI Wire also includes variable data 33 + rate established with every message. 34 + 35 + For PECI Wire, each processor package will utilize unique, fixed 36 + addresses within a defined range and that address should 37 + have a fixed relationship with the processor socket ID - if one of the 38 + processors is removed, it does not affect addresses of remaining 39 + processors. 40 + 41 + PECI subsystem internals 42 + ------------------------ 43 + 44 + .. kernel-doc:: include/linux/peci.h 45 + .. kernel-doc:: drivers/peci/internal.h 46 + .. kernel-doc:: drivers/peci/core.c 47 + .. kernel-doc:: drivers/peci/request.c 48 + 49 + PECI CPU Driver API 50 + ------------------- 51 + .. kernel-doc:: drivers/peci/cpu.c
+1
MAINTAINERS
··· 15117 15117 L: openbmc@lists.ozlabs.org (moderated for non-subscribers) 15118 15118 S: Supported 15119 15119 F: Documentation/devicetree/bindings/peci/ 15120 + F: Documentation/peci/ 15120 15121 F: drivers/peci/ 15121 15122 F: include/linux/peci-cpu.h 15122 15123 F: include/linux/peci.h