blob: bff551c35da7a6516498207f2c1e280c827c585d [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/sound/nvidia,tegra210-dmic.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Tegra210 DMIC Controller
8
9description: |
10 The Digital MIC (DMIC) Controller is used to interface with Pulse
11 Density Modulation (PDM) input devices. It converts PDM signals to
12 Pulse Coded Modulation (PCM) signals. DMIC can be viewed as a PDM
13 receiver.
14
15maintainers:
16 - Jon Hunter <jonathanh@nvidia.com>
17 - Sameer Pujar <spujar@nvidia.com>
18
19allOf:
20 - $ref: dai-common.yaml#
21
22properties:
23 $nodename:
24 pattern: "^dmic@[0-9a-f]*$"
25
26 compatible:
27 oneOf:
28 - const: nvidia,tegra210-dmic
29 - items:
30 - enum:
31 - nvidia,tegra234-dmic
32 - nvidia,tegra194-dmic
33 - nvidia,tegra186-dmic
34 - const: nvidia,tegra210-dmic
35
36 reg:
37 maxItems: 1
38
39 clocks:
40 maxItems: 1
41
42 clock-names:
43 const: dmic
44
45 assigned-clocks:
46 maxItems: 1
47
48 assigned-clock-parents:
49 maxItems: 1
50
51 assigned-clock-rates:
52 maxItems: 1
53
54 sound-name-prefix:
55 pattern: "^DMIC[1-9]$"
56
57 ports:
58 $ref: /schemas/graph.yaml#/properties/ports
59 properties:
60 port@0:
61 $ref: audio-graph-port.yaml#
62 unevaluatedProperties: false
63 description: |
64 DMIC ACIF (Audio Client Interface) port connected to the
65 corresponding AHUB (Audio Hub) ACIF port.
66
67 port@1:
68 $ref: audio-graph-port.yaml#
69 unevaluatedProperties: false
70 description: |
71 DMIC DAP (Digital Audio Port) interface which can be connected
72 to external audio codec for capture.
73
74required:
75 - compatible
76 - reg
77 - clocks
78 - clock-names
79 - assigned-clocks
80 - assigned-clock-parents
81
82additionalProperties: false
83
84examples:
85 - |
86 #include<dt-bindings/clock/tegra210-car.h>
87
88 dmic@702d4000 {
89 compatible = "nvidia,tegra210-dmic";
90 reg = <0x702d4000 0x100>;
91 clocks = <&tegra_car TEGRA210_CLK_DMIC1>;
92 clock-names = "dmic";
93 assigned-clocks = <&tegra_car TEGRA210_CLK_DMIC1>;
94 assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
95 assigned-clock-rates = <3072000>;
96 sound-name-prefix = "DMIC1";
97 };
98
99...