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

Linux 6.18.37 · Devicetree Bindings / Sound

Cirrus CS43130 DAC

CS43130 계열의 전원, crystal bias와 headphone impedance 측정을 설명합니다.

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

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

1. 요약·해설

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

요약과 해설

cs43130.txt:1-67

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

2. 영어 원문 전체

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

원문 전체 펼치기
1 CS43130 DAC
2
3 Required properties:
4
5 - compatible : "cirrus,cs43130", "cirrus,cs4399", "cirrus,cs43131",
6 "cirrus,cs43198"
7
8 - reg : the I2C address of the device for I2C
9
10 - VA-supply, VP-supply, VL-supply, VCP-supply, VD-supply:
11 power supplies for the device, as covered in
12 Documentation/devicetree/bindings/regulator/regulator.txt.
13
14
15 Optional properties:
16
17 - reset-gpios : Active low GPIO used to reset the device
18
19 - cirrus,xtal-ibias:
20 When external MCLK is generated by external crystal
21 oscillator, CS43130 can be used to provide bias current
22 for external crystal. Amount of bias current sent is
23 set as:
24 1 = 7.5uA
25 2 = 12.5uA
26 3 = 15uA
27
28 - cirrus,dc-measure:
29 Boolean, define to enable headphone DC impedance measurement.
30
31 - cirrus,ac-measure:
32 Boolean, define to enable headphone AC impedance measurement.
33 DC impedance must also be enabled for AC impedance measurement.
34
35 - cirrus,dc-threshold:
36 Define 2 DC impedance thresholds in ohms for HP output control.
37 Default values are 50 and 120 Ohms.
38
39 - cirrus,ac-freq:
40 Define the frequencies at which to measure HP AC impedance.
41 Only used if "cirrus,dc-measure" is defined.
42 Exactly 10 frequencies must be defined.
43 If this properties is undefined, by default,
44 following frequencies are used:
45 <24 43 93 200 431 928 2000 4309 9283 20000>
46 The above frequencies are logarithmically equally spaced.
47 Log base is 10.
48
49 Example:
50
51 cs43130: audio-codec@30 {
52 compatible = "cirrus,cs43130";
53 reg = <0x30>;
54 reset-gpios = <&axi_gpio 54 0>;
55 VA-supply = <&dummy_vreg>;
56 VP-supply = <&dummy_vreg>;
57 VL-supply = <&dummy_vreg>;
58 VCP-supply = <&dummy_vreg>;
59 VD-supply = <&dummy_vreg>;
60 cirrus,xtal-ibias = <2>;
61 interrupt-parent = <&gpio0>;
62 interrupts = <55 8>;
63 cirrus,dc-measure;
64 cirrus,ac-measure;
65 cirrus,dc-threshold = /bits/ 16 <20 100>;
66 cirrus,ac-freq = /bits/ 16 <24 43 93 200 431 928 2000 4309 9283 20000>;
67 };
68

3. 한국어 전문 번역

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

CS43130 계열 필수 속성

1-13

이 DAC binding은 `cirrus,cs43130`, `cirrus,cs4399`, `cirrus,cs43131`, `cirrus,cs43198` compatible을 지원합니다. `reg`에는 I2C 장치 주소를 지정합니다.

`VA-supply`, `VP-supply`, `VL-supply`, `VCP-supply`, `VD-supply`는 `Documentation/devicetree/bindings/regulator/regulator.txt`에 정의된 장치 전원을 가리킵니다.

Reset과 crystal bias

14-27

`reset-gpios`는 장치를 reset하는 active-low GPIO입니다.

외부 crystal oscillator가 MCLK를 만들 때 `cirrus,xtal-ibias`로 CS43130이 외부 crystal에 보낼 bias current를 정할 수 있습니다. 값 1은 7.5uA, 2는 12.5uA, 3은 15uA입니다.

Headphone impedance 측정

28-38

Boolean `cirrus,dc-measure`는 headphone DC impedance measurement를 활성화합니다. Boolean `cirrus,ac-measure`는 AC impedance measurement를 활성화하며, AC 측정에는 DC 측정도 함께 활성화해야 합니다.

`cirrus,dc-threshold`는 headphone output control에 사용할 두 DC impedance threshold를 ohm 단위로 정의합니다. 기본값은 50ohm과 120ohm입니다.

AC impedance 측정 주파수

39-48

`cirrus,ac-freq`는 headphone AC impedance를 측정할 주파수를 정의합니다. 정확히 10개를 지정해야 하며 원문은 `cirrus,dc-measure`가 정의된 경우에만 사용한다고 설명합니다.

속성이 없을 때 기본 주파수는 `<24 43 93 200 431 928 2000 4309 9283 20000>`입니다. 이 값들은 밑이 10인 logarithmic scale에서 같은 간격으로 배치됩니다.

CS43130 예제

49-67

예제는 I2C 주소 `0x30`, active-low reset, 다섯 전원 공급 장치와 crystal bias 12.5uA를 지정합니다. Interrupt를 연결하고 DC·AC impedance 측정, 두 threshold와 10개 측정 주파수를 16-bit 배열로 구성합니다.

cs43130: audio-codec@30 {
   compatible = "cirrus,cs43130";
   reg = <0x30>;
   reset-gpios = <&axi_gpio 54 0>;
   VA-supply = <&dummy_vreg>;
   VP-supply = <&dummy_vreg>;
   VL-supply = <&dummy_vreg>;
   VCP-supply = <&dummy_vreg>;
   VD-supply = <&dummy_vreg>;
   cirrus,xtal-ibias = <2>;
   interrupt-parent = <&gpio0>;
   interrupts = <55 8>;
   cirrus,dc-measure;
   cirrus,ac-measure;
   cirrus,dc-threshold = /bits/ 16 <20 100>;
   cirrus,ac-freq = /bits/ 16 <24 43 93 200 431 928 2000 4309 9283 20000>;
};