blob: b55775e21de67278e248cbf54f17fa276ae22ee9 [file] [log] [blame]
Sameer Pujar2d8f8952020-12-03 20:06:41 +05301# 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
7title: NVIDIA Tegra HDA controller
8
9description: |
10 The High Definition Audio (HDA) block provides a serial interface to
11 audio codec. It supports multiple input and output streams.
12
13maintainers:
14 - Thierry Reding <treding@nvidia.com>
15 - Jon Hunter <jonathanh@nvidia.com>
16
17properties:
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:
Sameer Pujar2d8f8952020-12-03 20:06:41 +053047 items:
48 - const: hda
49 - const: hda2hdmi
50 - const: hda2codec_2x
51
52 resets:
53 maxItems: 3
54
55 reset-names:
Sameer Pujar2d8f8952020-12-03 20:06:41 +053056 items:
57 - const: hda
58 - const: hda2hdmi
59 - const: hda2codec_2x
60
Sameer Pujar3759d5e2020-12-03 20:06:42 +053061 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
Sameer Pujar2d8f8952020-12-03 20:06:41 +053075 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
81required:
82 - compatible
83 - reg
84 - interrupts
85 - clocks
86 - clock-names
87
88additionalProperties: false
89
90examples:
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...