Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp3339507pxv; Mon, 12 Jul 2021 15:13:38 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzdPMOLeFScHxNZRjAe51eI6/Dh+EKA3TsMShkuFti2WcnWqclZZuNPvuZeWOve5ln/GEnP X-Received: by 2002:a17:907:70c6:: with SMTP id yk6mr1461750ejb.42.1626128018077; Mon, 12 Jul 2021 15:13:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626128018; cv=none; d=google.com; s=arc-20160816; b=TgEjAuA/FqGBhsZ2e4uIExcm5SUoHWfpPFx/yqTV2V36q3GZ+36SMXYRS62e7pRDgf L2gJIdcsdJfxgRmjtyhIVINQvbvyTVZfEhvC1R37xbxEyIDg6aoi7RLO44vXC59KO6MV M3DaJp4wXIPC68zXDQP5EzT1q0V5EiSFwWC4suqLZW54qOqmFPAsy2c+vs3/bGKbuLwb fzXvgv1nKYqZHEAdPiAvehgyMbaOGgcTmRO3jZI6TiU6HoJTDDvoDZP8G3Mu9malY1Bt P6u0C3mLWUCNeVJns6t2/pGubOa77F/L9KmmFSS5SYak1UZIRh637bftZW5sqWEwVm/I 3fkQ== 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=ofRnUSN7qovo99UmfLe0YUvVvY4nU4MT77dSRpPYzz0=; b=NrfH/Xe6jSOBFxUtak+WdWpJyCrQUIA6FfRZHhTU+2BLD14e7gYbQUWR3LaJKyvw8L 6IBiytDmkuYSUK8IwWZipAZX+0WQkm392Wa6Q/O44vIoa7GkMpteEXTsW3G6k9njM3i5 ee4bb4xtlwxPq4Qz/kxGEd5He4jW8nlFfIrxIkjan33hKLTjZF2lT8Iiv4LxKv2fgndD nIrAevUuDCWdd69jtfKG9EL6CcbwtuYj1RJ+M6GdRLKwmumy+friiupxrdKyRYCK5fki zoZTeffK8t2F1Dy9m0vOWM4Mghx+yf6LaWMGLcRq5Rc7dHGQN8BJ40uLLmPV7Lsg8/SQ bScA== 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 3si18046128ejr.392.2021.07.12.15.13.14; Mon, 12 Jul 2021 15:13:38 -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 S233401AbhGLWOu (ORCPT + 99 others); Mon, 12 Jul 2021 18:14:50 -0400 Received: from mga04.intel.com ([192.55.52.120]:34416 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232163AbhGLWOu (ORCPT ); Mon, 12 Jul 2021 18:14:50 -0400 X-IronPort-AV: E=McAfee;i="6200,9189,10043"; a="208244010" X-IronPort-AV: E=Sophos;i="5.84,235,1620716400"; d="scan'208";a="208244010" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jul 2021 15:12:01 -0700 X-IronPort-AV: E=Sophos;i="5.84,235,1620716400"; d="scan'208";a="464414983" Received: from jzloch-mobl1.ger.corp.intel.com (HELO localhost) ([10.249.136.11]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jul 2021 15:11:55 -0700 From: Iwona Winiarska To: linux-kernel@vger.kernel.org, openbmc@lists.ozlabs.org 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, Greg Kroah-Hartman , Rob Herring , Joel Stanley , Andrew Jeffery , Jean Delvare , Guenter Roeck , 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 , Iwona Winiarska Subject: [PATCH 14/14] docs: Add PECI documentation Date: Tue, 13 Jul 2021 00:04:47 +0200 Message-Id: <20210712220447.957418-15-iwona.winiarska@intel.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210712220447.957418-1-iwona.winiarska@intel.com> References: <20210712220447.957418-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 d16da127bbdc..a596453db003 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -14519,6 +14519,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