xref: /freebsd/sys/contrib/device-tree/Bindings/sound/nvidia,tegra210-dmic.yaml (revision 8bab661a3316d8bd9b9fbd11a3b4371b91507bd2)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/sound/nvidia,tegra210-dmic.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
77ef62cebSEmmanuel Vadottitle: Tegra210 DMIC Controller
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotdescription: |
10c66ec88fSEmmanuel Vadot  The Digital MIC (DMIC) Controller is used to interface with Pulse
11c66ec88fSEmmanuel Vadot  Density Modulation (PDM) input devices. It converts PDM signals to
12c66ec88fSEmmanuel Vadot  Pulse Coded Modulation (PCM) signals. DMIC can be viewed as a PDM
13c66ec88fSEmmanuel Vadot  receiver.
14c66ec88fSEmmanuel Vadot
15c66ec88fSEmmanuel Vadotmaintainers:
16c66ec88fSEmmanuel Vadot  - Jon Hunter <jonathanh@nvidia.com>
17c66ec88fSEmmanuel Vadot  - Sameer Pujar <spujar@nvidia.com>
18c66ec88fSEmmanuel Vadot
198cc087a1SEmmanuel VadotallOf:
20*8bab661aSEmmanuel Vadot  - $ref: dai-common.yaml#
218cc087a1SEmmanuel Vadot
22c66ec88fSEmmanuel Vadotproperties:
23c66ec88fSEmmanuel Vadot  $nodename:
24c66ec88fSEmmanuel Vadot    pattern: "^dmic@[0-9a-f]*$"
25c66ec88fSEmmanuel Vadot
26c66ec88fSEmmanuel Vadot  compatible:
27c66ec88fSEmmanuel Vadot    oneOf:
28c66ec88fSEmmanuel Vadot      - const: nvidia,tegra210-dmic
29c66ec88fSEmmanuel Vadot      - items:
30c66ec88fSEmmanuel Vadot          - enum:
31c9ccf3a3SEmmanuel Vadot              - nvidia,tegra234-dmic
32c66ec88fSEmmanuel Vadot              - nvidia,tegra194-dmic
33c66ec88fSEmmanuel Vadot              - nvidia,tegra186-dmic
34c66ec88fSEmmanuel Vadot          - const: nvidia,tegra210-dmic
35c66ec88fSEmmanuel Vadot
36c66ec88fSEmmanuel Vadot  reg:
37c66ec88fSEmmanuel Vadot    maxItems: 1
38c66ec88fSEmmanuel Vadot
39c66ec88fSEmmanuel Vadot  clocks:
40c66ec88fSEmmanuel Vadot    maxItems: 1
41c66ec88fSEmmanuel Vadot
42c66ec88fSEmmanuel Vadot  clock-names:
43c66ec88fSEmmanuel Vadot    const: dmic
44c66ec88fSEmmanuel Vadot
45c66ec88fSEmmanuel Vadot  assigned-clocks:
46c66ec88fSEmmanuel Vadot    maxItems: 1
47c66ec88fSEmmanuel Vadot
48c66ec88fSEmmanuel Vadot  assigned-clock-parents:
49c66ec88fSEmmanuel Vadot    maxItems: 1
50c66ec88fSEmmanuel Vadot
51c66ec88fSEmmanuel Vadot  assigned-clock-rates:
52c66ec88fSEmmanuel Vadot    maxItems: 1
53c66ec88fSEmmanuel Vadot
54c66ec88fSEmmanuel Vadot  sound-name-prefix:
55c66ec88fSEmmanuel Vadot    pattern: "^DMIC[1-9]$"
56c66ec88fSEmmanuel Vadot
575def4c47SEmmanuel Vadot  ports:
582eb4d8dcSEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
595def4c47SEmmanuel Vadot    properties:
605def4c47SEmmanuel Vadot      port@0:
612eb4d8dcSEmmanuel Vadot        $ref: audio-graph-port.yaml#
622eb4d8dcSEmmanuel Vadot        unevaluatedProperties: false
635def4c47SEmmanuel Vadot        description: |
645def4c47SEmmanuel Vadot          DMIC ACIF (Audio Client Interface) port connected to the
655def4c47SEmmanuel Vadot          corresponding AHUB (Audio Hub) ACIF port.
665def4c47SEmmanuel Vadot
675def4c47SEmmanuel Vadot      port@1:
682eb4d8dcSEmmanuel Vadot        $ref: audio-graph-port.yaml#
692eb4d8dcSEmmanuel Vadot        unevaluatedProperties: false
705def4c47SEmmanuel Vadot        description: |
715def4c47SEmmanuel Vadot          DMIC DAP (Digital Audio Port) interface which can be connected
725def4c47SEmmanuel Vadot          to external audio codec for capture.
735def4c47SEmmanuel Vadot
74c66ec88fSEmmanuel Vadotrequired:
75c66ec88fSEmmanuel Vadot  - compatible
76c66ec88fSEmmanuel Vadot  - reg
77c66ec88fSEmmanuel Vadot  - clocks
78c66ec88fSEmmanuel Vadot  - clock-names
79c66ec88fSEmmanuel Vadot  - assigned-clocks
80c66ec88fSEmmanuel Vadot  - assigned-clock-parents
81c66ec88fSEmmanuel Vadot
822eb4d8dcSEmmanuel VadotadditionalProperties: false
836be33864SEmmanuel Vadot
84c66ec88fSEmmanuel Vadotexamples:
85c66ec88fSEmmanuel Vadot  - |
86c66ec88fSEmmanuel Vadot    #include<dt-bindings/clock/tegra210-car.h>
87c66ec88fSEmmanuel Vadot
88c66ec88fSEmmanuel Vadot    dmic@702d4000 {
89c66ec88fSEmmanuel Vadot        compatible = "nvidia,tegra210-dmic";
90c66ec88fSEmmanuel Vadot        reg = <0x702d4000 0x100>;
91c66ec88fSEmmanuel Vadot        clocks = <&tegra_car TEGRA210_CLK_DMIC1>;
92c66ec88fSEmmanuel Vadot        clock-names = "dmic";
93c66ec88fSEmmanuel Vadot        assigned-clocks = <&tegra_car TEGRA210_CLK_DMIC1>;
94c66ec88fSEmmanuel Vadot        assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
95c66ec88fSEmmanuel Vadot        assigned-clock-rates = <3072000>;
96c66ec88fSEmmanuel Vadot        sound-name-prefix = "DMIC1";
97c66ec88fSEmmanuel Vadot    };
98c66ec88fSEmmanuel Vadot
99c66ec88fSEmmanuel Vadot...
100