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/nvidia,tegra210-aconnect.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: NVIDIA Tegra ACONNECT Bus
862306a36Sopenharmony_ci
962306a36Sopenharmony_cidescription: |
1062306a36Sopenharmony_ci  The Tegra ACONNECT bus is an AXI switch which is used to connect various
1162306a36Sopenharmony_ci  components inside the Audio Processing Engine (APE). All CPU accesses to
1262306a36Sopenharmony_ci  the APE subsystem go through the ACONNECT via an APB to AXI wrapper. All
1362306a36Sopenharmony_ci  devices accessed via the ACONNECT are described by child-nodes.
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_cimaintainers:
1662306a36Sopenharmony_ci  - Jon Hunter <jonathanh@nvidia.com>
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ciproperties:
1962306a36Sopenharmony_ci  compatible:
2062306a36Sopenharmony_ci    oneOf:
2162306a36Sopenharmony_ci      - const: nvidia,tegra210-aconnect
2262306a36Sopenharmony_ci      - items:
2362306a36Sopenharmony_ci          - enum:
2462306a36Sopenharmony_ci              - nvidia,tegra234-aconnect
2562306a36Sopenharmony_ci              - nvidia,tegra186-aconnect
2662306a36Sopenharmony_ci              - nvidia,tegra194-aconnect
2762306a36Sopenharmony_ci          - const: nvidia,tegra210-aconnect
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci  clocks:
3062306a36Sopenharmony_ci    items:
3162306a36Sopenharmony_ci      - description: Must contain the entry for APE clock
3262306a36Sopenharmony_ci      - description: Must contain the entry for APE interface clock
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci  clock-names:
3562306a36Sopenharmony_ci    items:
3662306a36Sopenharmony_ci      - const: ape
3762306a36Sopenharmony_ci      - const: apb2ape
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci  power-domains:
4062306a36Sopenharmony_ci    maxItems: 1
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci  "#address-cells":
4362306a36Sopenharmony_ci    enum: [ 1, 2 ]
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci  "#size-cells":
4662306a36Sopenharmony_ci    enum: [ 1, 2 ]
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci  ranges: true
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_cipatternProperties:
5162306a36Sopenharmony_ci  "@[0-9a-f]+$":
5262306a36Sopenharmony_ci    type: object
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_cirequired:
5562306a36Sopenharmony_ci  - compatible
5662306a36Sopenharmony_ci  - clocks
5762306a36Sopenharmony_ci  - clock-names
5862306a36Sopenharmony_ci  - power-domains
5962306a36Sopenharmony_ci  - "#address-cells"
6062306a36Sopenharmony_ci  - "#size-cells"
6162306a36Sopenharmony_ci  - ranges
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ciadditionalProperties: false
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ciexamples:
6662306a36Sopenharmony_ci  - |
6762306a36Sopenharmony_ci    #include<dt-bindings/clock/tegra210-car.h>
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci    aconnect@702c0000 {
7062306a36Sopenharmony_ci        compatible = "nvidia,tegra210-aconnect";
7162306a36Sopenharmony_ci        clocks = <&tegra_car TEGRA210_CLK_APE>,
7262306a36Sopenharmony_ci                 <&tegra_car TEGRA210_CLK_APB2APE>;
7362306a36Sopenharmony_ci        clock-names = "ape", "apb2ape";
7462306a36Sopenharmony_ci        power-domains = <&pd_audio>;
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ci        #address-cells = <1>;
7762306a36Sopenharmony_ci        #size-cells = <1>;
7862306a36Sopenharmony_ci        ranges = <0x702c0000 0x702c0000 0x00040000>;
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_ci        // Child device nodes follow ...
8162306a36Sopenharmony_ci    };
8262306a36Sopenharmony_ci
8362306a36Sopenharmony_ci...
84