summaryrefslogtreecommitdiff
path: root/doc/device-tree-bindings/firmware
diff options
context:
space:
mode:
authorStephen Warren <swarren@nvidia.com>2016-07-29 13:15:00 -0600
committerTom Warren <twarren@nvidia.com>2016-08-04 13:36:59 -0700
commit390ae57c762b65d40d39355858960f13f06cfcd4 (patch)
treec076347189af8c85491c4db652bb691f61def8b5 /doc/device-tree-bindings/firmware
parent7b9cb4940575f3b2d368d56ca06d3c0330af4c4b (diff)
dt-bindings: 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> Signed-off-by: Tom Warren <twarren@nvidia.com>
Diffstat (limited to 'doc/device-tree-bindings/firmware')
-rw-r--r--doc/device-tree-bindings/firmware/nvidia,tegra186-bpmp.txt23
1 files changed, 23 insertions, 0 deletions
diff --git a/doc/device-tree-bindings/firmware/nvidia,tegra186-bpmp.txt b/doc/device-tree-bindings/firmware/nvidia,tegra186-bpmp.txt
index 9a3864f569..447252e882 100644
--- a/doc/device-tree-bindings/firmware/nvidia,tegra186-bpmp.txt
+++ b/doc/device-tree-bindings/firmware/nvidia,tegra186-bpmp.txt
@@ -38,6 +38,24 @@ implemented by this node:
- .../reset/reset.txt
- <dt-bindings/reset/tegra186-reset.h>
+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
-----------------------------------
@@ -78,4 +96,9 @@ bpmp {
#clock-cells = <1>;
#power-domain-cells = <1>;
#reset-cells = <1>;
+
+ i2c {
+ compatible = "...";
+ ...
+ };
};