Document STM32 System Bus. This bus is intended to control firewall
access for the peripherals connected to it.
Signed-off-by: Gatien Chevallier <[email protected]>
Signed-off-by: Loic PALLARDY <[email protected]>
---
Changes in V2:
- Corrected errors highlighted by Rob's robot
- Re-ordered Signed-off-by tags
.../devicetree/bindings/bus/st,sys-bus.yaml | 88 +++++++++++++++++++
1 file changed, 88 insertions(+)
create mode 100644 Documentation/devicetree/bindings/bus/st,sys-bus.yaml
diff --git a/Documentation/devicetree/bindings/bus/st,sys-bus.yaml b/Documentation/devicetree/bindings/bus/st,sys-bus.yaml
new file mode 100644
index 000000000000..d246fbdd6dea
--- /dev/null
+++ b/Documentation/devicetree/bindings/bus/st,sys-bus.yaml
@@ -0,0 +1,88 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/bus/st,sys-bus.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: STM32 System Bus
+
+description: |
+ The STM32 System Bus is an internal bus to which some internal peripherals
+ are connected. STM32 System Bus integrates a firewall controlling access to each
+ device. This bus prevents non-accessible devices to be probed.
+
+ To see which peripherals are securable, please check the SoC reference manual.
+
+maintainers:
+ - Gatien Chevallier <[email protected]>
+
+allOf:
+ - $ref: /schemas/feature-controllers/feature-domain-controller.yaml#
+
+properties:
+ compatible:
+ enum:
+ - st,stm32mp13-sys-bus
+ - st,stm32mp15-sys-bus
+
+ reg:
+ maxItems: 1
+
+ "#address-cells":
+ const: 1
+
+ "#size-cells":
+ const: 1
+
+ '#feature-domain-cells':
+ minimum: 1
+
+ ranges: true
+
+ feature-domain-controller: true
+
+patternProperties:
+ "^.*@[0-9a-f]+$":
+ description: Devices attached to system bus
+ type: object
+ properties:
+ feature-domains:
+ $ref: /schemas/feature-controllers/feature-domain-controller.yaml#/properties/feature-domains
+
+required:
+ - compatible
+ - reg
+ - "#address-cells"
+ - "#size-cells"
+ - feature-domain-controller
+ - '#feature-domain-cells'
+ - ranges
+
+additionalProperties: false
+
+examples:
+ - |
+ // In this example,
+ // - the foo1 device refers to etzpc as his domain controller.
+ // - same goes for foo2.
+ // Access rights are verified before creating devices.
+
+ etzpc: etzpc@5c007000 {
+ compatible = "st,stm32mp15-sys-bus";
+ reg = <0x5c007000 0x400>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ feature-domain-controller;
+ #feature-domain-cells = <1>;
+
+ foo1: foo@1000000 {
+ reg = <0x0 0x1000000>;
+ feature-domains = <&etzpc 0>;
+ };
+
+ foo2: foo@2000000 {
+ reg = <0x0 0x2000000>;
+ feature-domains = <&etzpc 0>;
+ };
+ };
--
2.25.1