xref: /freebsd/sys/contrib/device-tree/Bindings/sound/nvidia,tegra30-hda.yaml (revision c9ccf3a32da427475985b85d7df023ccfb138c27)
15def4c47SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
25def4c47SEmmanuel Vadot%YAML 1.2
35def4c47SEmmanuel Vadot---
45def4c47SEmmanuel Vadot$id: http://devicetree.org/schemas/sound/nvidia,tegra30-hda.yaml#
55def4c47SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65def4c47SEmmanuel Vadot
75def4c47SEmmanuel Vadottitle: NVIDIA Tegra HDA controller
85def4c47SEmmanuel Vadot
95def4c47SEmmanuel Vadotdescription: |
105def4c47SEmmanuel Vadot  The High Definition Audio (HDA) block provides a serial interface to
115def4c47SEmmanuel Vadot  audio codec. It supports multiple input and output streams.
125def4c47SEmmanuel Vadot
135def4c47SEmmanuel Vadotmaintainers:
145def4c47SEmmanuel Vadot  - Thierry Reding <treding@nvidia.com>
155def4c47SEmmanuel Vadot  - Jon Hunter <jonathanh@nvidia.com>
165def4c47SEmmanuel Vadot
175def4c47SEmmanuel Vadotproperties:
185def4c47SEmmanuel Vadot  $nodename:
195def4c47SEmmanuel Vadot    pattern: "^hda@[0-9a-f]*$"
205def4c47SEmmanuel Vadot
215def4c47SEmmanuel Vadot  compatible:
225def4c47SEmmanuel Vadot    oneOf:
235def4c47SEmmanuel Vadot      - const: nvidia,tegra30-hda
245def4c47SEmmanuel Vadot      - items:
255def4c47SEmmanuel Vadot          - enum:
26*c9ccf3a3SEmmanuel Vadot              - nvidia,tegra234-hda
275def4c47SEmmanuel Vadot              - nvidia,tegra194-hda
285def4c47SEmmanuel Vadot              - nvidia,tegra186-hda
295def4c47SEmmanuel Vadot              - nvidia,tegra210-hda
305def4c47SEmmanuel Vadot              - nvidia,tegra124-hda
315def4c47SEmmanuel Vadot          - const: nvidia,tegra30-hda
325def4c47SEmmanuel Vadot      - items:
335def4c47SEmmanuel Vadot          - const: nvidia,tegra132-hda
345def4c47SEmmanuel Vadot          - const: nvidia,tegra124-hda
355def4c47SEmmanuel Vadot          - const: nvidia,tegra30-hda
365def4c47SEmmanuel Vadot
375def4c47SEmmanuel Vadot  reg:
385def4c47SEmmanuel Vadot    maxItems: 1
395def4c47SEmmanuel Vadot
405def4c47SEmmanuel Vadot  interrupts:
415def4c47SEmmanuel Vadot    description: The interrupt from the HDA controller
425def4c47SEmmanuel Vadot    maxItems: 1
435def4c47SEmmanuel Vadot
445def4c47SEmmanuel Vadot  clocks:
45*c9ccf3a3SEmmanuel Vadot    minItems: 2
465def4c47SEmmanuel Vadot    maxItems: 3
475def4c47SEmmanuel Vadot
485def4c47SEmmanuel Vadot  clock-names:
49*c9ccf3a3SEmmanuel Vadot    minItems: 2
505def4c47SEmmanuel Vadot    items:
515def4c47SEmmanuel Vadot      - const: hda
525def4c47SEmmanuel Vadot      - const: hda2hdmi
535def4c47SEmmanuel Vadot      - const: hda2codec_2x
545def4c47SEmmanuel Vadot
555def4c47SEmmanuel Vadot  resets:
56e67e8565SEmmanuel Vadot    minItems: 2
575def4c47SEmmanuel Vadot    maxItems: 3
585def4c47SEmmanuel Vadot
595def4c47SEmmanuel Vadot  reset-names:
60e67e8565SEmmanuel Vadot    minItems: 2
615def4c47SEmmanuel Vadot    items:
625def4c47SEmmanuel Vadot      - const: hda
635def4c47SEmmanuel Vadot      - const: hda2hdmi
645def4c47SEmmanuel Vadot      - const: hda2codec_2x
655def4c47SEmmanuel Vadot
665def4c47SEmmanuel Vadot  power-domains:
675def4c47SEmmanuel Vadot    maxItems: 1
685def4c47SEmmanuel Vadot
695def4c47SEmmanuel Vadot  interconnects:
705def4c47SEmmanuel Vadot    maxItems: 2
715def4c47SEmmanuel Vadot
725def4c47SEmmanuel Vadot  interconnect-names:
735def4c47SEmmanuel Vadot    items:
745def4c47SEmmanuel Vadot      - const: dma-mem
755def4c47SEmmanuel Vadot      - const: write
765def4c47SEmmanuel Vadot
775def4c47SEmmanuel Vadot  iommus:
785def4c47SEmmanuel Vadot    maxItems: 1
795def4c47SEmmanuel Vadot
805def4c47SEmmanuel Vadot  nvidia,model:
815def4c47SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/string
825def4c47SEmmanuel Vadot    description: |
835def4c47SEmmanuel Vadot      The user-visible name of this sound complex. If this property is
845def4c47SEmmanuel Vadot      not specified then boards can use default name provided in hda driver.
855def4c47SEmmanuel Vadot
865def4c47SEmmanuel Vadotrequired:
875def4c47SEmmanuel Vadot  - compatible
885def4c47SEmmanuel Vadot  - reg
895def4c47SEmmanuel Vadot  - interrupts
905def4c47SEmmanuel Vadot  - clocks
915def4c47SEmmanuel Vadot  - clock-names
925def4c47SEmmanuel Vadot
935def4c47SEmmanuel VadotadditionalProperties: false
945def4c47SEmmanuel Vadot
955def4c47SEmmanuel Vadotexamples:
965def4c47SEmmanuel Vadot  - |
975def4c47SEmmanuel Vadot    #include<dt-bindings/clock/tegra124-car-common.h>
985def4c47SEmmanuel Vadot    #include<dt-bindings/interrupt-controller/arm-gic.h>
995def4c47SEmmanuel Vadot
1005def4c47SEmmanuel Vadot    hda@70030000 {
1015def4c47SEmmanuel Vadot        compatible = "nvidia,tegra124-hda", "nvidia,tegra30-hda";
1025def4c47SEmmanuel Vadot        reg = <0x70030000 0x10000>;
1035def4c47SEmmanuel Vadot        interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
1045def4c47SEmmanuel Vadot        clocks = <&tegra_car TEGRA124_CLK_HDA>,
1055def4c47SEmmanuel Vadot                 <&tegra_car TEGRA124_CLK_HDA2HDMI>,
1065def4c47SEmmanuel Vadot                 <&tegra_car TEGRA124_CLK_HDA2CODEC_2X>;
1075def4c47SEmmanuel Vadot        clock-names = "hda", "hda2hdmi", "hda2codec_2x";
1085def4c47SEmmanuel Vadot        resets = <&tegra_car 125>, /* hda */
1095def4c47SEmmanuel Vadot                 <&tegra_car 128>, /* hda2hdmi */
1105def4c47SEmmanuel Vadot                 <&tegra_car 111>; /* hda2codec_2x */
1115def4c47SEmmanuel Vadot        reset-names = "hda", "hda2hdmi", "hda2codec_2x";
1125def4c47SEmmanuel Vadot        nvidia,model = "jetson-tk1-hda";
1135def4c47SEmmanuel Vadot    };
1145def4c47SEmmanuel Vadot
1155def4c47SEmmanuel Vadot...
116