Merge branch 'for-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / sound / nvidia,tegra30-hda.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/sound/nvidia,tegra30-hda.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: NVIDIA Tegra HDA controller
8
9 description: |
10   The High Definition Audio (HDA) block provides a serial interface to
11   audio codec. It supports multiple input and output streams.
12
13 maintainers:
14   - Thierry Reding <treding@nvidia.com>
15   - Jon Hunter <jonathanh@nvidia.com>
16
17 properties:
18   $nodename:
19     pattern: "^hda@[0-9a-f]*$"
20
21   compatible:
22     oneOf:
23       - const: nvidia,tegra30-hda
24       - items:
25           - enum:
26               - nvidia,tegra194-hda
27               - nvidia,tegra186-hda
28               - nvidia,tegra210-hda
29               - nvidia,tegra124-hda
30           - const: nvidia,tegra30-hda
31       - items:
32           - const: nvidia,tegra132-hda
33           - const: nvidia,tegra124-hda
34           - const: nvidia,tegra30-hda
35
36   reg:
37     maxItems: 1
38
39   interrupts:
40     description: The interrupt from the HDA controller
41     maxItems: 1
42
43   clocks:
44     maxItems: 3
45
46   clock-names:
47     items:
48       - const: hda
49       - const: hda2hdmi
50       - const: hda2codec_2x
51
52   resets:
53     maxItems: 3
54
55   reset-names:
56     items:
57       - const: hda
58       - const: hda2hdmi
59       - const: hda2codec_2x
60
61   power-domains:
62     maxItems: 1
63
64   interconnects:
65     maxItems: 2
66
67   interconnect-names:
68     items:
69       - const: dma-mem
70       - const: write
71
72   iommus:
73     maxItems: 1
74
75   nvidia,model:
76     $ref: /schemas/types.yaml#/definitions/string
77     description: |
78       The user-visible name of this sound complex. If this property is
79       not specified then boards can use default name provided in hda driver.
80
81 required:
82   - compatible
83   - reg
84   - interrupts
85   - clocks
86   - clock-names
87
88 additionalProperties: false
89
90 examples:
91   - |
92     #include<dt-bindings/clock/tegra124-car-common.h>
93     #include<dt-bindings/interrupt-controller/arm-gic.h>
94
95     hda@70030000 {
96         compatible = "nvidia,tegra124-hda", "nvidia,tegra30-hda";
97         reg = <0x70030000 0x10000>;
98         interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
99         clocks = <&tegra_car TEGRA124_CLK_HDA>,
100                  <&tegra_car TEGRA124_CLK_HDA2HDMI>,
101                  <&tegra_car TEGRA124_CLK_HDA2CODEC_2X>;
102         clock-names = "hda", "hda2hdmi", "hda2codec_2x";
103         resets = <&tegra_car 125>, /* hda */
104                  <&tegra_car 128>, /* hda2hdmi */
105                  <&tegra_car 111>; /* hda2codec_2x */
106         reset-names = "hda", "hda2hdmi", "hda2codec_2x";
107         nvidia,model = "jetson-tk1-hda";
108     };
109
110 ...