xref: /freebsd/sys/contrib/device-tree/Bindings/bus/nvidia,tegra210-aconnect.yaml (revision 9978553d0199e7ec0bdd1c44fc7f6c7b0c11e43b)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/bus/nvidia,tegra210-aconnect.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: NVIDIA Tegra ACONNECT Bus
8
9description: |
10  The Tegra ACONNECT bus is an AXI switch which is used to connect various
11  components inside the Audio Processing Engine (APE). All CPU accesses to
12  the APE subsystem go through the ACONNECT via an APB to AXI wrapper. All
13  devices accessed via the ACONNECT are described by child-nodes.
14
15maintainers:
16  - Jon Hunter <jonathanh@nvidia.com>
17
18properties:
19  compatible:
20    oneOf:
21      - const: nvidia,tegra210-aconnect
22      - items:
23          - enum:
24              - nvidia,tegra264-aconnect
25              - nvidia,tegra234-aconnect
26              - nvidia,tegra186-aconnect
27              - nvidia,tegra194-aconnect
28          - const: nvidia,tegra210-aconnect
29
30  clocks:
31    items:
32      - description: Must contain the entry for APE clock
33      - description: Must contain the entry for APE interface clock
34
35  clock-names:
36    items:
37      - const: ape
38      - const: apb2ape
39
40  power-domains:
41    maxItems: 1
42
43  "#address-cells":
44    enum: [ 1, 2 ]
45
46  "#size-cells":
47    enum: [ 1, 2 ]
48
49  ranges: true
50
51patternProperties:
52  "@[0-9a-f]+$":
53    type: object
54
55required:
56  - compatible
57  - clocks
58  - clock-names
59  - power-domains
60  - "#address-cells"
61  - "#size-cells"
62  - ranges
63
64additionalProperties: false
65
66examples:
67  - |
68    #include<dt-bindings/clock/tegra210-car.h>
69
70    aconnect@702c0000 {
71        compatible = "nvidia,tegra210-aconnect";
72        clocks = <&tegra_car TEGRA210_CLK_APE>,
73                 <&tegra_car TEGRA210_CLK_APB2APE>;
74        clock-names = "ape", "apb2ape";
75        power-domains = <&pd_audio>;
76
77        #address-cells = <1>;
78        #size-cells = <1>;
79        ranges = <0x702c0000 0x702c0000 0x00040000>;
80
81        // Child device nodes follow ...
82    };
83
84...
85