← Documents Documentation/devicetree/bindings/sound/fsl,sgtl5000.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / Sound

Freescale SGTL5000 stereo codec

SGTL5000의 전원 rail, mic bias, LRCLK·SCLK pad strength와 audio graph를 설명합니다.

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

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

1. 요약·해설

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

요약과 해설

fsl,sgtl5000.yaml:1-113

Freescale/NXP codec, SOF processor, S/PDIF와 SSI의 clock·DMA·전원·signal mode를 먼저 해설하고, 접을 수 있는 영어 원문 전체와 표·symbol·줄 좌표를 보존한 한국어 전문 번역을 제공합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 # SPDX-License-Identifier: GPL-2.0-only
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/sound/fsl,sgtl5000.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Freescale SGTL5000 Stereo Codec
8
9 maintainers:
10 - Fabio Estevam <festevam@gmail.com>
11
12 allOf:
13 - $ref: dai-common.yaml#
14
15 properties:
16 compatible:
17 const: fsl,sgtl5000
18
19 reg:
20 maxItems: 1
21
22 "#sound-dai-cells":
23 const: 0
24
25 assigned-clock-parents: true
26 assigned-clock-rates: true
27 assigned-clocks: true
28
29 clocks:
30 items:
31 - description: the clock provider of SYS_MCLK
32
33 VDDA-supply:
34 description: the regulator provider of VDDA
35
36 VDDIO-supply:
37 description: the regulator provider of VDDIO
38
39 VDDD-supply:
40 description: the regulator provider of VDDD
41
42 micbias-resistor-k-ohms:
43 description: The bias resistor to be used in kOhms. The resistor can take
44 values of 2k, 4k or 8k. If set to 0 it will be off. If this node is not
45 mentioned or if the value is unknown, then micbias resistor is set to
46 4k.
47 enum: [ 0, 2, 4, 8 ]
48
49 micbias-voltage-m-volts:
50 description: The bias voltage to be used in mVolts. The voltage can take
51 values from 1.25V to 3V by 250mV steps. If this node is not mentioned
52 or the value is unknown, then the value is set to 1.25V.
53 $ref: /schemas/types.yaml#/definitions/uint32
54 enum: [ 1250, 1500, 1750, 2000, 2250, 2500, 2750, 3000 ]
55
56 lrclk-strength:
57 description: |
58 The LRCLK pad strength. Possible values are: 0, 1, 2 and 3 as per the
59 table below:
60
61 VDDIO 1.8V 2.5V 3.3V
62 0 = Disable
63 1 = 1.66 mA 2.87 mA 4.02 mA
64 2 = 3.33 mA 5.74 mA 8.03 mA
65 3 = 4.99 mA 8.61 mA 12.05 mA
66 $ref: /schemas/types.yaml#/definitions/uint32
67 enum: [ 0, 1, 2, 3 ]
68
69 sclk-strength:
70 description: |
71 The SCLK pad strength. Possible values are: 0, 1, 2 and 3 as per the
72 table below:
73
74 VDDIO 1.8V 2.5V 3.3V
75 0 = Disable
76 1 = 1.66 mA 2.87 mA 4.02 mA
77 2 = 3.33 mA 5.74 mA 8.03 mA
78 3 = 4.99 mA 8.61 mA 12.05 mA
79 $ref: /schemas/types.yaml#/definitions/uint32
80 enum: [ 0, 1, 2, 3 ]
81
82 port:
83 $ref: audio-graph-port.yaml#
84 unevaluatedProperties: false
85
86 required:
87 - compatible
88 - reg
89 - "#sound-dai-cells"
90 - clocks
91 - VDDA-supply
92 - VDDIO-supply
93
94 unevaluatedProperties: false
95
96 examples:
97 - |
98 i2c {
99 #address-cells = <1>;
100 #size-cells = <0>;
101
102 codec@a {
103 compatible = "fsl,sgtl5000";
104 reg = <0x0a>;
105 #sound-dai-cells = <0>;
106 clocks = <&clks 150>;
107 micbias-resistor-k-ohms = <2>;
108 micbias-voltage-m-volts = <2250>;
109 VDDA-supply = <&reg_3p3v>;
110 VDDIO-supply = <&reg_3p3v>;
111 };
112 };
113 ...
114

3. 한국어 전문 번역

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

Freescale SGTL5000 stereo codec

1-14

이 YAML binding은 Freescale SGTL5000 Stereo Codec을 정의합니다. `dai-common.yaml#`을 상속하며 schema ID는 `http://devicetree.org/schemas/sound/fsl,sgtl5000.yaml#`, maintainer는 Fabio Estevam입니다.

DAI, SYS_MCLK와 전원 regulator

15-41

`compatible`은 `fsl,sgtl5000`, `reg`는 최대 한 항목이며 `#sound-dai-cells`는 0입니다. `assigned-clock-parents`, `assigned-clock-rates`, `assigned-clocks` 공통 clock assignment 속성을 사용할 수 있습니다.

`clocks`는 `SYS_MCLK`의 clock provider 한 항목입니다. `VDDA-supply`, `VDDIO-supply`, `VDDD-supply`는 각각 해당 전원 rail의 regulator provider입니다.

Microphone bias resistor와 voltage

42-55

`micbias-resistor-k-ohms`는 kOhm 단위 bias resistor이며 0, 2, 4, 8 중 하나입니다. 0이면 꺼지고, 속성이 없거나 값을 알 수 없으면 4 kOhm을 사용합니다.

`micbias-voltage-m-volts`는 mV 단위 bias voltage이며 1250 mV부터 3000 mV까지 250 mV 간격으로 선택합니다. 속성이 없거나 값을 알 수 없으면 1250 mV가 기본값입니다.

LRCLK pad strength

56-68

`lrclk-strength`는 LRCLK pad drive strength를 0~3으로 설정합니다. VDDIO 전압별 전류는 다음과 같습니다.

설정VDDIO 1.8VVDDIO 2.5VVDDIO 3.3V
0DisableDisableDisable
11.66 mA2.87 mA4.02 mA
23.33 mA5.74 mA8.03 mA
34.99 mA8.61 mA12.05 mA

SCLK pad strength

69-81

`sclk-strength`는 SCLK pad drive strength를 0~3으로 설정하며 LRCLK와 같은 VDDIO별 전류 표를 사용합니다.

설정VDDIO 1.8VVDDIO 2.5VVDDIO 3.3V
0DisableDisableDisable
11.66 mA2.87 mA4.02 mA
23.33 mA5.74 mA8.03 mA
34.99 mA8.61 mA12.05 mA

Audio graph와 필수 속성

82-95

`port`는 `audio-graph-port.yaml#`을 참조하며 평가되지 않은 추가 속성을 허용하지 않습니다. 필수 속성은 `compatible`, `reg`, `#sound-dai-cells`, `clocks`, `VDDA-supply`, `VDDIO-supply`이며 전체 binding에서도 평가되지 않은 속성은 금지됩니다.

I2C SGTL5000 예제

96-113

예제는 I2C address `0x0a`의 SGTL5000에 clock 150, 2 kOhm mic bias resistor, 2250 mV bias voltage, 3.3 V VDDA/VDDIO regulator를 연결합니다.

    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        codec@a {
            compatible = "fsl,sgtl5000";
            reg = <0x0a>;
            #sound-dai-cells = <0>;
            clocks = <&clks 150>;
            micbias-resistor-k-ohms = <2>;
            micbias-voltage-m-volts = <2250>;
            VDDA-supply = <&reg_3p3v>;
            VDDIO-supply = <&reg_3p3v>;
        };
    };
...