xref: /freebsd/sys/contrib/device-tree/Bindings/sound/nvidia,tegra-audio-max98090.yaml (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
1e67e8565SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2e67e8565SEmmanuel Vadot%YAML 1.2
3e67e8565SEmmanuel Vadot---
4e67e8565SEmmanuel Vadot$id: http://devicetree.org/schemas/sound/nvidia,tegra-audio-max98090.yaml#
5e67e8565SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6e67e8565SEmmanuel Vadot
7e67e8565SEmmanuel Vadottitle: NVIDIA Tegra audio complex with MAX98090 CODEC
8e67e8565SEmmanuel Vadot
9e67e8565SEmmanuel Vadotmaintainers:
10e67e8565SEmmanuel Vadot  - Jon Hunter <jonathanh@nvidia.com>
11e67e8565SEmmanuel Vadot  - Thierry Reding <thierry.reding@gmail.com>
12e67e8565SEmmanuel Vadot
13e67e8565SEmmanuel VadotallOf:
14e67e8565SEmmanuel Vadot  - $ref: nvidia,tegra-audio-common.yaml#
15e67e8565SEmmanuel Vadot
16e67e8565SEmmanuel Vadotproperties:
17e67e8565SEmmanuel Vadot  compatible:
18e67e8565SEmmanuel Vadot    oneOf:
19e67e8565SEmmanuel Vadot      - items:
20e67e8565SEmmanuel Vadot          - pattern: '^[a-z0-9]+,tegra-audio-max98090(-[a-z0-9]+)+$'
21e67e8565SEmmanuel Vadot          - const: nvidia,tegra-audio-max98090
22e67e8565SEmmanuel Vadot      - items:
23e67e8565SEmmanuel Vadot          - enum:
24e67e8565SEmmanuel Vadot              - nvidia,tegra-audio-max98090-nyan-big
25e67e8565SEmmanuel Vadot              - nvidia,tegra-audio-max98090-nyan-blaze
26e67e8565SEmmanuel Vadot          - const: nvidia,tegra-audio-max98090-nyan
27e67e8565SEmmanuel Vadot          - const: nvidia,tegra-audio-max98090
28e67e8565SEmmanuel Vadot
29e67e8565SEmmanuel Vadot  nvidia,audio-routing:
30e67e8565SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
31e67e8565SEmmanuel Vadot    description: |
32e67e8565SEmmanuel Vadot      A list of the connections between audio components.
33e67e8565SEmmanuel Vadot      Each entry is a pair of strings, the first being the connection's sink,
34e67e8565SEmmanuel Vadot      the second being the connection's source. Valid names for sources and
35e67e8565SEmmanuel Vadot      sinks are the pins (documented in the binding document),
36e67e8565SEmmanuel Vadot      and the jacks on the board.
37e67e8565SEmmanuel Vadot    minItems: 2
38e67e8565SEmmanuel Vadot    items:
39e67e8565SEmmanuel Vadot      enum:
40e67e8565SEmmanuel Vadot        # Board Connectors
41*fac71e4eSEmmanuel Vadot        - Headphones
42*fac71e4eSEmmanuel Vadot        - Speakers
43*fac71e4eSEmmanuel Vadot        - Mic Jack
44*fac71e4eSEmmanuel Vadot        - Int Mic
45e67e8565SEmmanuel Vadot
46e67e8565SEmmanuel Vadot        # CODEC Pins
47e67e8565SEmmanuel Vadot        - MIC1
48e67e8565SEmmanuel Vadot        - MIC2
49e67e8565SEmmanuel Vadot        - DMICL
50e67e8565SEmmanuel Vadot        - DMICR
51e67e8565SEmmanuel Vadot        - IN1
52e67e8565SEmmanuel Vadot        - IN2
53e67e8565SEmmanuel Vadot        - IN3
54e67e8565SEmmanuel Vadot        - IN4
55e67e8565SEmmanuel Vadot        - IN5
56e67e8565SEmmanuel Vadot        - IN6
57e67e8565SEmmanuel Vadot        - IN12
58e67e8565SEmmanuel Vadot        - IN34
59e67e8565SEmmanuel Vadot        - IN56
60e67e8565SEmmanuel Vadot        - HPL
61e67e8565SEmmanuel Vadot        - HPR
62e67e8565SEmmanuel Vadot        - SPKL
63e67e8565SEmmanuel Vadot        - SPKR
64e67e8565SEmmanuel Vadot        - RCVL
65e67e8565SEmmanuel Vadot        - RCVR
66e67e8565SEmmanuel Vadot        - MICBIAS
67e67e8565SEmmanuel Vadot
68e67e8565SEmmanuel Vadotrequired:
69e67e8565SEmmanuel Vadot  - nvidia,i2s-controller
70e67e8565SEmmanuel Vadot
71e67e8565SEmmanuel VadotunevaluatedProperties: false
72e67e8565SEmmanuel Vadot
73e67e8565SEmmanuel Vadotexamples:
74e67e8565SEmmanuel Vadot  - |
75e67e8565SEmmanuel Vadot    #include <dt-bindings/clock/tegra124-car.h>
76e67e8565SEmmanuel Vadot
77e67e8565SEmmanuel Vadot    sound {
78e67e8565SEmmanuel Vadot        compatible = "nvidia,tegra-audio-max98090-venice2",
79e67e8565SEmmanuel Vadot                     "nvidia,tegra-audio-max98090";
80e67e8565SEmmanuel Vadot        nvidia,model = "NVIDIA Tegra Venice2";
81e67e8565SEmmanuel Vadot
82e67e8565SEmmanuel Vadot        nvidia,audio-routing =
83e67e8565SEmmanuel Vadot                "Headphones", "HPR",
84e67e8565SEmmanuel Vadot                "Headphones", "HPL",
85e67e8565SEmmanuel Vadot                "Speakers", "SPKR",
86e67e8565SEmmanuel Vadot                "Speakers", "SPKL",
87e67e8565SEmmanuel Vadot                "Mic Jack", "MICBIAS",
88e67e8565SEmmanuel Vadot                "IN34", "Mic Jack";
89e67e8565SEmmanuel Vadot
90e67e8565SEmmanuel Vadot        nvidia,i2s-controller = <&tegra_i2s1>;
91e67e8565SEmmanuel Vadot        nvidia,audio-codec = <&acodec>;
92e67e8565SEmmanuel Vadot
93e67e8565SEmmanuel Vadot        clocks = <&tegra_car TEGRA124_CLK_PLL_A>,
94e67e8565SEmmanuel Vadot                 <&tegra_car TEGRA124_CLK_PLL_A_OUT0>,
95e67e8565SEmmanuel Vadot                 <&tegra_car TEGRA124_CLK_EXTERN1>;
96e67e8565SEmmanuel Vadot        clock-names = "pll_a", "pll_a_out0", "mclk";
97e67e8565SEmmanuel Vadot    };
98