From patchwork Tue Jun 27 17:49:03 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Georgi Djakov X-Patchwork-Id: 106462 Delivered-To: patch@linaro.org Received: by 10.140.101.44 with SMTP id t41csp48013qge; Tue, 27 Jun 2017 10:49:44 -0700 (PDT) X-Received: by 10.99.126.66 with SMTP id o2mr6406984pgn.36.1498585784639; Tue, 27 Jun 2017 10:49:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1498585784; cv=none; d=google.com; s=arc-20160816; b=ooF8BUsJhzTGpjKjYHsrOllEFYBQ5Ppm7MWVeN1Frvk/MBR4aqGQL7WHLgJ3MLed+P rRjGN30ViomdM980f9d1CKSxc3db9njCuCnfly+P2IwlmrOO9tuj1ssUXhKy5oIphShM PXYd1wMP9oULUJ+/E3aM446sRyk6CaH3wqvAEPdj5vsMR7kQKONeceljAFbvVe2B+WG4 FKCsDCh4MhLEFrGXqYce972k5acjH9mE0RzRcdpBRHeldYmPoHEx0AtStQ2fw69F9KP0 +tLlAFLryt/Eg4eSqxbGQ8uFMiAyedG6+ujky7Hz4jnLIDxexFHL+M1LI7pVwwCLrGxW 0e0w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=rY8s3532ufsD/QZ9NHY3Glb0s09VglHhB9TSrvqyMRM=; b=qYr0XI0vR6p48TeaKLaHkg/USnyBGe4+4qs9HwwE9LMKLZi5OGgJeRWBNNx8P/JYRM FnnIsJHYK/0fzhuGt9t6PqH/yyLe22BWtctlHEZQi/vZXexCBZCAszt5/9a9GMYrklTi q7GsZy6Jec6sYNDLd85F4BbMOV0libNpZ3uMoW3QSdk8CEgZJ/KLmV22qmaty6JoGgrA HmoEBo/TMt9wm9w98xLVX9epIZw7atTWZpsXgeolRegl7YcsfmBrYGv5NEZBPIZ2aerD Lvgr95R1A40IbALctn+v6XGfNBhm7C3JdRl2ikmHq9C+ZK6SDFK1U6DCHY0P2S6mf5oF h70w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.b=Icp5qDzi; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id u127si2273060pgb.535.2017.06.27.10.49.44; Tue, 27 Jun 2017 10:49:44 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.b=Icp5qDzi; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753335AbdF0Rtc (ORCPT + 25 others); Tue, 27 Jun 2017 13:49:32 -0400 Received: from mail-wm0-f41.google.com ([74.125.82.41]:38830 "EHLO mail-wm0-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753252AbdF0RtO (ORCPT ); Tue, 27 Jun 2017 13:49:14 -0400 Received: by mail-wm0-f41.google.com with SMTP id b184so34512994wme.1 for ; Tue, 27 Jun 2017 10:49:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=rY8s3532ufsD/QZ9NHY3Glb0s09VglHhB9TSrvqyMRM=; b=Icp5qDziUK5wZr8edxosLnDOphHQMcJHMjg+brwSkwjJtQ4vHDH+pO74lZuPKpmNjc KiHTXqX+6/kgSaE9nEdpg1DhE9NseGwGTQTn0BYXthXAtnZ+9GLyzg1kHbXlo/BgNZsK THe+cmBOFqKrlRM6L79UnwzI4vH0zpNNyfFCs= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=rY8s3532ufsD/QZ9NHY3Glb0s09VglHhB9TSrvqyMRM=; b=sjOZa2I0fkvkI2j5qYPfasn+wKVAb10AYQhM1SY+TtJrFOUMY+XS5SQGDX2HAh7WjT H3gyTchSOPKjP+LjBZ26ordgLtexRL/OgWvyeUgPXU8YO7YZKBF42o4QSfScdadU4O5/ G+IgS5Z8JNiER2y4iUYURQu+5WuQ4ZXbivIigwr7G1VCFWAmUQ+vWIaQ5KS0j8KxqqFg bv+jv29YFJAP0JMKmyHgP6OWRioXjB4rwW70DwW0DPes/SS3o4mLl+z0oqD2gwiE9Sel jbC7rr4fH/M8Zg0mnUp0ZVtm7uO4+AgzLudu4ErxuMvw7JorX1rvea8MV2Cqw9nlJQW7 CYDw== X-Gm-Message-State: AKS2vOx7o4CTYw4mOhiu2dGmyCgqESurnNFhkGe5Hycqav9NZcP6NJPV BVRFx2aL0WVY+Fy8 X-Received: by 10.28.4.135 with SMTP id 129mr4398567wme.69.1498585752323; Tue, 27 Jun 2017 10:49:12 -0700 (PDT) Received: from mms-0441.qualcomm.mm-sol.com ([212.45.67.2]) by smtp.googlemail.com with ESMTPSA id 92sm27625244wrb.55.2017.06.27.10.49.10 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 27 Jun 2017 10:49:11 -0700 (PDT) From: Georgi Djakov To: linux-pm@vger.kernel.org, rjw@rjwysocki.net Cc: robh+dt@kernel.org, khilman@baylibre.com, mturquette@baylibre.com, gregkh@linuxfoundation.org, vincent.guittot@linaro.org, skannan@codeaurora.org, sboyd@codeaurora.org, andy.gross@linaro.org, seansw@qti.qualcomm.com, davidai@quicinc.com, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, georgi.djakov@linaro.org Subject: [PATCH v1 3/3] dt-bindings: Interconnect device-tree bindings draft Date: Tue, 27 Jun 2017 20:49:03 +0300 Message-Id: <20170627174903.27978-4-georgi.djakov@linaro.org> X-Mailer: git-send-email 2.13.0 In-Reply-To: <20170627174903.27978-1-georgi.djakov@linaro.org> References: <20170627174903.27978-1-georgi.djakov@linaro.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The interconnect API is not yet using DT bindings for expressing the relations between the API consumers and providers. This is posted a separate patch as it needs further discussions on how to represent this with DT. Signed-off-by: Georgi Djakov --- .../bindings/interconnect/interconnect.txt | 75 ++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 Documentation/devicetree/bindings/interconnect/interconnect.txt diff --git a/Documentation/devicetree/bindings/interconnect/interconnect.txt b/Documentation/devicetree/bindings/interconnect/interconnect.txt new file mode 100644 index 000000000000..e38a29db981e --- /dev/null +++ b/Documentation/devicetree/bindings/interconnect/interconnect.txt @@ -0,0 +1,75 @@ +Interconnect Provider Device Tree Bindings +========================================= + +The purpose of this document is to define a common set of generic interconnect +providers/consumers properties. + + += interconnect providers = + +The interconnect provider binding is intended to represent the interconnect +controllers in the system. Each provider registers a set of interconnect +nodes, which expose the interconnect related capabilities of the interconnect +to consumer drivers. These capabilities can be throughput, latency, priority +etc. The consumer drivers set constraints on interconnect path (or endpoints) +depending on the usecase. Interconnect providers can also be interconnect +consumers, such as in the case where two network-on-chip fabrics interface +directly + +Required properties: +- compatible : contains the interconnect provider vendor specific compatible + string +- reg : register space of the interconnect controller hardware +- #interconnect-cells : number of cells in a interconnect specifier needed to + encode the interconnect node id. + +Example: + + snoc: snoc@0580000 { + compatible = "qcom,msm-bus-snoc"; + reg = <0x580000 0x14000>; + #interconnect-cells = <1>; + clock-names = "bus_clk", "bus_a_clk"; + clocks = <&rpmcc RPM_SMD_SNOC_CLK>, <&rpmcc RPM_SMD_SNOC_A_CLK>; + status = "okay"; + }; + bimc: bimc@0400000 { + compatible = "qcom,msm-bus-bimc"; + reg = <0x400000 0x62000>; + #interconnect-cells = <1>; + clock-names = "bus_clk", "bus_a_clk"; + clocks = <&rpmcc RPM_SMD_BIMC_CLK>, <&rpmcc RPM_SMD_BIMC_A_CLK>; + status = "okay"; + }; + pnoc: pnoc@500000 { + compatible = "qcom,msm-bus-pnoc"; + reg = <0x500000 0x11000>; + #interconnect-cells = <1>; + clock-names = "bus_clk", "bus_a_clk"; + clocks = <&rpmcc RPM_SMD_PCNOC_CLK>, <&rpmcc RPM_SMD_PCNOC_A_CLK>; + status = "okay"; + }; + += interconnect consumers = + +The interconnect consumers are device nodes which consume the interconnect +path(s) provided by the interconnect provider. There can be multiple +interconnect providers on a SoC and the consumer may consume multiple paths +from different providers depending on usecase and the components it has to +interact with. + +Required-properties: +interconnect-src : A phandle and interconnect provider specifier as defined by + bindings of the interconnect provider specified by phandle. + This denotes the source device port which will be used, as the + device may have multiple master ports. +interconnect-dst : A phandle and internet provider specifier pointing to the + local port of the target device. + +Example: + + sdhci@07864000 { + ... + interconnect-src = <&pnoc MAS_PNOC_SDCC_2>; + interconnect-dst = <&pnoc SLV_BLSP_1>; + };