← Documents Documentation/devicetree/bindings/sound/fsl,imx-audio-es8328.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / Sound

i.MX audio complex with ES8328

ES8328 machine card의 SSI·codec·jack 연결, audio routing과 AUDMUX port를 설명합니다.

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

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

1. 요약·해설

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

요약과 해설

fsl,imx-audio-es8328.yaml:1-111

Freescale/NXP audio sample-rate conversion, board-level codec routing과 CM7 SOF 처리 경로의 핵심 속성을 먼저 해설하고, 접을 수 있는 영어 원문 전체와 원문 줄 좌표를 보존한 한국어 전문 번역을 제공합니다.

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,imx-audio-es8328.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Freescale i.MX audio complex with ES8328 codec
8
9 maintainers:
10 - Shawn Guo <[email protected]>
11 - Sascha Hauer <[email protected]>
12
13 allOf:
14 - $ref: sound-card-common.yaml#
15
16 properties:
17 compatible:
18 const: fsl,imx-audio-es8328
19
20 model:
21 $ref: /schemas/types.yaml#/definitions/string
22 description: The user-visible name of this sound complex
23
24 ssi-controller:
25 $ref: /schemas/types.yaml#/definitions/phandle
26 description: The phandle of the i.MX SSI controller
27
28 jack-gpio:
29 description: Optional GPIO for headphone jack
30 maxItems: 1
31
32 audio-amp-supply:
33 description: Power regulator for speaker amps
34
35 audio-codec:
36 $ref: /schemas/types.yaml#/definitions/phandle
37 description: The phandle to the ES8328 audio codec
38
39 audio-routing:
40 $ref: /schemas/types.yaml#/definitions/non-unique-string-array
41 description: |
42 A list of the connections between audio components. Each entry
43 is a pair of strings, the first being the connection's sink, the second
44 being the connection's source. Valid names could be power supplies,
45 ES8328 pins, and the jacks on the board:
46
47 Power supplies:
48 * audio-amp
49
50 ES8328 pins:
51 * LOUT1
52 * LOUT2
53 * ROUT1
54 * ROUT2
55 * LINPUT1
56 * LINPUT2
57 * RINPUT1
58 * RINPUT2
59 * Mic PGA
60
61 Board connectors:
62 * Headphone
63 * Speaker
64 * Mic Jack
65
66 mux-int-port:
67 $ref: /schemas/types.yaml#/definitions/uint32
68 description: The internal port of the i.MX audio muxer (AUDMUX)
69 enum: [1, 2, 7]
70 default: 1
71
72 mux-ext-port:
73 $ref: /schemas/types.yaml#/definitions/uint32
74 description: The external port of the i.MX audio muxer (AUDMIX)
75 enum: [3, 4, 5, 6]
76 default: 3
77
78 required:
79 - compatible
80 - model
81 - ssi-controller
82 - jack-gpio
83 - audio-amp-supply
84 - audio-codec
85 - audio-routing
86 - mux-int-port
87 - mux-ext-port
88
89 unevaluatedProperties: false
90
91 examples:
92 - |
93 sound {
94 compatible = "fsl,imx-audio-es8328";
95 model = "imx-audio-es8328";
96 ssi-controller = <&ssi1>;
97 audio-codec = <&codec>;
98 jack-gpio = <&gpio5 15 0>;
99 audio-amp-supply = <&reg_audio_amp>;
100 audio-routing =
101 "Speaker", "LOUT2",
102 "Speaker", "ROUT2",
103 "Speaker", "audio-amp",
104 "Headphone", "ROUT1",
105 "Headphone", "LOUT1",
106 "LINPUT1", "Mic Jack",
107 "RINPUT1", "Mic Jack",
108 "Mic Jack", "Mic Bias";
109 mux-int-port = <1>;
110 mux-ext-port = <3>;
111 };
112

3. 한국어 전문 번역

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

i.MX와 ES8328 sound complex

1-15

이 YAML binding은 ES8328 codec을 사용하는 Freescale i.MX audio complex를 정의합니다. Schema ID는 `http://devicetree.org/schemas/sound/fsl,imx-audio-es8328.yaml#`이며 Shawn Guo와 Sascha Hauer가 유지관리합니다. 공통 sound card 규칙인 `sound-card-common.yaml#`을 상속합니다.

Card, SSI, jack과 codec 연결

16-38

`compatible`은 `fsl,imx-audio-es8328`로 고정됩니다. `model`은 사용자에게 보이는 sound complex 이름이고 `ssi-controller`는 i.MX SSI controller의 phandle입니다.

`jack-gpio`는 headphone jack을 위한 선택적 GPIO로 최대 한 항목이며, `audio-amp-supply`는 speaker amplifier의 power regulator입니다. `audio-codec`은 ES8328 audio codec을 가리키는 phandle입니다.

Audio routing의 sink와 source

39-65

`audio-routing`은 audio component 사이 연결 목록입니다. 각 항목은 두 문자열의 pair이며 첫 문자열은 connection의 sink, 두 번째는 source입니다.

유효한 이름에는 power supply `audio-amp`, ES8328 pin `LOUT1`, `LOUT2`, `ROUT1`, `ROUT2`, `LINPUT1`, `LINPUT2`, `RINPUT1`, `RINPUT2`, `Mic PGA`, 그리고 board connector `Headphone`, `Speaker`, `Mic Jack`이 포함됩니다.

AUDMUX 내부·외부 port

66-77

`mux-int-port`는 i.MX audio muxer(AUDMUX)의 internal port이며 1, 2, 7 중 하나이고 기본값은 1입니다. `mux-ext-port`는 external port이며 3, 4, 5, 6 중 하나이고 기본값은 3입니다. 원문의 external port 설명에 적힌 `AUDMIX` 표기는 그대로 보존합니다.

필수 속성과 확장 제한

78-90

필수 속성은 `compatible`, `model`, `ssi-controller`, `jack-gpio`, `audio-amp-supply`, `audio-codec`, `audio-routing`, `mux-int-port`, `mux-ext-port`입니다. `unevaluatedProperties: false`이므로 공통 schema까지 평가한 뒤 정의되지 않은 추가 속성을 허용하지 않습니다.

ES8328 machine card 예제

91-111

예제 sound node는 SSI1과 codec을 연결하고 GPIO5 pin 15를 jack 감지에 사용합니다. Speaker는 `LOUT2`, `ROUT2`, `audio-amp`에서, Headphone은 `ROUT1`, `LOUT1`에서 신호를 받으며 microphone 입력은 `LINPUT1`과 `RINPUT1`로 route됩니다. AUDMUX port는 내부 1, 외부 3입니다.

sound {
    compatible = "fsl,imx-audio-es8328";
    model = "imx-audio-es8328";
    ssi-controller = <&ssi1>;
    audio-codec = <&codec>;
    jack-gpio = <&gpio5 15 0>;
    audio-amp-supply = <&reg_audio_amp>;
    audio-routing =
        "Speaker", "LOUT2",
        "Speaker", "ROUT2",
        "Speaker", "audio-amp",
        "Headphone", "ROUT1",
        "Headphone", "LOUT1",
        "LINPUT1", "Mic Jack",
        "RINPUT1", "Mic Jack",
        "Mic Jack", "Mic Bias";
    mux-int-port = <1>;
    mux-ext-port = <3>;
};