xref: /freebsd/sys/contrib/device-tree/Bindings/sound/nvidia,tegra210-dmic.yaml (revision 8cc087a1eee9ec1ca9f7ac1e63ad51bdb5a682eb)
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
7c66ec88fSEmmanuel Vadottitle: Tegra210 DMIC Controller Device Tree Bindings
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
19*8cc087a1SEmmanuel VadotallOf:
20*8cc087a1SEmmanuel Vadot  - $ref: name-prefix.yaml#
21*8cc087a1SEmmanuel 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:
31c66ec88fSEmmanuel Vadot              - nvidia,tegra194-dmic
32c66ec88fSEmmanuel Vadot              - nvidia,tegra186-dmic
33c66ec88fSEmmanuel Vadot          - const: nvidia,tegra210-dmic
34c66ec88fSEmmanuel Vadot
35c66ec88fSEmmanuel Vadot  reg:
36c66ec88fSEmmanuel Vadot    maxItems: 1
37c66ec88fSEmmanuel Vadot
38c66ec88fSEmmanuel Vadot  clocks:
39c66ec88fSEmmanuel Vadot    maxItems: 1
40c66ec88fSEmmanuel Vadot
41c66ec88fSEmmanuel Vadot  clock-names:
42c66ec88fSEmmanuel Vadot    const: dmic
43c66ec88fSEmmanuel Vadot
44c66ec88fSEmmanuel Vadot  assigned-clocks:
45c66ec88fSEmmanuel Vadot    maxItems: 1
46c66ec88fSEmmanuel Vadot
47c66ec88fSEmmanuel Vadot  assigned-clock-parents:
48c66ec88fSEmmanuel Vadot    maxItems: 1
49c66ec88fSEmmanuel Vadot
50c66ec88fSEmmanuel Vadot  assigned-clock-rates:
51c66ec88fSEmmanuel Vadot    maxItems: 1
52c66ec88fSEmmanuel Vadot
53c66ec88fSEmmanuel Vadot  sound-name-prefix:
54c66ec88fSEmmanuel Vadot    pattern: "^DMIC[1-9]$"
55c66ec88fSEmmanuel Vadot
565def4c47SEmmanuel Vadot  ports:
572eb4d8dcSEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
585def4c47SEmmanuel Vadot    properties:
595def4c47SEmmanuel Vadot      port@0:
602eb4d8dcSEmmanuel Vadot        $ref: audio-graph-port.yaml#
612eb4d8dcSEmmanuel Vadot        unevaluatedProperties: false
625def4c47SEmmanuel Vadot        description: |
635def4c47SEmmanuel Vadot          DMIC ACIF (Audio Client Interface) port connected to the
645def4c47SEmmanuel Vadot          corresponding AHUB (Audio Hub) ACIF port.
655def4c47SEmmanuel Vadot
665def4c47SEmmanuel Vadot      port@1:
672eb4d8dcSEmmanuel Vadot        $ref: audio-graph-port.yaml#
682eb4d8dcSEmmanuel Vadot        unevaluatedProperties: false
695def4c47SEmmanuel Vadot        description: |
705def4c47SEmmanuel Vadot          DMIC DAP (Digital Audio Port) interface which can be connected
715def4c47SEmmanuel Vadot          to external audio codec for capture.
725def4c47SEmmanuel Vadot
73c66ec88fSEmmanuel Vadotrequired:
74c66ec88fSEmmanuel Vadot  - compatible
75c66ec88fSEmmanuel Vadot  - reg
76c66ec88fSEmmanuel Vadot  - clocks
77c66ec88fSEmmanuel Vadot  - clock-names
78c66ec88fSEmmanuel Vadot  - assigned-clocks
79c66ec88fSEmmanuel Vadot  - assigned-clock-parents
80c66ec88fSEmmanuel Vadot
812eb4d8dcSEmmanuel VadotadditionalProperties: false
826be33864SEmmanuel Vadot
83c66ec88fSEmmanuel Vadotexamples:
84c66ec88fSEmmanuel Vadot  - |
85c66ec88fSEmmanuel Vadot    #include<dt-bindings/clock/tegra210-car.h>
86c66ec88fSEmmanuel Vadot
87c66ec88fSEmmanuel Vadot    dmic@702d4000 {
88c66ec88fSEmmanuel Vadot        compatible = "nvidia,tegra210-dmic";
89c66ec88fSEmmanuel Vadot        reg = <0x702d4000 0x100>;
90c66ec88fSEmmanuel Vadot        clocks = <&tegra_car TEGRA210_CLK_DMIC1>;
91c66ec88fSEmmanuel Vadot        clock-names = "dmic";
92c66ec88fSEmmanuel Vadot        assigned-clocks = <&tegra_car TEGRA210_CLK_DMIC1>;
93c66ec88fSEmmanuel Vadot        assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
94c66ec88fSEmmanuel Vadot        assigned-clock-rates = <3072000>;
95c66ec88fSEmmanuel Vadot        sound-name-prefix = "DMIC1";
96c66ec88fSEmmanuel Vadot    };
97c66ec88fSEmmanuel Vadot
98c66ec88fSEmmanuel Vadot...
99