162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/bus/fsl,spba-bus.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Shared Peripherals Bus Interface
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Shawn Guo <shawnguo@kernel.org>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription: |
1362306a36Sopenharmony_ci  A simple bus enabling access to shared peripherals.
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci  The "spba-bus" follows the "simple-bus" set of properties, as
1662306a36Sopenharmony_ci  specified in the Devicetree Specification.  It is an extension of
1762306a36Sopenharmony_ci  "simple-bus" because the SDMA controller uses this compatible flag to
1862306a36Sopenharmony_ci  determine which peripherals are available to it and the range over which
1962306a36Sopenharmony_ci  the SDMA can access.  There are no special clocks for the bus, because
2062306a36Sopenharmony_ci  the SDMA controller itself has its interrupt and clock assignments.
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ciselect:
2362306a36Sopenharmony_ci  properties:
2462306a36Sopenharmony_ci    compatible:
2562306a36Sopenharmony_ci      contains:
2662306a36Sopenharmony_ci        const: fsl,spba-bus
2762306a36Sopenharmony_ci  required:
2862306a36Sopenharmony_ci    - compatible
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ciproperties:
3162306a36Sopenharmony_ci  $nodename:
3262306a36Sopenharmony_ci    pattern: "^spba-bus(@[0-9a-f]+)?$"
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci  compatible:
3562306a36Sopenharmony_ci    items:
3662306a36Sopenharmony_ci      - const: fsl,spba-bus
3762306a36Sopenharmony_ci      - const: simple-bus
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci  '#address-cells':
4062306a36Sopenharmony_ci    enum: [ 1, 2 ]
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci  '#size-cells':
4362306a36Sopenharmony_ci    enum: [ 1, 2 ]
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci  reg:
4662306a36Sopenharmony_ci    maxItems: 1
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci  ranges: true
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_cirequired:
5162306a36Sopenharmony_ci  - compatible
5262306a36Sopenharmony_ci  - '#address-cells'
5362306a36Sopenharmony_ci  - '#size-cells'
5462306a36Sopenharmony_ci  - reg
5562306a36Sopenharmony_ci  - ranges
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ciadditionalProperties:
5862306a36Sopenharmony_ci  type: object
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ciexamples:
6162306a36Sopenharmony_ci  - |
6262306a36Sopenharmony_ci    spba-bus@30000000 {
6362306a36Sopenharmony_ci        compatible = "fsl,spba-bus", "simple-bus";
6462306a36Sopenharmony_ci        #address-cells = <1>;
6562306a36Sopenharmony_ci        #size-cells = <1>;
6662306a36Sopenharmony_ci        reg = <0x30000000 0x100000>;
6762306a36Sopenharmony_ci        ranges;
6862306a36Sopenharmony_ci    };
69