Documentation/devicetree/bindings/sound/mt2701-cs42448.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / Sound

MT2701 CS42448 sound card

MT2701 CS42448 machine의 routing, codec, pinctrl과 I2S input mux GPIO를 설명합니다.

Source pathDocumentation/devicetree/bindings/sound/mt2701-cs42448.txt
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설, 영어 원문, 전체 번역을 구분해 실었습니다. API 이름, 코드 심벌, 소스 경로는 원문 표기를 유지합니다.

1. 요약·해설

원문의 핵심 내용을 정리하고 커널 프로그래밍에 필요한 설명을 덧붙였습니다. 아래의 전체 번역과는 별도로 작성한 해설입니다.

요약과 해설

mt2701-cs42448.txt:1-43

MT2701 CS42448 machine의 routing, codec, pinctrl과 I2S input mux GPIO를 설명합니다. 아래의 접을 수 있는 영어 원문은 source path와 줄 배치를 그대로 보존하고, 한국어 전문 번역은 property·phandle·symbol과 예제 코드를 원형으로 유지합니다.

2. 영어 원문 전체

번역에 사용한 Linux v6.18.37 원문입니다. 줄 번호는 해당 버전의 소스 파일을 기준으로 합니다.

원문 전체 펼치기
1 MT2701 with CS42448 CODEC
2
3 Required properties:
4 - compatible: "mediatek,mt2701-cs42448-machine"
5 - mediatek,platform: the phandle of MT2701 ASoC platform
6 - audio-routing: a list of the connections between audio
7 - mediatek,audio-codec: the phandles of cs42448 codec
8 - mediatek,audio-codec-bt-mrg the phandles of bt-sco dummy codec
9 - pinctrl-names: Should contain only one value - "default"
10 - pinctrl-0: Should specify pin control groups used for this controller.
11 - i2s1-in-sel-gpio1, i2s1-in-sel-gpio2: Should specify two gpio pins to
12 control I2S1-in mux.
13
14 Example:
15
16 sound:sound {
17 compatible = "mediatek,mt2701-cs42448-machine";
18 mediatek,platform = <&afe>;
19 /* CS42448 Machine name */
20 audio-routing =
21 "Line Out Jack", "AOUT1L",
22 "Line Out Jack", "AOUT1R",
23 "Line Out Jack", "AOUT2L",
24 "Line Out Jack", "AOUT2R",
25 "Line Out Jack", "AOUT3L",
26 "Line Out Jack", "AOUT3R",
27 "Line Out Jack", "AOUT4L",
28 "Line Out Jack", "AOUT4R",
29 "AIN1L", "AMIC",
30 "AIN1R", "AMIC",
31 "AIN2L", "Tuner In",
32 "AIN2R", "Tuner In",
33 "AIN3L", "Satellite Tuner In",
34 "AIN3R", "Satellite Tuner In",
35 "AIN3L", "AUX In",
36 "AIN3R", "AUX In";
37 mediatek,audio-codec = <&cs42448>;
38 mediatek,audio-codec-bt-mrg = <&bt_sco_codec>;
39 pinctrl-names = "default";
40 pinctrl-0 = <&aud_pins_default>;
41 i2s1-in-sel-gpio1 = <&pio 53 0>;
42 i2s1-in-sel-gpio2 = <&pio 54 0>;
43 };
44

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미에 맞춰 전체 내용을 번역했습니다. 코드, 함수명, 코드 심벌, URL은 원문 표기를 유지합니다.

MT2701 CS42448 machine 속성

1-13

`compatible`은 `mediatek,mt2701-cs42448-machine`, `mediatek,platform`은 MT2701 ASoC platform phandle입니다. `audio-routing`은 audio connection 목록, `mediatek,audio-codec`은 CS42448 codec phandle, `mediatek,audio-codec-bt-mrg`는 BT-SCO dummy codec phandle입니다.

`pinctrl-names`에는 `default` 하나만 두고 `pinctrl-0`에 controller가 쓰는 pin control group을 지정합니다. `i2s1-in-sel-gpio1`과 `i2s1-in-sel-gpio2`는 I2S1 input mux를 제어하는 두 GPIO pin입니다.

CS42448 routing 예제

14-43

예제는 네 stereo line output, AMIC, tuner, satellite tuner, AUX input route를 정의하고 CS42448·BT-SCO codec, 기본 pinctrl 및 GPIO 53·54를 연결합니다.

sound:sound {
        compatible = "mediatek,mt2701-cs42448-machine";
        mediatek,platform = <&afe>;
        /* CS42448 Machine name */
        audio-routing =
                "Line Out Jack", "AOUT1L",
                "Line Out Jack", "AOUT1R",
                "Line Out Jack", "AOUT2L",
                "Line Out Jack", "AOUT2R",
                "Line Out Jack", "AOUT3L",
                "Line Out Jack", "AOUT3R",
                "Line Out Jack", "AOUT4L",
                "Line Out Jack", "AOUT4R",
                "AIN1L", "AMIC",
                "AIN1R", "AMIC",
                "AIN2L", "Tuner In",
                "AIN2R", "Tuner In",
                "AIN3L", "Satellite Tuner In",
                "AIN3R", "Satellite Tuner In",
                "AIN3L", "AUX In",
                "AIN3R", "AUX In";
        mediatek,audio-codec = <&cs42448>;
        mediatek,audio-codec-bt-mrg = <&bt_sco_codec>;
        pinctrl-names = "default";
        pinctrl-0 = <&aud_pins_default>;
        i2s1-in-sel-gpio1 = <&pio 53 0>;
        i2s1-in-sel-gpio2 = <&pio 54 0>;
};