Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b704ed80 authored by Stephen Warren's avatar Stephen Warren Committed by Thierry Reding
Browse files

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: default avatarStephen Warren <swarren@nvidia.com>
Acked-by: default avatarRob Herring <robh@kernel.org>
Acked-by: default avatarJon Hunter <jonathanh@nvidia.com>
[treding@nvidia.com: renamed bpmp-i2c to i2c as per Rob]
Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
parent ad7cb198
Loading
Loading
Loading
Loading
+23 −0
Original line number Diff line number Diff line
@@ -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
-----------------------------------

@@ -82,4 +100,9 @@ bpmp {
	#clock-cells = <1>;
	#power-domain-cells = <1>;
	#reset-cells = <1>;

	i2c {
		compatible = "...";
		...
	};
};