xref: /freebsd/sys/contrib/device-tree/Bindings/sound/fsl,micfil.yaml (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
1b97ee269SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2b97ee269SEmmanuel Vadot%YAML 1.2
3b97ee269SEmmanuel Vadot---
4b97ee269SEmmanuel Vadot$id: http://devicetree.org/schemas/sound/fsl,micfil.yaml#
5b97ee269SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6b97ee269SEmmanuel Vadot
7b97ee269SEmmanuel Vadottitle: NXP MICFIL Digital Audio Interface (MICFIL)
8b97ee269SEmmanuel Vadot
9b97ee269SEmmanuel Vadotmaintainers:
10b97ee269SEmmanuel Vadot  - Shengjiu Wang <shengjiu.wang@nxp.com>
11b97ee269SEmmanuel Vadot
12b97ee269SEmmanuel Vadotdescription: |
13b97ee269SEmmanuel Vadot  The MICFIL digital interface provides a 16-bit or 24-bit audio signal
14b97ee269SEmmanuel Vadot  from a PDM microphone bitstream in a configurable output sampling rate.
15b97ee269SEmmanuel Vadot
16b97ee269SEmmanuel Vadotproperties:
17b97ee269SEmmanuel Vadot  compatible:
18b97ee269SEmmanuel Vadot    enum:
19b97ee269SEmmanuel Vadot      - fsl,imx8mm-micfil
20b97ee269SEmmanuel Vadot      - fsl,imx8mp-micfil
218bab661aSEmmanuel Vadot      - fsl,imx93-micfil
22b97ee269SEmmanuel Vadot
23b97ee269SEmmanuel Vadot  reg:
24b97ee269SEmmanuel Vadot    maxItems: 1
25b97ee269SEmmanuel Vadot
26b97ee269SEmmanuel Vadot  interrupts:
27b97ee269SEmmanuel Vadot    items:
28b97ee269SEmmanuel Vadot      - description: Digital Microphone interface interrupt
29b97ee269SEmmanuel Vadot      - description: Digital Microphone interface error interrupt
30b97ee269SEmmanuel Vadot      - description: voice activity detector event interrupt
31b97ee269SEmmanuel Vadot      - description: voice activity detector error interrupt
32b97ee269SEmmanuel Vadot
33b97ee269SEmmanuel Vadot  dmas:
34b97ee269SEmmanuel Vadot    items:
35b97ee269SEmmanuel Vadot      - description: DMA controller phandle and request line for RX
36b97ee269SEmmanuel Vadot
37b97ee269SEmmanuel Vadot  dma-names:
38b97ee269SEmmanuel Vadot    items:
39b97ee269SEmmanuel Vadot      - const: rx
40b97ee269SEmmanuel Vadot
41b97ee269SEmmanuel Vadot  clocks:
42b97ee269SEmmanuel Vadot    items:
43b97ee269SEmmanuel Vadot      - description: The ipg clock for register access
44b97ee269SEmmanuel Vadot      - description: internal micfil clock
45b97ee269SEmmanuel Vadot      - description: PLL clock source for 8kHz series
46b97ee269SEmmanuel Vadot      - description: PLL clock source for 11kHz series
47b97ee269SEmmanuel Vadot      - description: External clock 3
48b97ee269SEmmanuel Vadot    minItems: 2
49b97ee269SEmmanuel Vadot
50b97ee269SEmmanuel Vadot  clock-names:
51b97ee269SEmmanuel Vadot    items:
52b97ee269SEmmanuel Vadot      - const: ipg_clk
53b97ee269SEmmanuel Vadot      - const: ipg_clk_app
54b97ee269SEmmanuel Vadot      - const: pll8k
55b97ee269SEmmanuel Vadot      - const: pll11k
56b97ee269SEmmanuel Vadot      - const: clkext3
57b97ee269SEmmanuel Vadot    minItems: 2
58b97ee269SEmmanuel Vadot
59*aa1a8ff2SEmmanuel Vadot  "#sound-dai-cells":
60*aa1a8ff2SEmmanuel Vadot    const: 0
61*aa1a8ff2SEmmanuel Vadot
62b97ee269SEmmanuel Vadotrequired:
63b97ee269SEmmanuel Vadot  - compatible
64b97ee269SEmmanuel Vadot  - reg
65b97ee269SEmmanuel Vadot  - interrupts
66b97ee269SEmmanuel Vadot  - dmas
67b97ee269SEmmanuel Vadot  - dma-names
68b97ee269SEmmanuel Vadot  - clocks
69b97ee269SEmmanuel Vadot  - clock-names
70b97ee269SEmmanuel Vadot
71b97ee269SEmmanuel VadotadditionalProperties: false
72b97ee269SEmmanuel Vadot
73b97ee269SEmmanuel Vadotexamples:
74b97ee269SEmmanuel Vadot  - |
75b97ee269SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
76b97ee269SEmmanuel Vadot    #include <dt-bindings/clock/imx8mm-clock.h>
77b97ee269SEmmanuel Vadot    micfil: audio-controller@30080000 {
78b97ee269SEmmanuel Vadot        compatible = "fsl,imx8mm-micfil";
79b97ee269SEmmanuel Vadot        reg = <0x30080000 0x10000>;
80b97ee269SEmmanuel Vadot        interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
81b97ee269SEmmanuel Vadot                     <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
82b97ee269SEmmanuel Vadot                     <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
83b97ee269SEmmanuel Vadot                     <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
84b97ee269SEmmanuel Vadot        clocks = <&clk IMX8MM_CLK_PDM_IPG>,
85b97ee269SEmmanuel Vadot                 <&clk IMX8MM_CLK_PDM_ROOT>;
86b97ee269SEmmanuel Vadot        clock-names = "ipg_clk", "ipg_clk_app";
87b97ee269SEmmanuel Vadot        dmas = <&sdma2 24 25 0>;
88b97ee269SEmmanuel Vadot        dma-names = "rx";
89b97ee269SEmmanuel Vadot    };
90