xref: /freebsd/sys/contrib/device-tree/Bindings/sound/nvidia,tegra210-dmic.yaml (revision dd41de95a84d979615a2ef11df6850622bf6184e)
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
7title: Tegra210 DMIC Controller Device Tree Bindings
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
19properties:
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
59required:
60  - compatible
61  - reg
62  - clocks
63  - clock-names
64  - assigned-clocks
65  - assigned-clock-parents
66
67additionalProperties: false
68
69examples:
70  - |
71    #include<dt-bindings/clock/tegra210-car.h>
72
73    dmic@702d4000 {
74        compatible = "nvidia,tegra210-dmic";
75        reg = <0x702d4000 0x100>;
76        clocks = <&tegra_car TEGRA210_CLK_DMIC1>;
77        clock-names = "dmic";
78        assigned-clocks = <&tegra_car TEGRA210_CLK_DMIC1>;
79        assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
80        assigned-clock-rates = <3072000>;
81        sound-name-prefix = "DMIC1";
82    };
83
84...
85