ASoC: dt-bindings: Move port/ports properties out of audio-graph-port.yaml
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / sound / nvidia,tegra210-dmic.yaml
1 # 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
7 title: Tegra210 DMIC Controller Device Tree Bindings
8
9 description: |
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
15 maintainers:
16   - Jon Hunter <jonathanh@nvidia.com>
17   - Sameer Pujar <spujar@nvidia.com>
18
19 properties:
20   $nodename:
21     pattern: "^dmic@[0-9a-f]*$"
22
23   compatible:
24     oneOf:
25       - const: nvidia,tegra210-dmic
26       - items:
27           - enum:
28               - nvidia,tegra194-dmic
29               - nvidia,tegra186-dmic
30           - const: nvidia,tegra210-dmic
31
32   reg:
33     maxItems: 1
34
35   clocks:
36     maxItems: 1
37
38   clock-names:
39     const: dmic
40
41   assigned-clocks:
42     maxItems: 1
43
44   assigned-clock-parents:
45     maxItems: 1
46
47   assigned-clock-rates:
48     maxItems: 1
49
50   sound-name-prefix:
51     pattern: "^DMIC[1-9]$"
52     $ref: /schemas/types.yaml#/definitions/string
53     description:
54       used as prefix for sink/source names of the component. Must be a
55       unique string among multiple instances of the same component.
56       The name can be "DMIC1" or "DMIC2" ... "DMICx", where x depends
57       on the maximum available instances on a Tegra SoC.
58
59   ports:
60     $ref: /schemas/graph.yaml#/properties/ports
61     properties:
62       port@0:
63         $ref: audio-graph-port.yaml#
64         unevaluatedProperties: false
65         description: |
66           DMIC ACIF (Audio Client Interface) port connected to the
67           corresponding AHUB (Audio Hub) ACIF port.
68
69       port@1:
70         $ref: audio-graph-port.yaml#
71         unevaluatedProperties: false
72         description: |
73           DMIC DAP (Digital Audio Port) interface which can be connected
74           to external audio codec for capture.
75
76 required:
77   - compatible
78   - reg
79   - clocks
80   - clock-names
81   - assigned-clocks
82   - assigned-clock-parents
83
84 additionalProperties: false
85
86 examples:
87   - |
88     #include<dt-bindings/clock/tegra210-car.h>
89
90     dmic@702d4000 {
91         compatible = "nvidia,tegra210-dmic";
92         reg = <0x702d4000 0x100>;
93         clocks = <&tegra_car TEGRA210_CLK_DMIC1>;
94         clock-names = "dmic";
95         assigned-clocks = <&tegra_car TEGRA210_CLK_DMIC1>;
96         assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
97         assigned-clock-rates = <3072000>;
98         sound-name-prefix = "DMIC1";
99     };
100
101 ...