[RFC PATCH 2/7] dt-bindings: bus: add STM32 System Bus
Gatien Chevallier
gatien.chevallier at foss.st.com
Wed Dec 21 09:30:50 PST 2022
Document STM32 System Bus. This bus is intended to control firewall
access for the peripherals connected to it.
Signed-off-by: Loic PALLARDY <loic.pallardy at st.com>
Signed-off-by: Gatien Chevallier <gatien.chevallier at foss.st.com>
---
.../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..9c0e86612695
--- /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/stm32,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 <gatien.chevallier at foss.st.com>
+
+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':
+ minItems: 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 at 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 at 1000000 {
+ reg = <0x0 0x1000000>;
+ feature-domains = <&etzpc 0>;
+ };
+
+ foo2: foo at 2000000 {
+ reg = <0x0 0x2000000>;
+ feature-domains = <&etzpc 0>;
+ };
+ };
--
2.25.1
More information about the linux-arm-kernel
mailing list