summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-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 = "...";
+ ...
+ };
};