Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
[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     maxItems: 3
48     items:
49       - const: hda
50       - const: hda2hdmi
51       - const: hda2codec_2x
52
53   resets:
54     maxItems: 3
55
56   reset-names:
57     maxItems: 3
58     items:
59       - const: hda
60       - const: hda2hdmi
61       - const: hda2codec_2x
62
63   power-domains:
64     maxItems: 1
65
66   interconnects:
67     maxItems: 2
68
69   interconnect-names:
70     items:
71       - const: dma-mem
72       - const: write
73
74   iommus:
75     maxItems: 1
76
77   nvidia,model:
78     $ref: /schemas/types.yaml#/definitions/string
79     description: |
80       The user-visible name of this sound complex. If this property is
81       not specified then boards can use default name provided in hda driver.
82
83 required:
84   - compatible
85   - reg
86   - interrupts
87   - clocks
88   - clock-names
89
90 additionalProperties: false
91
92 examples:
93   - |
94     #include<dt-bindings/clock/tegra124-car-common.h>
95     #include<dt-bindings/interrupt-controller/arm-gic.h>
96
97     hda@70030000 {
98         compatible = "nvidia,tegra124-hda", "nvidia,tegra30-hda";
99         reg = <0x70030000 0x10000>;
100         interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
101         clocks = <&tegra_car TEGRA124_CLK_HDA>,
102                  <&tegra_car TEGRA124_CLK_HDA2HDMI>,
103                  <&tegra_car TEGRA124_CLK_HDA2CODEC_2X>;
104         clock-names = "hda", "hda2hdmi", "hda2codec_2x";
105         resets = <&tegra_car 125>, /* hda */
106                  <&tegra_car 128>, /* hda2hdmi */
107                  <&tegra_car 111>; /* hda2codec_2x */
108         reset-names = "hda", "hda2hdmi", "hda2codec_2x";
109         nvidia,model = "jetson-tk1-hda";
110     };
111
112 ...