← Documents Documentation/devicetree/bindings/sound/fsl,micfil.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / Sound

NXP MICFIL digital audio interface

PDM microphone 입력, 네 interrupt, RX DMA와 MICFIL clock 구성을 설명합니다.

Source pathDocumentation/devicetree/bindings/sound/fsl,micfil.yaml
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약과 해설

fsl,micfil.yaml:1-96

NXP/Freescale digital microphone, GPIO audio, SGTL5000 machine card와 QMC multichannel audio의 핵심 signal path와 조건부 속성을 먼저 해설하고, 접을 수 있는 영어 원문 전체와 줄 좌표를 보존한 한국어 전문 번역을 제공합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

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

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

NXP MICFIL digital audio interface

1-15

이 YAML binding은 NXP MICFIL Digital Audio Interface를 정의합니다. MICFIL은 PDM microphone bitstream에서 구성 가능한 출력 sampling rate의 16-bit 또는 24-bit audio signal을 생성합니다. Schema ID는 `http://devicetree.org/schemas/sound/fsl,micfil.yaml#`이며 maintainer는 Shengjiu Wang입니다.

SoC 호환성과 네 interrupt

16-39

`compatible`은 `fsl,imx95-micfil` 뒤에 fallback `fsl,imx93-micfil`을 두는 배열이거나 `fsl,imx8mm-micfil`, `fsl,imx8mp-micfil`, `fsl,imx93-micfil`, `fsl,imx943-micfil` 중 하나입니다. `reg`는 최대 한 항목입니다.

`interrupts`의 네 항목은 순서대로 Digital Microphone interface interrupt, interface error interrupt, voice activity detector event interrupt, voice activity detector error interrupt입니다.

RX DMA와 MICFIL clock 집합

40-68

`dmas`는 RX용 DMA controller phandle과 request line 한 항목이고 `dma-names`는 `rx`입니다.

`clocks`는 최소 2개이며 register 접근용 IPG clock, internal MICFIL clock, 8 kHz 계열 PLL source, 11 kHz 계열 PLL source, external clock 3 순으로 최대 5개입니다. 대응하는 `clock-names`는 `ipg_clk`, `ipg_clk_app`, `pll8k`, `pll11k`, `clkext3`이며 최소 앞의 두 이름이 필요합니다. `#sound-dai-cells`는 0입니다.

필수 속성과 추가 속성 제한

69-79

필수 속성은 `compatible`, `reg`, `interrupts`, `dmas`, `dma-names`, `clocks`, `clock-names`입니다. `additionalProperties: false`이므로 정의되지 않은 속성은 허용하지 않습니다.

i.MX8MM MICFIL 예제

80-96

예제는 `0x30080000`의 MICFIL controller에 interface와 VAD용 interrupt 4개, PDM IPG/root clock, SDMA2 RX request 24를 연결합니다.

#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/clock/imx8mm-clock.h>
micfil: audio-controller@30080000 {
    compatible = "fsl,imx8mm-micfil";
    reg = <0x30080000 0x10000>;
    interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
                 <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
                 <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
                 <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
    clocks = <&clk IMX8MM_CLK_PDM_IPG>,
             <&clk IMX8MM_CLK_PDM_ROOT>;
    clock-names = "ipg_clk", "ipg_clk_app";
    dmas = <&sdma2 24 25 0>;
    dma-names = "rx";
};