xref: /freebsd/sys/contrib/device-tree/Bindings/sound/nvidia,tegra20-ac97.yaml (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
1*7d0873ebSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*7d0873ebSEmmanuel Vadot%YAML 1.2
3*7d0873ebSEmmanuel Vadot---
4*7d0873ebSEmmanuel Vadot$id: http://devicetree.org/schemas/sound/nvidia,tegra20-ac97.yaml#
5*7d0873ebSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*7d0873ebSEmmanuel Vadot
7*7d0873ebSEmmanuel Vadottitle: NVIDIA Tegra20 AC97 controller
8*7d0873ebSEmmanuel Vadot
9*7d0873ebSEmmanuel Vadotmaintainers:
10*7d0873ebSEmmanuel Vadot  - Thierry Reding <treding@nvidia.com>
11*7d0873ebSEmmanuel Vadot  - Jon Hunter <jonathanh@nvidia.com>
12*7d0873ebSEmmanuel Vadot
13*7d0873ebSEmmanuel Vadotproperties:
14*7d0873ebSEmmanuel Vadot  compatible:
15*7d0873ebSEmmanuel Vadot    const: nvidia,tegra20-ac97
16*7d0873ebSEmmanuel Vadot
17*7d0873ebSEmmanuel Vadot  reg:
18*7d0873ebSEmmanuel Vadot    maxItems: 1
19*7d0873ebSEmmanuel Vadot
20*7d0873ebSEmmanuel Vadot  resets:
21*7d0873ebSEmmanuel Vadot    maxItems: 1
22*7d0873ebSEmmanuel Vadot
23*7d0873ebSEmmanuel Vadot  reset-names:
24*7d0873ebSEmmanuel Vadot    const: ac97
25*7d0873ebSEmmanuel Vadot
26*7d0873ebSEmmanuel Vadot  interrupts:
27*7d0873ebSEmmanuel Vadot    maxItems: 1
28*7d0873ebSEmmanuel Vadot
29*7d0873ebSEmmanuel Vadot  clocks:
30*7d0873ebSEmmanuel Vadot    maxItems: 1
31*7d0873ebSEmmanuel Vadot
32*7d0873ebSEmmanuel Vadot  dmas:
33*7d0873ebSEmmanuel Vadot    maxItems: 2
34*7d0873ebSEmmanuel Vadot
35*7d0873ebSEmmanuel Vadot  dma-names:
36*7d0873ebSEmmanuel Vadot    items:
37*7d0873ebSEmmanuel Vadot      - const: rx
38*7d0873ebSEmmanuel Vadot      - const: tx
39*7d0873ebSEmmanuel Vadot
40*7d0873ebSEmmanuel Vadot  nvidia,codec-reset-gpios:
41*7d0873ebSEmmanuel Vadot    description: Reset pin of external AC97 codec
42*7d0873ebSEmmanuel Vadot    maxItems: 1
43*7d0873ebSEmmanuel Vadot
44*7d0873ebSEmmanuel Vadot  nvidia,codec-sync-gpios:
45*7d0873ebSEmmanuel Vadot    description: AC97 DAP _FS line
46*7d0873ebSEmmanuel Vadot    maxItems: 1
47*7d0873ebSEmmanuel Vadot
48*7d0873ebSEmmanuel Vadotrequired:
49*7d0873ebSEmmanuel Vadot  - compatible
50*7d0873ebSEmmanuel Vadot  - reg
51*7d0873ebSEmmanuel Vadot  - resets
52*7d0873ebSEmmanuel Vadot  - reset-names
53*7d0873ebSEmmanuel Vadot  - interrupts
54*7d0873ebSEmmanuel Vadot  - clocks
55*7d0873ebSEmmanuel Vadot  - dmas
56*7d0873ebSEmmanuel Vadot  - dma-names
57*7d0873ebSEmmanuel Vadot  - nvidia,codec-reset-gpios
58*7d0873ebSEmmanuel Vadot  - nvidia,codec-sync-gpios
59*7d0873ebSEmmanuel Vadot
60*7d0873ebSEmmanuel VadotadditionalProperties: false
61*7d0873ebSEmmanuel Vadot
62*7d0873ebSEmmanuel Vadotexamples:
63*7d0873ebSEmmanuel Vadot  - |
64*7d0873ebSEmmanuel Vadot    #include <dt-bindings/clock/tegra20-car.h>
65*7d0873ebSEmmanuel Vadot    #include <dt-bindings/gpio/tegra-gpio.h>
66*7d0873ebSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
67*7d0873ebSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
68*7d0873ebSEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
69*7d0873ebSEmmanuel Vadot
70*7d0873ebSEmmanuel Vadot    ac97@70002000 {
71*7d0873ebSEmmanuel Vadot        compatible = "nvidia,tegra20-ac97";
72*7d0873ebSEmmanuel Vadot        reg = <0x70002000 0x200>;
73*7d0873ebSEmmanuel Vadot        resets = <&tegra_car 3>;
74*7d0873ebSEmmanuel Vadot        reset-names = "ac97";
75*7d0873ebSEmmanuel Vadot        interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
76*7d0873ebSEmmanuel Vadot        clocks = <&tegra_car 3>;
77*7d0873ebSEmmanuel Vadot        dmas = <&apbdma 12>, <&apbdma 12>;
78*7d0873ebSEmmanuel Vadot        dma-names = "rx", "tx";
79*7d0873ebSEmmanuel Vadot        nvidia,codec-reset-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_HIGH>;
80*7d0873ebSEmmanuel Vadot        nvidia,codec-sync-gpios = <&gpio TEGRA_GPIO(P, 0) GPIO_ACTIVE_HIGH>;
81*7d0873ebSEmmanuel Vadot    };
82*7d0873ebSEmmanuel Vadot...
83