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