Received: by 2002:a05:6a10:c7c6:0:0:0:0 with SMTP id h6csp2358502pxy; Tue, 3 Aug 2021 04:40:59 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwoabYb+6ncjrYWcgtkV0MIv79jLANmXlR4JqREZVDy9SUj0m6p/rAWamkDBhgqy4RXItNH X-Received: by 2002:a17:906:cd1a:: with SMTP id oz26mr20127471ejb.101.1627990859527; Tue, 03 Aug 2021 04:40:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627990859; cv=none; d=google.com; s=arc-20160816; b=WuLJOrZvgMx2SD+kRxiArbpMCXDmqZ7xI5NQBeO4ZNRExmzwoPDr+LVcLxCzsVJgHV 3n7ap6ld/AxQtLJiSDqDioc/OTxAc4V/UO1B2QRLpsI1hxIkiN6fglzOJeYZXh3J7Lhp dfhrzvydw7E4l3C8dpI5VI4lY7dFUqI8gWapmfN2+XWVZzCCKSMOE5U/pnmiqzD3MsJs LA/TTE3f31R1xxHU3VaSSjnuJaFWIl+HhKW9bDM95E54J81quwZ5qpF0+5S0nbIx8mtK 1A+KzxEQhFHNwfKnFhFsofEF8v4TuZhUdlBjcoBxGC7wLnQS96G4hI65bUuedaByRcul vgkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=wxX0wvL0GJayqKwLIUPdTtNGDHmdxRI+nPK4Xg5po9A=; b=LTDyGz6nOIpdtl0XWIOZij4SNCqbtiNb+0Pe1h8FvGJMFrSxDjHIU1wYsGi36dRFTF ayalUN7OUyAfKCRzh4vKHi+mvIsmsBQYGgBYjnvjRsbED371/Mzr7lG2niVIGONuf2YB fm7vncoyB4mkbpYObKQJy/u1pSrHjywJxM5R/BFyKDeS0DzeZvY8xjP0KBnU2VyMnIvv vubOqZzFTIAxqGn8uFWlgR5qZ1NkVC0y3vUFjqtcaWDfvfoqeL92BzMPPqCp5bQgI00C aHUKnARK5pJG2Dq9k8v1bNPB9MPqZKDkzOvs922dVqdhHYpWOml+MV8PRpPEptEi4fI2 BQPQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id hs32si12870710ejc.619.2021.08.03.04.40.35; Tue, 03 Aug 2021 04:40:59 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234693AbhHCLi7 (ORCPT + 99 others); Tue, 3 Aug 2021 07:38:59 -0400 Received: from mga14.intel.com ([192.55.52.115]:48994 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234524AbhHCLi5 (ORCPT ); Tue, 3 Aug 2021 07:38:57 -0400 X-IronPort-AV: E=McAfee;i="6200,9189,10064"; a="213388719" X-IronPort-AV: E=Sophos;i="5.84,291,1620716400"; d="scan'208";a="213388719" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Aug 2021 04:38:46 -0700 X-IronPort-AV: E=Sophos;i="5.84,291,1620716400"; d="scan'208";a="670395217" Received: from jdanieck-mobl1.ger.corp.intel.com (HELO localhost) ([10.249.128.99]) by fmsmga005-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Aug 2021 04:38:40 -0700 From: Iwona Winiarska To: linux-kernel@vger.kernel.org, openbmc@lists.ozlabs.org, Greg Kroah-Hartman Cc: x86@kernel.org, devicetree@vger.kernel.org, linux-aspeed@lists.ozlabs.org, linux-arm-kernel@lists.infradead.org, linux-hwmon@vger.kernel.org, linux-doc@vger.kernel.org, Rob Herring , Joel Stanley , Andrew Jeffery , Jean Delvare , Guenter Roeck , Arnd Bergmann , Olof Johansson , Jonathan Corbet , Thomas Gleixner , Andy Lutomirski , Ingo Molnar , Borislav Petkov , Yazen Ghannam , Mauro Carvalho Chehab , Pierre-Louis Bossart , Tony Luck , Andy Shevchenko , Jae Hyun Yoo , Dan Williams , Randy Dunlap , Zev Weiss , David Muller , Iwona Winiarska Subject: [PATCH v2 15/15] docs: Add PECI documentation Date: Tue, 3 Aug 2021 13:31:34 +0200 Message-Id: <20210803113134.2262882-16-iwona.winiarska@intel.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210803113134.2262882-1-iwona.winiarska@intel.com> References: <20210803113134.2262882-1-iwona.winiarska@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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. Signed-off-by: Iwona Winiarska Reviewed-by: Pierre-Louis Bossart --- Documentation/index.rst | 1 + Documentation/peci/index.rst | 16 ++++++++++++ Documentation/peci/peci.rst | 48 ++++++++++++++++++++++++++++++++++++ MAINTAINERS | 1 + 4 files changed, 66 insertions(+) create mode 100644 Documentation/peci/index.rst create mode 100644 Documentation/peci/peci.rst diff --git a/Documentation/index.rst b/Documentation/index.rst index 54ce34fd6fbd..7671f2cd474f 100644 --- a/Documentation/index.rst +++ b/Documentation/index.rst @@ -137,6 +137,7 @@ needed). misc-devices/index scheduler/index mhi/index + peci/index Architecture-agnostic documentation ----------------------------------- diff --git a/Documentation/peci/index.rst b/Documentation/peci/index.rst new file mode 100644 index 000000000000..989de10416e7 --- /dev/null +++ b/Documentation/peci/index.rst @@ -0,0 +1,16 @@ +.. SPDX-License-Identifier: GPL-2.0-only + +==================== +Linux PECI Subsystem +==================== + +.. toctree:: + + peci + +.. only:: subproject and html + + Indices + ======= + + * :ref:`genindex` diff --git a/Documentation/peci/peci.rst b/Documentation/peci/peci.rst new file mode 100644 index 000000000000..a12c8e10c4a9 --- /dev/null +++ b/Documentation/peci/peci.rst @@ -0,0 +1,48 @@ +.. SPDX-License-Identifier: GPL-2.0-only + +======== +Overview +======== + +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. + +NOTE: +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. + +PECI Wire +--------- + +PECI Wire interface uses a single wire for self-clocking and data +transfer. It does not require any additional control lines - the +physical layer is a self-clocked one-wire bus signal that begins each +bit with a driven, rising edge from an idle near zero volts. The +duration of the signal driven high allows to determine whether the bit +value is logic '0' or logic '1'. PECI Wire also includes variable data +rate established with every message. + +For PECI Wire, each processor package will utilize unique, fixed +addresses within a defined range and that address should +have a fixed relationship with the processor socket ID - if one of the +processors is removed, it does not affect addresses of remaining +processors. + +PECI subsystem internals +------------------------ + +.. kernel-doc:: include/linux/peci.h + +PECI CPU Driver API +------------------- +.. kernel-doc:: include/linux/peci-cpu.h diff --git a/MAINTAINERS b/MAINTAINERS index 4861a214d9fe..c50d4d0005e3 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -14527,6 +14527,7 @@ R: Jae Hyun Yoo L: openbmc@lists.ozlabs.org (moderated for non-subscribers) S: Supported F: Documentation/devicetree/bindings/peci/ +F: Documentation/peci/ F: drivers/peci/ F: include/linux/peci-cpu.h F: include/linux/peci.h -- 2.31.1