Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp841490imm; Wed, 26 Sep 2018 07:36:59 -0700 (PDT) X-Google-Smtp-Source: ACcGV61UJT0PT49ynyO1zf6aFDJ4yzxL3KCW8dx/zYoeUEoe0+qy2cwnHwjJO73POQFiJlbC/nGu X-Received: by 2002:a17:902:28aa:: with SMTP id f39-v6mr6545285plb.150.1537972619396; Wed, 26 Sep 2018 07:36:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1537972619; cv=none; d=google.com; s=arc-20160816; b=RPP0xmanX4k8dTKT81OZtYeZ6LPWl8Zo9OA2ieskk+AbgOmBi4cCIt02GB9nPW5FeL nAnDzFKHd2XBVSOrVy1p/OZY+94NL5PhTbaGdxw9SRGREu85oy0lvWRUCPX63LyEfmoe 6kxY3DHFUQ7dRNHzMeeL2FbMyF+8vpUqe2zsiRCsVtp6E8P6repir6KkeWnLit5amGeH sb/GR7lJ2b+8y9nxRZHA8tbsoAXLn7Y1xc26uxrDohLiXi2vCteNb7q2NFphXLlOzB9D ZqcEZfwRvbqJc1uAlH5wTT9Nk/x0RZp6TbXQeSK6nqsVAQ17a+HOrN2nrC9mWOyv0bmd pGRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:mail-followup-to :message-id:subject:cc:to:from:date:dmarc-filter:dkim-signature :dkim-signature; bh=1e1ugTBkEgf0kT2UrX2YDn+RlY6fF7FiqG9FCullD0w=; b=oAEgoIc0FooMqDp4wIFZuxB0b233o4Ecx5c/4ujXHmtPIU/tVQ5uVsN2GOanBW0v97 f39KNKM9jJkih2JjfpP7v6qYtzz92+QJc9U1W2xzhqhhx73PseXZJOze1G/J8GfvUoFR hwF6ije1xpwZlvJN9MBhk97BO5BHB33CS5w2oqf5+/u9PlKXlmC8SlGpVQRc5Wk1ObIk SE1fAp8opw+TFA8z3K4DPVKXQ8NND/zFpu8NbsYtEWYeR5fbABkaP748nNPPcknmyunV 7b/LiFmMHF0R1BqROzhDRzwB1CyOdQnRUEsMAtIOIznILVPOW3kUx6hiN9yRmsizv4sS 89tQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=FQwlXdpq; dkim=pass header.i=@codeaurora.org header.s=default header.b=pKSFAMvR; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j6-v6si5524532pgb.62.2018.09.26.07.36.42; Wed, 26 Sep 2018 07:36:59 -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=@codeaurora.org header.s=default header.b=FQwlXdpq; dkim=pass header.i=@codeaurora.org header.s=default header.b=pKSFAMvR; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727512AbeIZUrz (ORCPT + 99 others); Wed, 26 Sep 2018 16:47:55 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:42806 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726915AbeIZUrz (ORCPT ); Wed, 26 Sep 2018 16:47:55 -0400 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 4FD7060B72; Wed, 26 Sep 2018 14:34:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1537972479; bh=pwYOOaqj6aC5+ihKhw/JZn1+0xD8ppIn7wUUDhj/aF0=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=FQwlXdpqdlaDniefWgSHh3A7WPwuitM9r84Ak6Dd+/iVsHFnoY6Hfq5CLWCSOHHlI tiD0zzb/exMZr83B6lY2eQsJ3Lgo74Kqf9cFy+t+SnMu/yhxJL+cjlrw2/Hq04S0eU zddg11aww1WFp3ZbJkqlHh0/+xEzdrwJYIZlqb2M= X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on pdx-caf-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=ALL_TRUSTED,BAYES_00, DKIM_INVALID,DKIM_SIGNED autolearn=no autolearn_force=no version=3.4.0 Received: from jcrouse-lnx.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: jcrouse@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 4582B6021C; Wed, 26 Sep 2018 14:34:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1537972477; bh=pwYOOaqj6aC5+ihKhw/JZn1+0xD8ppIn7wUUDhj/aF0=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=pKSFAMvRTqxvd0FWsB3KFob71FfPp4qRz86SBLLvCGakzP2cKkr+p30Ss+3q4x0yK V1ZQQjYVqi3JChjGECVx53sTe6Z9IdwIA/XQX22NvXsy8sX26OV6o85XqXBoDGheM/ GUT6NsWn+Ph/8hhrTJPh4ubi1WCLEn5Dl/NQU2A8= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 4582B6021C Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=jcrouse@codeaurora.org Date: Wed, 26 Sep 2018 08:34:33 -0600 From: Jordan Crouse To: Rob Herring Cc: Georgi Djakov , linux-pm@vger.kernel.org, gregkh@linuxfoundation.org, rjw@rjwysocki.net, 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, mark.rutland@arm.com, lorenzo.pieralisi@arm.com, abailon@baylibre.com, maxime.ripard@bootlin.com, arnd@arndb.de, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, robdclark@gmail.com Subject: Re: [PATCH v9 2/8] dt-bindings: Introduce interconnect binding Message-ID: <20180926143432.GH10761@jcrouse-lnx.qualcomm.com> Mail-Followup-To: Rob Herring , Georgi Djakov , linux-pm@vger.kernel.org, gregkh@linuxfoundation.org, rjw@rjwysocki.net, 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, mark.rutland@arm.com, lorenzo.pieralisi@arm.com, abailon@baylibre.com, maxime.ripard@bootlin.com, arnd@arndb.de, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, robdclark@gmail.com References: <20180831140151.13972-1-georgi.djakov@linaro.org> <20180831140151.13972-3-georgi.djakov@linaro.org> <20180925180215.GA12435@bogus> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180925180215.GA12435@bogus> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Sep 25, 2018 at 01:02:15PM -0500, Rob Herring wrote: > On Fri, Aug 31, 2018 at 05:01:45PM +0300, Georgi Djakov wrote: > > This binding is intended to represent the relations between the interconnect > > controllers (providers) and consumer device nodes. It will allow creating links > > between consumers and interconnect paths (exposed by interconnect providers). > > As I mentioned in person, I want to see other SoC families using this > before accepting. They don't have to be ready for upstream, but WIP > patches or even just a "yes, this works for us and we're going to use > this binding on X". > > Also, I think the QCom GPU use of this should be fully sorted out. Or > more generically how this fits into OPP binding which seems to be never > ending extended... This is a discussion I wouldn't mind having now. To jog memories, this is what I posted a few weeks ago: https://patchwork.freedesktop.org/patch/246117/ This seems like the easiest way to me to tie the frequency and the bandwidth quota together for GPU devfreq scaling but I'm not married to the format and I'll happily go a few rounds on the bikeshed if we can get something we can be happy with. Jordan > > 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..5cb7d3c8d44d > > --- /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 > > missing '.' > > > + > > +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: snoc@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 > > + specifiers. > > specifier pairs. > > > + > > +Example: > > + > > + sdhci@7864000 { > > + ... > > + interconnects = <&pnoc MASTER_SDCC_1 &bimc SLAVE_EBI_CH0>; > > + interconnect-names = "ddr"; > > + }; -- The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project