From patchwork Sat Dec 8 17:02:11 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Georgi Djakov X-Patchwork-Id: 153232 Delivered-To: patch@linaro.org Received: by 2002:a2e:299d:0:0:0:0:0 with SMTP id p29-v6csp1801404ljp; Sat, 8 Dec 2018 09:02:27 -0800 (PST) X-Google-Smtp-Source: AFSGD/WbB1CBnWLc4FfBAh7+hoR+sMjMqNZQjcfGxJC0CcjRQDlCOr5gK1hh+RuQqrANd71e2n1l X-Received: by 2002:a65:4646:: with SMTP id k6mr5500057pgr.153.1544288547766; Sat, 08 Dec 2018 09:02:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544288547; cv=none; d=google.com; s=arc-20160816; b=hgLNjWOpnaUO87Gb0mEgn8P2EhMtFYGSa9ebBu7/xKYRy3nY95untW6954EAX9+2A4 U4wLozvqUEN8O/9bgldALi77kEtHA+ZZ8BDfCYmTDdCGxBjTnGarEwIrrr86BMn9TkZ/ u+UW2BXqCMc9Q1AQGB+qy11pIfOwUqkQLMLKPmsWEL65b8l0rq377joD1TS53LR70C94 jEh6+gv1cJBI/CU0bbF2r9mmyhbHV9YzNz02p1kgxhGpOLsYzKo8oH3AJYx7w+3fOJGA iHXeEoIP1//kv9dnGHbG3aYJDSsaqoqJzoVUM0qcGpexCGhy75/rjy1vTa0KPNboR5tp 9MAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=uYVwTFHfIdIF1mZV76OOxHqL8mAPwlcr24Pr/3Xy1IA=; b=sKxcuw/GtK2eIKuvVg52MwU4LD1INCnSt6+Jfqql8Ka/1PZqqRZnSj4/g4S7/7yRhm xlPFHG/Qz/KI57bN1DHJm4dPuQU5rAWxvVt1wCCICCQwtGHs6xgfp2kRctEaRNrH348P CDHcx8DHBKXFvA2M84gvKQZXv2EJFTJzXEAIli23clL/b03v3KOT61Aj7CjxMzgGsbjo zoWKi5ZlKtxHmSFVSdmIDVVeX3dLRmeSBCGv7PMip+LDRKEtVqdJSn2qvIo/hvHHdeDj XwRTXIx0nxicwuO/hbqBqYLY7RXCKnKj/G+BGcSjRSLqtUKs5qo9wFqzMbdmUZWXFxVO eDpQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=HS9y9EVf; spf=pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=devicetree-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 207si6135395pfz.249.2018.12.08.09.02.27; Sat, 08 Dec 2018 09:02:27 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of devicetree-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.s=google header.b=HS9y9EVf; spf=pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=devicetree-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 S1726203AbeLHRC0 (ORCPT + 6 others); Sat, 8 Dec 2018 12:02:26 -0500 Received: from mail-wr1-f66.google.com ([209.85.221.66]:45940 "EHLO mail-wr1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726219AbeLHRC0 (ORCPT ); Sat, 8 Dec 2018 12:02:26 -0500 Received: by mail-wr1-f66.google.com with SMTP id b14so6534765wru.12 for ; Sat, 08 Dec 2018 09:02:24 -0800 (PST) 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 :mime-version:content-transfer-encoding; bh=uYVwTFHfIdIF1mZV76OOxHqL8mAPwlcr24Pr/3Xy1IA=; b=HS9y9EVfzKeMOVbRIxLLfBnvq0rZL3W67pLPJ8NUfhzMZB3GBei6SgiXy3nuNR8Qdi 9zpbM8Tg8A+Uh7RvBSv7GsomS42qtpcc9TGa1re2lSgz82OCPWf2EHIoqctxkDUqGZlM ytUJ7QrgJqbyCGDBfiSuYqZieQzCsXl4uxH3g= 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:mime-version:content-transfer-encoding; bh=uYVwTFHfIdIF1mZV76OOxHqL8mAPwlcr24Pr/3Xy1IA=; b=tRUkepXi02kWuWNeZtdhSUl/A7sijI9ge6h7gy7d4QYfFNp+Dd8mpuVuRm0Ibb8VPH TJo0+C7JmzMDZyXFuZT3lK0mo/r3a6RshvYRwFA/5M5PrmUsdXTjvdC1Fu8H8LTUMQXn 76s9L1dr/js9Jfd+kM4p0aAD5Sw1synsWrNqvJnx06jWuaUE7E1GzSY96oJfIecYSCmz fJmwDDUIzi9yWDFPD5XjFfxru+DN209Uzq/cyPTz632Votl7r5mUp31iuE6A3iCLv1rJ tebusNtTXdbd8ybtDp/x7cyY41XwOCQAdzJtdMYKRRwrLlWvAWfGKAtFSoO5wsVf3BiP 1TDw== X-Gm-Message-State: AA+aEWa3CrNYhDk3C0MclYEwrGrME97RgDAek0r4XrRM4OIQe4vjKQfR TCDDe7WBrGyahZsyxAhlGRE1rA== X-Received: by 2002:adf:ef50:: with SMTP id c16mr5041589wrp.198.1544288543299; Sat, 08 Dec 2018 09:02:23 -0800 (PST) Received: from localhost.localdomain ([212.45.67.2]) by smtp.googlemail.com with ESMTPSA id l20sm17411344wrb.93.2018.12.08.09.02.21 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 08 Dec 2018 09:02:22 -0800 (PST) From: Georgi Djakov To: gregkh@linuxfoundation.org, andy.gross@linaro.org, olof@lixom.net, arnd@arndb.de, linux-pm@vger.kernel.org Cc: rjw@rjwysocki.net, robh+dt@kernel.org, mturquette@baylibre.com, khilman@baylibre.com, vincent.guittot@linaro.org, skannan@codeaurora.org, bjorn.andersson@linaro.org, amit.kucheria@linaro.org, seansw@qti.qualcomm.com, daidavid1@codeaurora.org, evgreen@chromium.org, dianders@chromium.org, mark.rutland@arm.com, lorenzo.pieralisi@arm.com, abailon@baylibre.com, maxime.ripard@bootlin.com, thierry.reding@gmail.com, ksitaraman@nvidia.com, sanjayc@nvidia.com, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-tegra@vger.kernel.org, georgi.djakov@linaro.org Subject: [PATCH v12 2/7] dt-bindings: Introduce interconnect binding Date: Sat, 8 Dec 2018 19:02:11 +0200 Message-Id: <20181208170216.32555-3-georgi.djakov@linaro.org> X-Mailer: git-send-email 2.19.2 In-Reply-To: <20181208170216.32555-1-georgi.djakov@linaro.org> References: <20181208170216.32555-1-georgi.djakov@linaro.org> MIME-Version: 1.0 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org This binding is intended to represent the relations between interconnect controllers (providers) and consumer device nodes. It will allow creating links between consumers and interconnect paths (exposed by interconnect providers). Reviewed-by: Evan Green Signed-off-by: Georgi Djakov --- .../bindings/interconnect/interconnect.txt | 60 +++++++++++++++++++ 1 file changed, 60 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..5a3c575b387a --- /dev/null +++ b/Documentation/devicetree/bindings/interconnect/interconnect.txt @@ -0,0 +1,60 @@ +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 use case. 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 compatible string +- #interconnect-cells : number of cells in a interconnect specifier needed to + encode the interconnect node id + +Example: + + snoc: interconnect@580000 { + compatible = "qcom,msm8916-snoc"; + #interconnect-cells = <1>; + reg = <0x580000 0x14000>; + clock-names = "bus_clk", "bus_a_clk"; + clocks = <&rpmcc RPM_SMD_SNOC_CLK>, + <&rpmcc RPM_SMD_SNOC_A_CLK>; + }; + + += interconnect consumers = + +The interconnect consumers are device nodes which dynamically express their +bandwidth requirements along interconnect paths they are connected to. There +can be multiple interconnect providers on a SoC and the consumer may consume +multiple paths from different providers depending on use case and the +components it has to interact with. + +Required properties: +interconnects : Pairs of phandles and interconnect provider specifier to denote + the edge source and destination ports of the interconnect path. + +Optional properties: +interconnect-names : List of interconnect path name strings sorted in the same + order as the interconnects property. Consumers drivers will use + interconnect-names to match interconnect paths with interconnect + specifier pairs. + +Example: + + sdhci@7864000 { + ... + interconnects = <&pnoc MASTER_SDCC_1 &bimc SLAVE_EBI_CH0>; + interconnect-names = "sdhc-mem"; + };