Linux 6.7-rc7
[linux-modified.git] / Documentation / devicetree / bindings / bus / fsl,spba-bus.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/bus/fsl,spba-bus.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Shared Peripherals Bus Interface
8
9 maintainers:
10   - Shawn Guo <shawnguo@kernel.org>
11
12 description: |
13   A simple bus enabling access to shared peripherals.
14
15   The "spba-bus" follows the "simple-bus" set of properties, as
16   specified in the Devicetree Specification.  It is an extension of
17   "simple-bus" because the SDMA controller uses this compatible flag to
18   determine which peripherals are available to it and the range over which
19   the SDMA can access.  There are no special clocks for the bus, because
20   the SDMA controller itself has its interrupt and clock assignments.
21
22 select:
23   properties:
24     compatible:
25       contains:
26         const: fsl,spba-bus
27   required:
28     - compatible
29
30 properties:
31   $nodename:
32     pattern: "^spba-bus(@[0-9a-f]+)?$"
33
34   compatible:
35     items:
36       - const: fsl,spba-bus
37       - const: simple-bus
38
39   '#address-cells':
40     enum: [ 1, 2 ]
41
42   '#size-cells':
43     enum: [ 1, 2 ]
44
45   reg:
46     maxItems: 1
47
48   ranges: true
49
50 required:
51   - compatible
52   - '#address-cells'
53   - '#size-cells'
54   - reg
55   - ranges
56
57 additionalProperties:
58   type: object
59
60 examples:
61   - |
62     spba-bus@30000000 {
63         compatible = "fsl,spba-bus", "simple-bus";
64         #address-cells = <1>;
65         #size-cells = <1>;
66         reg = <0x30000000 0x100000>;
67         ranges;
68     };