From patchwork Tue Nov 15 16:04:52 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thierry Reding X-Patchwork-Id: 695102 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3tJC0C4CFdz9syB for ; Wed, 16 Nov 2016 03:05:15 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="HSZz/6io"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751665AbcKOQFP (ORCPT ); Tue, 15 Nov 2016 11:05:15 -0500 Received: from mail-pg0-f68.google.com ([74.125.83.68]:35036 "EHLO mail-pg0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750998AbcKOQFO (ORCPT ); Tue, 15 Nov 2016 11:05:14 -0500 Received: by mail-pg0-f68.google.com with SMTP id p66so12178586pga.2 for ; Tue, 15 Nov 2016 08:05:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=D7/wG8/qdWtlKJcjzYl+botYrvrX+9pS5KDkAaWKA0k=; b=HSZz/6iomQmesr7dG1/v19RntW1moPzqyMhD75+k8DT7msY2mH1n/J1p8dHMX3fo9z 7xflx6m3rUNgYJJ+ryROzRrlxu9U3zDYihQ2XSyPGoQ7Uk4G2aEV9YI2Rdz9rmwvHcX3 6iwBSY6J9RuGV2sXeAR9vFHXNjneCmjek556rgs0KUqlaNP1GOSv9JPt4zsvx3uRFBLA wrM9mYOAo9mFNrhlmNfYLkeZfNnMWWa3m/0R4/xWgbSY5T1k4LtSZ3OA+0CaE2ICtVnm BiXxR1hTPy7/OhqYrMF1MnN6WVCkeyEbyQfL2M2lci4V+dpnURCHl+zRle/TjFgvaAgQ v+RA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=D7/wG8/qdWtlKJcjzYl+botYrvrX+9pS5KDkAaWKA0k=; b=G1oP0n2/xBP7hhHeNwAw9lwfeTwbp0I8RrTQM+aMDlj9ftYnVOXrRzuvLhzZfToE82 Ie382Vpe2FGZlpFhkLR/D6y2AezESBCfko+oH7QSIodQapvEfbisZ4bu8UGFDAXpoyFl eCWoHMMM/oe1/z+ovaZSNNPhgT+t/f29QM+nbLp7mk39zwqcVnq1zcZqOr2dC5fATW0t 0Ma/9q0TtzCQ6MztL9zWoBVQvKhD581RYDfR4epDEHxmwX355BbSHtCg1joluYDd96az 0nSm1IbZwdsoDCvkwuy2Cbi68v4CoaNsxKGtaQbMsF8XpW2v4ot6OAeQFhbyRY/CBbGx y3Sw== X-Gm-Message-State: ABUngvdJhwIQuY1NvJ3IdzvSdj4J9qlK8Y3nPoL3/Q5gqILGxlYrmHCc5GynaT65SOXy7g== X-Received: by 10.98.220.157 with SMTP id c29mr47765239pfl.29.1479225913802; Tue, 15 Nov 2016 08:05:13 -0800 (PST) Received: from localhost (port-11995.pppoe.wtnet.de. [84.46.47.10]) by smtp.gmail.com with ESMTPSA id m66sm14013134pfm.3.2016.11.15.08.05.12 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 15 Nov 2016 08:05:13 -0800 (PST) From: Thierry Reding To: Thierry Reding Cc: Stephen Warren , Alexandre Courbot , Jon Hunter , Joseph Lo , linux-tegra@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v4 5/5] dt-bindings: firmware: Allow child nodes inside the Tegra BPMP Date: Tue, 15 Nov 2016 17:04:52 +0100 Message-Id: <20161115160452.27183-6-thierry.reding@gmail.com> X-Mailer: git-send-email 2.10.2 In-Reply-To: <20161115160452.27183-1-thierry.reding@gmail.com> References: <20161115160452.27183-1-thierry.reding@gmail.com> Sender: linux-tegra-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-tegra@vger.kernel.org From: Stephen Warren The BPMP implements some services which must be represented by separate nodes. For example, it can provide access to certain I2C controllers, and the I2C bindings represent each I2C controller as a device tree node. Update the binding to describe how the BPMP supports this. Signed-off-by: Stephen Warren Acked-by: Rob Herring Acked-by: Jon Hunter [treding@nvidia.com: renamed bpmp-i2c to i2c as per Rob] Signed-off-by: Thierry Reding --- .../bindings/firmware/nvidia,tegra186-bpmp.txt | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/Documentation/devicetree/bindings/firmware/nvidia,tegra186-bpmp.txt b/Documentation/devicetree/bindings/firmware/nvidia,tegra186-bpmp.txt index 0d3fef423c48..e821e16ad65b 100644 --- a/Documentation/devicetree/bindings/firmware/nvidia,tegra186-bpmp.txt +++ b/Documentation/devicetree/bindings/firmware/nvidia,tegra186-bpmp.txt @@ -38,6 +38,24 @@ implemented by this node: - .../reset/reset.txt - +The BPMP implements some services which must be represented by separate nodes. +For example, it can provide access to certain I2C controllers, and the I2C +bindings represent each I2C controller as a device tree node. Such nodes should +be nested directly inside the main BPMP node. + +Software can determine whether a child node of the BPMP node represents a device +by checking for a compatible property. Any node with a compatible property +represents a device that can be instantiated. Nodes without a compatible +property may be used to provide configuration information regarding the BPMP +itself, although no such configuration nodes are currently defined by this +binding. + +The BPMP firmware defines no single global name-/numbering-space for such +services. Put another way, the numbering scheme for I2C buses is distinct from +the numbering scheme for any other service the BPMP may provide (e.g. a future +hypothetical SPI bus service). As such, child device nodes will have no reg +property, and the BPMP node will have no #address-cells or #size-cells property. + The shared memory bindings for BPMP ----------------------------------- @@ -82,4 +100,9 @@ bpmp { #clock-cells = <1>; #power-domain-cells = <1>; #reset-cells = <1>; + + i2c { + compatible = "..."; + ... + }; };