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