aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Warren <swarren@nvidia.com>2016-07-19 15:14:41 -0400
committerThierry Reding <treding@nvidia.com>2016-11-18 08:33:44 -0500
commitb704ed8095ee91af5f3f7343bb3be23aae1cb26d (patch)
treefc7099112e411988758b7145780a45cee6d8951c
parentad7cb19824f41421f68bc757b3e1fba4dcde600a (diff)
dt-bindings: firmware: Allow child nodes inside the Tegra BPMP
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 <swarren@nvidia.com> Acked-by: Rob Herring <robh@kernel.org> Acked-by: Jon Hunter <jonathanh@nvidia.com> [treding@nvidia.com: renamed bpmp-i2c to i2c as per Rob] Signed-off-by: Thierry Reding <treding@nvidia.com>
-rw-r--r--Documentation/devicetree/bindings/firmware/nvidia,tegra186-bpmp.txt23
1 files changed, 23 insertions, 0 deletions
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:
38- .../reset/reset.txt 38- .../reset/reset.txt
39- <dt-bindings/reset/tegra186-reset.h> 39- <dt-bindings/reset/tegra186-reset.h>
40 40
41The BPMP implements some services which must be represented by separate nodes.
42For example, it can provide access to certain I2C controllers, and the I2C
43bindings represent each I2C controller as a device tree node. Such nodes should
44be nested directly inside the main BPMP node.
45
46Software can determine whether a child node of the BPMP node represents a device
47by checking for a compatible property. Any node with a compatible property
48represents a device that can be instantiated. Nodes without a compatible
49property may be used to provide configuration information regarding the BPMP
50itself, although no such configuration nodes are currently defined by this
51binding.
52
53The BPMP firmware defines no single global name-/numbering-space for such
54services. Put another way, the numbering scheme for I2C buses is distinct from
55the numbering scheme for any other service the BPMP may provide (e.g. a future
56hypothetical SPI bus service). As such, child device nodes will have no reg
57property, and the BPMP node will have no #address-cells or #size-cells property.
58
41The shared memory bindings for BPMP 59The shared memory bindings for BPMP
42----------------------------------- 60-----------------------------------
43 61
@@ -82,4 +100,9 @@ bpmp {
82 #clock-cells = <1>; 100 #clock-cells = <1>;
83 #power-domain-cells = <1>; 101 #power-domain-cells = <1>;
84 #reset-cells = <1>; 102 #reset-cells = <1>;
103
104 i2c {
105 compatible = "...";
106 ...
107 };
85}; 108};