xref: /openbmc/linux/Documentation/devicetree/bindings/sound/nvidia,tegra210-dmic.yaml (revision 7ae9fb1b7ecbb5d85d07857943f677fd1a559b18)
1665308c0SSameer Pujar# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2665308c0SSameer Pujar%YAML 1.2
3665308c0SSameer Pujar---
4665308c0SSameer Pujar$id: http://devicetree.org/schemas/sound/nvidia,tegra210-dmic.yaml#
5665308c0SSameer Pujar$schema: http://devicetree.org/meta-schemas/core.yaml#
6665308c0SSameer Pujar
7dd3cb467SAndrew Lunntitle: Tegra210 DMIC Controller
8665308c0SSameer Pujar
9665308c0SSameer Pujardescription: |
10665308c0SSameer Pujar  The Digital MIC (DMIC) Controller is used to interface with Pulse
11665308c0SSameer Pujar  Density Modulation (PDM) input devices. It converts PDM signals to
12665308c0SSameer Pujar  Pulse Coded Modulation (PCM) signals. DMIC can be viewed as a PDM
13665308c0SSameer Pujar  receiver.
14665308c0SSameer Pujar
15665308c0SSameer Pujarmaintainers:
16665308c0SSameer Pujar  - Jon Hunter <jonathanh@nvidia.com>
17665308c0SSameer Pujar  - Sameer Pujar <spujar@nvidia.com>
18665308c0SSameer Pujar
1982d3ec1dSSameer PujarallOf:
20*3fda8532SKrzysztof Kozlowski  - $ref: dai-common.yaml#
2182d3ec1dSSameer Pujar
22665308c0SSameer Pujarproperties:
23665308c0SSameer Pujar  $nodename:
24665308c0SSameer Pujar    pattern: "^dmic@[0-9a-f]*$"
25665308c0SSameer Pujar
26665308c0SSameer Pujar  compatible:
27665308c0SSameer Pujar    oneOf:
28665308c0SSameer Pujar      - const: nvidia,tegra210-dmic
29665308c0SSameer Pujar      - items:
30665308c0SSameer Pujar          - enum:
31fed44d6cSSameer Pujar              - nvidia,tegra234-dmic
32665308c0SSameer Pujar              - nvidia,tegra194-dmic
33665308c0SSameer Pujar              - nvidia,tegra186-dmic
34665308c0SSameer Pujar          - const: nvidia,tegra210-dmic
35665308c0SSameer Pujar
36665308c0SSameer Pujar  reg:
37665308c0SSameer Pujar    maxItems: 1
38665308c0SSameer Pujar
39665308c0SSameer Pujar  clocks:
40665308c0SSameer Pujar    maxItems: 1
41665308c0SSameer Pujar
42665308c0SSameer Pujar  clock-names:
43665308c0SSameer Pujar    const: dmic
44665308c0SSameer Pujar
45665308c0SSameer Pujar  assigned-clocks:
46665308c0SSameer Pujar    maxItems: 1
47665308c0SSameer Pujar
48665308c0SSameer Pujar  assigned-clock-parents:
49665308c0SSameer Pujar    maxItems: 1
50665308c0SSameer Pujar
51665308c0SSameer Pujar  assigned-clock-rates:
52665308c0SSameer Pujar    maxItems: 1
53665308c0SSameer Pujar
54665308c0SSameer Pujar  sound-name-prefix:
55665308c0SSameer Pujar    pattern: "^DMIC[1-9]$"
56665308c0SSameer Pujar
579e0f86fdSSameer Pujar  ports:
589c1e0439SRob Herring    $ref: /schemas/graph.yaml#/properties/ports
599e0f86fdSSameer Pujar    properties:
609e0f86fdSSameer Pujar      port@0:
619c1e0439SRob Herring        $ref: audio-graph-port.yaml#
629c1e0439SRob Herring        unevaluatedProperties: false
639e0f86fdSSameer Pujar        description: |
649e0f86fdSSameer Pujar          DMIC ACIF (Audio Client Interface) port connected to the
659e0f86fdSSameer Pujar          corresponding AHUB (Audio Hub) ACIF port.
669e0f86fdSSameer Pujar
679e0f86fdSSameer Pujar      port@1:
689c1e0439SRob Herring        $ref: audio-graph-port.yaml#
699c1e0439SRob Herring        unevaluatedProperties: false
709e0f86fdSSameer Pujar        description: |
719e0f86fdSSameer Pujar          DMIC DAP (Digital Audio Port) interface which can be connected
729e0f86fdSSameer Pujar          to external audio codec for capture.
739e0f86fdSSameer Pujar
74665308c0SSameer Pujarrequired:
75665308c0SSameer Pujar  - compatible
76665308c0SSameer Pujar  - reg
77665308c0SSameer Pujar  - clocks
78665308c0SSameer Pujar  - clock-names
79665308c0SSameer Pujar  - assigned-clocks
80665308c0SSameer Pujar  - assigned-clock-parents
81665308c0SSameer Pujar
829c1e0439SRob HerringadditionalProperties: false
835be478f9SRob Herring
84665308c0SSameer Pujarexamples:
85665308c0SSameer Pujar  - |
86665308c0SSameer Pujar    #include<dt-bindings/clock/tegra210-car.h>
87665308c0SSameer Pujar
88665308c0SSameer Pujar    dmic@702d4000 {
89665308c0SSameer Pujar        compatible = "nvidia,tegra210-dmic";
90665308c0SSameer Pujar        reg = <0x702d4000 0x100>;
91665308c0SSameer Pujar        clocks = <&tegra_car TEGRA210_CLK_DMIC1>;
92665308c0SSameer Pujar        clock-names = "dmic";
93665308c0SSameer Pujar        assigned-clocks = <&tegra_car TEGRA210_CLK_DMIC1>;
94665308c0SSameer Pujar        assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
95665308c0SSameer Pujar        assigned-clock-rates = <3072000>;
96665308c0SSameer Pujar        sound-name-prefix = "DMIC1";
97665308c0SSameer Pujar    };
98665308c0SSameer Pujar
99665308c0SSameer Pujar...
100