xref: /freebsd/sys/contrib/device-tree/Bindings/bus/fsl,spba-bus.yaml (revision d4eeb02986980bf33dd56c41ceb9fc5f180c0d47)
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
7title: Shared Peripherals Bus Interface
8
9maintainers:
10  - Shawn Guo <shawnguo@kernel.org>
11
12description: |
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
22select:
23  properties:
24    compatible:
25      contains:
26        const: fsl,spba-bus
27  required:
28    - compatible
29
30properties:
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
50required:
51  - compatible
52  - '#address-cells'
53  - '#size-cells'
54  - reg
55  - ranges
56
57additionalProperties:
58  type: object
59
60examples:
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    };
69