[PATCH v4 05/29] dt-bindings: bus: Add simple-platform-bus

Herve Codina
2025-10-15T07:17:06Z

A Simple Platform Bus is a transparent bus that doesn't need a specific
driver to perform operations at bus level.

Similar to simple-bus, a Simple Platform Bus allows to automatically
instantiate devices connected to this bus.

Those devices are instantiated only by the Simple Platform Bus probe
function itself.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
---
.../bindings/bus/simple-platform-bus.yaml | 50 +++++++++++++++++++
1 file changed, 50 insertions(+)
create mode 100644 Documentation/devicetree/bindings/bus/simple-platform-bus.yaml

diff --git a/Documentation/devicetree/bindings/bus/simple-platform-bus.yaml b/Documentation/devicetree/bindings/bus/simple-platform-bus.yaml
new file mode 100644
index 000000000000..47f0b4e13c2f
--- /dev/null
+++ b/Documentation/devicetree/bindings/bus/simple-platform-bus.yaml
@@ -0,0 +1,50 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/bus/simple-platform-bus.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Simple Platform Bus
+
+maintainers:
+ - Herve Codina <herve.codina@bootlin.com>
+
+description: |
+ A Simple Platform Bus is a transparent bus that doesn't need a specific
+ driver to perform operations at bus level.
+
+ Similar to simple-bus, a Simple Platform Bus allows to automatically
+ instantiate devices connected to this bus. Those devices are instantiated
+ only by the Simple Platform Bus probe function itself.
+
+properties:
+ $nodename:
+ pattern: "^bus(@[0-9a-f]+)?$"
+
+ compatible:
+ const: simple-platform-bus
+
+ '#address-cells':
+ enum: [ 1, 2 ]
+
+ '#size-cells':
+ enum: [ 1, 2 ]
+
+ ranges: true
+
+required:
+ - compatible
+ - '#address-cells'
+ - '#size-cells'
+
+additionalProperties: false
+
+examples:
+ - |
+
+ bus {
+ compatible = "simple-platform-bus";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ };
--
2.51.0