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

Linux 6.18.37 · Devicetree Bindings / Sound

Cirrus CS35L32 audio codec

CS35L32의 boost, SDOUT, battery threshold와 전원을 설명합니다.

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

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

1. 요약·해설

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

요약과 해설

cs35l32.txt:1-62

Audio routing, clock, port와 codec control 속성을 먼저 해설하고, 접을 수 있는 영어 원문 전체와 원문 줄 좌표를 보존한 한국어 전문 번역을 제공합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 CS35L32 audio CODEC
2
3 Required properties:
4
5 - compatible : "cirrus,cs35l32"
6
7 - reg : the I2C address of the device for I2C. Address is determined by the level
8 of the AD0 pin. Level 0 is 0x40 while Level 1 is 0x41.
9
10 - VA-supply, VP-supply : power supplies for the device,
11 as covered in Documentation/devicetree/bindings/regulator/regulator.txt.
12
13 Optional properties:
14
15 - reset-gpios : a GPIO spec for the reset pin. If specified, it will be
16 deasserted before communication to the codec starts.
17
18 - cirrus,boost-manager : Boost voltage control.
19 0 = Automatically managed. Boost-converter output voltage is the higher
20 of the two: Class G or adaptive LED voltage.
21 1 = Automatically managed irrespective of audio, adapting for low-power
22 dissipation when LEDs are ON, and operating in Fixed-Boost Bypass Mode
23 if LEDs are OFF (VBST = VP).
24 2 = (Default) Boost voltage fixed in Bypass Mode (VBST = VP).
25 3 = Boost voltage fixed at 5 V.
26
27 - cirrus,sdout-datacfg : Data configuration for dual CS35L32 applications only.
28 Determines the data packed in a two-CS35L32 configuration.
29 0 = Left/right channels VMON[11:0], IMON[11:0], VPMON[7:0].
30 1 = Left/right channels VMON[11:0], IMON[11:0], STATUS.
31 2 = (Default) left/right channels VMON[15:0], IMON [15:0].
32 3 = Left/right channels VPMON[7:0], STATUS.
33
34 - cirrus,sdout-share : SDOUT sharing. Determines whether one or two CS35L32
35 devices are on board sharing SDOUT.
36 0 = (Default) One IC.
37 1 = Two IC's.
38
39 - cirrus,battery-recovery : Low battery nominal recovery threshold, rising VP.
40 0 = 3.1V
41 1 = 3.2V
42 2 = 3.3V (Default)
43 3 = 3.4V
44
45 - cirrus,battery-threshold : Low battery nominal threshold, falling VP.
46 0 = 3.1V
47 1 = 3.2V
48 2 = 3.3V
49 3 = 3.4V (Default)
50 4 = 3.5V
51 5 = 3.6V
52
53 Example:
54
55 codec: codec@40 {
56 compatible = "cirrus,cs35l32";
57 reg = <0x40>;
58 reset-gpios = <&gpio 10 0>;
59 cirrus,boost-manager = <0x03>;
60 cirrus,sdout-datacfg = <0x02>;
61 VA-supply = <&reg_audio>;
62 };
63

3. 한국어 전문 번역

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

CS35L32 필수 속성

1-12

CS35L32 audio codec의 `compatible`은 `cirrus,cs35l32`입니다. I2C address인 `reg`는 AD0 pin level 0일 때 `0x40`, level 1일 때 `0x41`입니다.

`VA-supply`와 `VP-supply`는 `Documentation/devicetree/bindings/regulator/regulator.txt`에 따라 device 전원을 지정합니다.

Reset과 boost manager

13-26

선택 `reset-gpios`는 reset pin이며 지정하면 codec 통신을 시작하기 전에 deassert됩니다.

`cirrus,boost-manager` 0은 Class G와 adaptive LED voltage 중 높은 값을 자동 선택합니다. 1은 audio와 무관하게 자동 관리하며 LED가 켜지면 low-power dissipation에 적응하고 꺼지면 Fixed-Boost Bypass Mode(`VBST = VP`)로 동작합니다.

값 2는 기본값으로 boost voltage를 Bypass Mode에 고정하고, 값 3은 5V로 고정합니다.

Dual-device SDOUT data와 sharing

27-38

dual CS35L32에서만 쓰는 `cirrus,sdout-datacfg`는 두 device 구성에서 pack할 data를 선택합니다. 값 0은 좌우 VMON[11:0]·IMON[11:0]·VPMON[7:0], 1은 VMON[11:0]·IMON[11:0]·STATUS, 기본값 2는 VMON[15:0]·IMON[15:0], 3은 VPMON[7:0]·STATUS입니다.

`cirrus,sdout-share`는 SDOUT을 공유하는 CS35L32 수입니다. 기본값 0은 IC 하나, 1은 IC 두 개를 뜻합니다.

Battery threshold

39-52

`cirrus,battery-recovery`는 VP가 상승할 때 low-battery nominal recovery threshold입니다. 값 0~3은 3.1V, 3.2V, 기본 3.3V, 3.4V에 대응합니다.

`cirrus,battery-threshold`는 VP가 하강할 때 low-battery nominal threshold입니다. 값 0~5는 3.1V~3.6V를 0.1V 간격으로 나타내며 기본값 3은 3.4V입니다.

CS35L32 예제

53-62

예제는 address `0x40`, reset GPIO, 5V fixed boost, 16-bit VMON·IMON SDOUT data와 VA supply를 지정합니다.

codec: codec@40 {
        compatible = "cirrus,cs35l32";
        reg = <0x40>;
        reset-gpios = <&gpio 10 0>;
        cirrus,boost-manager = <0x03>;
        cirrus,sdout-datacfg = <0x02>;
        VA-supply = <&reg_audio>;
};