GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / sound / fsl,micfil.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/fsl,micfil.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: NXP MICFIL Digital Audio Interface (MICFIL)
8
9 maintainers:
10   - Shengjiu Wang <shengjiu.wang@nxp.com>
11
12 description: |
13   The MICFIL digital interface provides a 16-bit or 24-bit audio signal
14   from a PDM microphone bitstream in a configurable output sampling rate.
15
16 properties:
17   compatible:
18     enum:
19       - fsl,imx8mm-micfil
20       - fsl,imx8mp-micfil
21
22   reg:
23     maxItems: 1
24
25   interrupts:
26     items:
27       - description: Digital Microphone interface interrupt
28       - description: Digital Microphone interface error interrupt
29       - description: voice activity detector event interrupt
30       - description: voice activity detector error interrupt
31
32   dmas:
33     items:
34       - description: DMA controller phandle and request line for RX
35
36   dma-names:
37     items:
38       - const: rx
39
40   clocks:
41     items:
42       - description: The ipg clock for register access
43       - description: internal micfil clock
44       - description: PLL clock source for 8kHz series
45       - description: PLL clock source for 11kHz series
46       - description: External clock 3
47     minItems: 2
48
49   clock-names:
50     items:
51       - const: ipg_clk
52       - const: ipg_clk_app
53       - const: pll8k
54       - const: pll11k
55       - const: clkext3
56     minItems: 2
57
58 required:
59   - compatible
60   - reg
61   - interrupts
62   - dmas
63   - dma-names
64   - clocks
65   - clock-names
66
67 additionalProperties: false
68
69 examples:
70   - |
71     #include <dt-bindings/interrupt-controller/arm-gic.h>
72     #include <dt-bindings/clock/imx8mm-clock.h>
73     micfil: audio-controller@30080000 {
74         compatible = "fsl,imx8mm-micfil";
75         reg = <0x30080000 0x10000>;
76         interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
77                      <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
78                      <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
79                      <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
80         clocks = <&clk IMX8MM_CLK_PDM_IPG>,
81                  <&clk IMX8MM_CLK_PDM_ROOT>;
82         clock-names = "ipg_clk", "ipg_clk_app";
83         dmas = <&sdma2 24 25 0>;
84         dma-names = "rx";
85     };