xref: /linux/Documentation/devicetree/bindings/sound/nvidia,tegra30-hda.yaml (revision 2f24482304ebd32c5aa374f31465b9941a860b92)
12d8f8955SSameer Pujar# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
22d8f8955SSameer Pujar%YAML 1.2
32d8f8955SSameer Pujar---
42d8f8955SSameer Pujar$id: http://devicetree.org/schemas/sound/nvidia,tegra30-hda.yaml#
52d8f8955SSameer Pujar$schema: http://devicetree.org/meta-schemas/core.yaml#
62d8f8955SSameer Pujar
72d8f8955SSameer Pujartitle: NVIDIA Tegra HDA controller
82d8f8955SSameer Pujar
92d8f8955SSameer Pujardescription: |
102d8f8955SSameer Pujar  The High Definition Audio (HDA) block provides a serial interface to
112d8f8955SSameer Pujar  audio codec. It supports multiple input and output streams.
122d8f8955SSameer Pujar
132d8f8955SSameer Pujarmaintainers:
142d8f8955SSameer Pujar  - Thierry Reding <treding@nvidia.com>
152d8f8955SSameer Pujar  - Jon Hunter <jonathanh@nvidia.com>
162d8f8955SSameer Pujar
172d8f8955SSameer Pujarproperties:
182d8f8955SSameer Pujar  $nodename:
192d8f8955SSameer Pujar    pattern: "^hda@[0-9a-f]*$"
202d8f8955SSameer Pujar
212d8f8955SSameer Pujar  compatible:
222d8f8955SSameer Pujar    oneOf:
232d8f8955SSameer Pujar      - const: nvidia,tegra30-hda
242d8f8955SSameer Pujar      - items:
252d8f8955SSameer Pujar          - enum:
26d23c4956SMohan Kumar              - nvidia,tegra234-hda
272d8f8955SSameer Pujar              - nvidia,tegra194-hda
282d8f8955SSameer Pujar              - nvidia,tegra186-hda
292d8f8955SSameer Pujar              - nvidia,tegra210-hda
302d8f8955SSameer Pujar              - nvidia,tegra124-hda
31*294630d8SThierry Reding              - nvidia,tegra114-hda
322d8f8955SSameer Pujar          - const: nvidia,tegra30-hda
332d8f8955SSameer Pujar      - items:
342d8f8955SSameer Pujar          - const: nvidia,tegra132-hda
352d8f8955SSameer Pujar          - const: nvidia,tegra124-hda
362d8f8955SSameer Pujar          - const: nvidia,tegra30-hda
372d8f8955SSameer Pujar
382d8f8955SSameer Pujar  reg:
392d8f8955SSameer Pujar    maxItems: 1
402d8f8955SSameer Pujar
412d8f8955SSameer Pujar  interrupts:
422d8f8955SSameer Pujar    description: The interrupt from the HDA controller
432d8f8955SSameer Pujar    maxItems: 1
442d8f8955SSameer Pujar
452d8f8955SSameer Pujar  clocks:
46d23c4956SMohan Kumar    minItems: 2
472d8f8955SSameer Pujar    maxItems: 3
482d8f8955SSameer Pujar
492d8f8955SSameer Pujar  clock-names:
50d23c4956SMohan Kumar    minItems: 2
512d8f8955SSameer Pujar    items:
522d8f8955SSameer Pujar      - const: hda
532d8f8955SSameer Pujar      - const: hda2hdmi
542d8f8955SSameer Pujar      - const: hda2codec_2x
552d8f8955SSameer Pujar
562d8f8955SSameer Pujar  resets:
576088ddfbSSameer Pujar    minItems: 2
582d8f8955SSameer Pujar    maxItems: 3
592d8f8955SSameer Pujar
602d8f8955SSameer Pujar  reset-names:
616088ddfbSSameer Pujar    minItems: 2
622d8f8955SSameer Pujar    items:
632d8f8955SSameer Pujar      - const: hda
642d8f8955SSameer Pujar      - const: hda2hdmi
652d8f8955SSameer Pujar      - const: hda2codec_2x
662d8f8955SSameer Pujar
673759d5edSSameer Pujar  power-domains:
683759d5edSSameer Pujar    maxItems: 1
693759d5edSSameer Pujar
703759d5edSSameer Pujar  interconnects:
713759d5edSSameer Pujar    maxItems: 2
723759d5edSSameer Pujar
733759d5edSSameer Pujar  interconnect-names:
743759d5edSSameer Pujar    items:
753759d5edSSameer Pujar      - const: dma-mem
763759d5edSSameer Pujar      - const: write
773759d5edSSameer Pujar
783759d5edSSameer Pujar  iommus:
793759d5edSSameer Pujar    maxItems: 1
803759d5edSSameer Pujar
812d8f8955SSameer Pujar  nvidia,model:
822d8f8955SSameer Pujar    $ref: /schemas/types.yaml#/definitions/string
832d8f8955SSameer Pujar    description: |
842d8f8955SSameer Pujar      The user-visible name of this sound complex. If this property is
852d8f8955SSameer Pujar      not specified then boards can use default name provided in hda driver.
862d8f8955SSameer Pujar
872d8f8955SSameer Pujarrequired:
882d8f8955SSameer Pujar  - compatible
892d8f8955SSameer Pujar  - reg
902d8f8955SSameer Pujar  - interrupts
912d8f8955SSameer Pujar  - clocks
922d8f8955SSameer Pujar  - clock-names
932d8f8955SSameer Pujar
942d8f8955SSameer PujaradditionalProperties: false
952d8f8955SSameer Pujar
962d8f8955SSameer Pujarexamples:
972d8f8955SSameer Pujar  - |
982d8f8955SSameer Pujar    #include<dt-bindings/clock/tegra124-car-common.h>
992d8f8955SSameer Pujar    #include<dt-bindings/interrupt-controller/arm-gic.h>
1002d8f8955SSameer Pujar
1012d8f8955SSameer Pujar    hda@70030000 {
1022d8f8955SSameer Pujar        compatible = "nvidia,tegra124-hda", "nvidia,tegra30-hda";
1032d8f8955SSameer Pujar        reg = <0x70030000 0x10000>;
1042d8f8955SSameer Pujar        interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
1052d8f8955SSameer Pujar        clocks = <&tegra_car TEGRA124_CLK_HDA>,
1062d8f8955SSameer Pujar                 <&tegra_car TEGRA124_CLK_HDA2HDMI>,
1072d8f8955SSameer Pujar                 <&tegra_car TEGRA124_CLK_HDA2CODEC_2X>;
1082d8f8955SSameer Pujar        clock-names = "hda", "hda2hdmi", "hda2codec_2x";
1092d8f8955SSameer Pujar        resets = <&tegra_car 125>, /* hda */
1102d8f8955SSameer Pujar                 <&tegra_car 128>, /* hda2hdmi */
1112d8f8955SSameer Pujar                 <&tegra_car 111>; /* hda2codec_2x */
1122d8f8955SSameer Pujar        reset-names = "hda", "hda2hdmi", "hda2codec_2x";
1132d8f8955SSameer Pujar        nvidia,model = "jetson-tk1-hda";
1142d8f8955SSameer Pujar    };
1152d8f8955SSameer Pujar
1162d8f8955SSameer Pujar...
117