Linux 6.7-rc7
[linux-modified.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       - fsl,imx93-micfil
22
23   reg:
24     maxItems: 1
25
26   interrupts:
27     items:
28       - description: Digital Microphone interface interrupt
29       - description: Digital Microphone interface error interrupt
30       - description: voice activity detector event interrupt
31       - description: voice activity detector error interrupt
32
33   dmas:
34     items:
35       - description: DMA controller phandle and request line for RX
36
37   dma-names:
38     items:
39       - const: rx
40
41   clocks:
42     items:
43       - description: The ipg clock for register access
44       - description: internal micfil clock
45       - description: PLL clock source for 8kHz series
46       - description: PLL clock source for 11kHz series
47       - description: External clock 3
48     minItems: 2
49
50   clock-names:
51     items:
52       - const: ipg_clk
53       - const: ipg_clk_app
54       - const: pll8k
55       - const: pll11k
56       - const: clkext3
57     minItems: 2
58
59   "#sound-dai-cells":
60     const: 0
61
62 required:
63   - compatible
64   - reg
65   - interrupts
66   - dmas
67   - dma-names
68   - clocks
69   - clock-names
70
71 additionalProperties: false
72
73 examples:
74   - |
75     #include <dt-bindings/interrupt-controller/arm-gic.h>
76     #include <dt-bindings/clock/imx8mm-clock.h>
77     micfil: audio-controller@30080000 {
78         compatible = "fsl,imx8mm-micfil";
79         reg = <0x30080000 0x10000>;
80         interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
81                      <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
82                      <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
83                      <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
84         clocks = <&clk IMX8MM_CLK_PDM_IPG>,
85                  <&clk IMX8MM_CLK_PDM_ROOT>;
86         clock-names = "ipg_clk", "ipg_clk_app";
87         dmas = <&sdma2 24 25 0>;
88         dma-names = "rx";
89     };