From patchwork Wed Jan 16 16:10:57 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Georgi Djakov X-Patchwork-Id: 155720 Delivered-To: patch@linaro.org Received: by 2002:a02:48:0:0:0:0:0 with SMTP id 69csp835669jaa; Wed, 16 Jan 2019 08:11:16 -0800 (PST) X-Google-Smtp-Source: ALg8bN7v04ykjDm/kC0gPrPki2jABE5+yjZwOE+YqfT/6yrHyMydUHD1i8FyAii+74S6foyxCGIP X-Received: by 2002:a62:de06:: with SMTP id h6mr10825753pfg.158.1547655076892; Wed, 16 Jan 2019 08:11:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1547655076; cv=none; d=google.com; s=arc-20160816; b=DAcZE2Y6JFTm3/+iwQtocpM2i1d3RoqFpEPGgXCV8ugc9iaU65jYYWTso5EntvQy0p mDMaaXJ7qyRVA0kApqvcGk4+4doGV7c7y9/ybgLsUhyemopfdPv96d2xUERu45iQLbow iBga0N42beM2rkHhWAdxtKrZSrGk8ZIf3eQFuo1ToHAm5Cy7ewwvgG+MubipJLCaaYfM mXeUYr21Ymhd2yCWpkrRA21zQ3rwnOWJGLSpEhzQDz8Nt2iHl0Yjt0yHJtojHI//ZE8Q gnQcxcYe6RBewV6im6Jxa/HZ+S0Hlu52d3oWk3kDbCRMdL/u3ZGUvwzOgE+kT80E2SMM Migg== 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=Zq2oMbbyivDSUeOMLU6UgVaZMPHzfeEtdH+iJhaQzFI=; b=GKRzhk6f7P7w1cWr7iK+KUYZsyQjGAqauJBktCxRzfOSLo0OcyAr+PUjVfhql1hwW3 N58J9XWHxxEuomN3hy7hg4Ky6ArRG/60GnZhTmZLc7RN34PHaJvxPM0uWKveoKHkt+Tk B/VDWaD4GiVWMoc27pSfD8mOsLAm9/0ONXFYx62YXEREZHYUaqPmvUsbO6F6m3Kf+/i+ cYxQ2YR0SwZpmRQ4QD/7RSauYrs8+dxbyQpXGsa5hyDZxgCn7JGm01WrCgxP97cvFMEn oZz5OQoZb161DkoO36QbEYJQWPoDcbuljqNC2eV85TMLDE5Xi7cCvQUm/vYkWF9/p7nN md+w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Bz6AnpAO; spf=pass (google.com: best guess record for domain of linux-pm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-pm-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 j22si6537425pfi.252.2019.01.16.08.11.16; Wed, 16 Jan 2019 08:11:16 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-pm-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=Bz6AnpAO; spf=pass (google.com: best guess record for domain of linux-pm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-pm-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 S2405194AbfAPQLP (ORCPT + 11 others); Wed, 16 Jan 2019 11:11:15 -0500 Received: from mail-wm1-f66.google.com ([209.85.128.66]:54318 "EHLO mail-wm1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2405185AbfAPQLN (ORCPT ); Wed, 16 Jan 2019 11:11:13 -0500 Received: by mail-wm1-f66.google.com with SMTP id a62so2580366wmh.4 for ; Wed, 16 Jan 2019 08:11:12 -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=Zq2oMbbyivDSUeOMLU6UgVaZMPHzfeEtdH+iJhaQzFI=; b=Bz6AnpAOC1LWp7HIBwDPW+c8rI8rUIahEAzNe0cf4f9UbL5QjWiz+9EPB6M8Nomzlh oaHmJRLfPCL9PHQSBM4L1e4f9TLFbjrjJ5tOTWBpDhIWOBhONvm1Y4f1pdYJZBm1cCCg KNQiq/we5MfhtJ2paVJvkrEDQx1ztjjFkjxHg= 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=Zq2oMbbyivDSUeOMLU6UgVaZMPHzfeEtdH+iJhaQzFI=; b=ID9Ao91IEM8c2Ha3ZSsLzDlvUuixyfENTQk/Gcs0xIKAJGUagE9n7ROiOJrYtACUvg gSOTV7id7/rzsPJ+gqRQjqqDljNb+EWYUm1dnVa5YvzKvTSG8HppajcYWfXfSdwmDGpY LschnHdz3XAYOnUoXZnReYM/p66mtx/Ki2mfcqeX73cvptUUYO3lqQ4acUK3NLdspP4s sjkabGRduzscOwGD314yY9eMKyUdUjGCnDWQlk90rJ5sZVxXETeVGSWCYq6MiSem7ngC HMXjheLQcuWx6pcW+ZKEZ5usErIO2WxBjeweolaXnH5y5BeSYRgcNOvgHXQhaIxg9uHA Y66g== X-Gm-Message-State: AJcUukd6hewGfZbmoQCKsNACCrX8apEGcIIQdlLLqcqR8uaTrXM9A9lM p4/7YAmwJYsxWZTQ5OLJfWBswg== X-Received: by 2002:a1c:d1cd:: with SMTP id i196mr7978630wmg.107.1547655071506; Wed, 16 Jan 2019 08:11:11 -0800 (PST) Received: from localhost.localdomain ([212.45.67.2]) by smtp.googlemail.com with ESMTPSA id a17sm78193407wrs.58.2019.01.16.08.11.09 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 16 Jan 2019 08:11:10 -0800 (PST) From: Georgi Djakov To: gregkh@linuxfoundation.org Cc: andy.gross@linaro.org, olof@lixom.net, arnd@arndb.de, 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, abailon@baylibre.com, maxime.ripard@bootlin.com, thierry.reding@gmail.com, ksitaraman@nvidia.com, sanjayc@nvidia.com, henryc.chen@mediatek.com, linux-pm@vger.kernel.org, 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, linux-mediatek@lists.infradead.org, georgi.djakov@linaro.org Subject: [PATCH v13 2/8] dt-bindings: Introduce interconnect binding Date: Wed, 16 Jan 2019 18:10:57 +0200 Message-Id: <20190116161103.6937-3-georgi.djakov@linaro.org> X-Mailer: git-send-email 2.19.2 In-Reply-To: <20190116161103.6937-1-georgi.djakov@linaro.org> References: <20190116161103.6937-1-georgi.djakov@linaro.org> MIME-Version: 1.0 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@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 Reviewed-by: Rob Herring 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"; + };