← Documents Documentation/devicetree/bindings/sound/cs42l52.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / Sound

Cirrus CS42L52 audio codec

CS42L52의 charge pump, microphone input과 MICBIAS를 설명합니다.

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

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

1. 요약·해설

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

요약과 해설

cs42l52.txt:1-46

Codec의 주소·전원·clock·analog input과 측정 속성을 먼저 해설하고, 접을 수 있는 영어 원문 전체와 원문 줄 좌표를 보존한 한국어 전문 번역을 제공합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 CS42L52 audio CODEC
2
3 Required properties:
4
5 - compatible : "cirrus,cs42l52"
6
7 - reg : the I2C address of the device for I2C
8
9 Optional properties:
10
11 - cirrus,reset-gpio : GPIO controller's phandle and the number
12 of the GPIO used to reset the codec.
13
14 - cirrus,chgfreq-divisor : Values used to set the Charge Pump Frequency.
15 Allowable values of 0x00 through 0x0F. These are raw values written to the
16 register, not the actual frequency. The frequency is determined by the following.
17 Frequency = (64xFs)/(N+2)
18 N = chgfreq_val
19 Fs = Sample Rate (variable)
20
21 - cirrus,mica-differential-cfg : boolean, If present, then the MICA input is configured
22 as a differential input. If not present then the MICA input is configured as
23 Single-ended input. Single-ended mode allows for MIC1 or MIC2 muxing for input.
24
25 - cirrus,micb-differential-cfg : boolean, If present, then the MICB input is configured
26 as a differential input. If not present then the MICB input is configured as
27 Single-ended input. Single-ended mode allows for MIC1 or MIC2 muxing for input.
28
29 - cirrus,micbias-lvl: Set the output voltage level on the MICBIAS Pin
30 0 = 0.5 x VA
31 1 = 0.6 x VA
32 2 = 0.7 x VA
33 3 = 0.8 x VA
34 4 = 0.83 x VA
35 5 = 0.91 x VA
36
37 Example:
38
39 codec: codec@4a {
40 compatible = "cirrus,cs42l52";
41 reg = <0x4a>;
42 reset-gpio = <&gpio 10 0>;
43 cirrus,chgfreq-divisor = <0x05>;
44 cirrus.mica-differential-cfg;
45 cirrus,micbias-lvl = <5>;
46 };
47

3. 한국어 전문 번역

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

CS42L52 필수 속성

1-8

CS42L52 audio CODEC의 `compatible` 값은 `cirrus,cs42l52`이고 `reg`에는 I2C 장치 주소를 지정합니다.

Reset과 charge pump frequency

9-20

`cirrus,reset-gpio`는 codec reset에 쓰는 GPIO controller phandle과 GPIO 번호입니다.

`cirrus,chgfreq-divisor`는 charge pump frequency register에 기록할 raw 값이며 `0x00`~`0x0F`를 허용합니다. 실제 주파수는 `Frequency = (64xFs)/(N+2)`이고, 여기서 `N = chgfreq_val`, `Fs`는 가변 sample rate입니다.

Microphone input과 MICBIAS

21-36

Boolean `cirrus,mica-differential-cfg`가 있으면 MICA input은 differential input이고, 없으면 MIC1 또는 MIC2를 mux할 수 있는 single-ended input입니다. `cirrus,micb-differential-cfg`도 MICB에 같은 방식으로 적용됩니다.

`cirrus,micbias-lvl`은 MICBIAS pin output voltage를 정합니다. 값 0~5는 각각 `0.5 x VA`, `0.6 x VA`, `0.7 x VA`, `0.8 x VA`, `0.83 x VA`, `0.91 x VA`입니다.

CS42L52 예제

37-46

예제는 I2C 주소 `0x4a`, reset GPIO, charge pump divisor `0x05`, MICA differential mode와 MICBIAS level 5를 지정합니다.

예제의 `reset-gpio`에는 설명에 있는 `cirrus,` 접두사가 없고 `cirrus.mica-differential-cfg`에는 comma 대신 dot이 쓰였습니다. 원문 코드는 수정하지 않았습니다.

codec: codec@4a {
        compatible = "cirrus,cs42l52";
        reg = <0x4a>;
        reset-gpio = <&gpio 10 0>;
        cirrus,chgfreq-divisor = <0x05>;
        cirrus.mica-differential-cfg;
        cirrus,micbias-lvl = <5>;
};