← Documents Documentation/devicetree/bindings/mfd/twl6040.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings

Texas Instruments TWL6040 Family

TWL6040 audio codec의 I2C·McPDM·GPO·clock·vibra 바인딩입니다.

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

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

1. 요약·해설

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

요약과 해설

twl6040.txt:1-67

8-channel audio와 vibra motor supply·resistance, OMAP4 예제의 원문 표기 차이를 설명합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 Texas Instruments TWL6040 family
2
3 The TWL6040s are 8-channel high quality low-power audio codecs providing audio,
4 vibra and GPO functionality on OMAP4+ platforms.
5 They are connected to the host processor via i2c for commands, McPDM for audio
6 data and commands.
7
8 Required properties:
9 - compatible : "ti,twl6040" for twl6040, "ti,twl6041" for twl6041
10 - reg: must be 0x4b for i2c address
11 - interrupts: twl6040 has one interrupt line connecteded to the main SoC
12 - gpio-controller:
13 - #gpio-cells = <1>: twl6040 provides GPO lines.
14 - #clock-cells = <0>; twl6040 is a provider of pdmclk which is used by McPDM
15 - twl6040,audpwron-gpio: Power on GPIO line for the twl6040
16
17 - vio-supply: Regulator for the twl6040 VIO supply
18 - v2v1-supply: Regulator for the twl6040 V2V1 supply
19
20 Optional properties, nodes:
21 - enable-active-high: To power on the twl6040 during boot.
22 - clocks: phandle to the clk32k and/or to mclk clock provider
23 - clock-names: Must be "clk32k" for the 32K clock and "mclk" for the MCLK.
24
25 Vibra functionality
26 Required properties:
27 - vddvibl-supply: Regulator for the left vibra motor
28 - vddvibr-supply: Regulator for the right vibra motor
29 - vibra { }: Configuration section for vibra parameters containing the following
30 properties:
31 - ti,vibldrv-res: Resistance parameter for left driver
32 - ti,vibrdrv-res: Resistance parameter for right driver
33 - ti,viblmotor-res: Resistance parameter for left motor
34 - ti,viblmotor-res: Resistance parameter for right motor
35
36 Optional properties within vibra { } section:
37 - vddvibl_uV: If the vddvibl default voltage need to be changed
38 - vddvibr_uV: If the vddvibr default voltage need to be changed
39
40 Example:
41 &i2c1 {
42 twl6040: twl@4b {
43 compatible = "ti,twl6040";
44
45 interrupts = <0 119 4>;
46 interrupt-parent = <&gic>;
47 twl6040,audpwron-gpio = <&gpio4 31 0>;
48
49 vio-supply = <&v1v8>;
50 v2v1-supply = <&v2v1>;
51 enable-active-high;
52
53 /* regulators for vibra motor */
54 vddvibl-supply = <&vbat>;
55 vddvibr-supply = <&vbat>;
56
57 vibra {
58 /* Vibra driver, motor resistance parameters */
59 ti,vibldrv-res = <8>;
60 ti,vibrdrv-res = <3>;
61 ti,viblmotor-res = <10>;
62 ti,vibrmotor-res = <10>;
63 };
64 };
65 };
66
67 /include/ "twl6040.dtsi"
68

3. 한국어 전문 번역

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

TI TWL6040 계열

1-7

TWL6040 계열은 OMAP4 이상 플랫폼에서 audio, vibra, GPO 기능을 제공하는 8-channel 고품질 저전력 audio codec입니다. 명령은 I2C로, audio data와 command는 McPDM으로 host processor에 연결됩니다.

TWL6040 host 연결
Host processorI2C commands
Host processorMcPDM audio data and commands
TWL6040Eight audio channels
TWL6040Vibra and GPO

제어·오디오·부가 기능의 연결 경로를 분리해 나타냈습니다.

I2C·IRQ·GPIO·clock·supply

8-19

`compatible`은 TWL6040에 `ti,twl6040`, TWL6041에 `ti,twl6041`입니다. `reg`는 I2C 주소 `0x4b`, `interrupts`는 main SoC에 연결된 TWL6040의 단일 interrupt line입니다.

`gpio-controller`와 `#gpio-cells = <1>`은 TWL6040이 GPO line을 제공함을 나타냅니다. `#clock-cells = <0>`은 McPDM이 사용하는 `pdmclk` provider임을 뜻합니다. `twl6040,audpwron-gpio`는 power-on GPIO line입니다.

`vio-supply`는 TWL6040 VIO supply regulator, `v2v1-supply`는 V2V1 supply regulator입니다.

선택 clock과 vibra 구성

20-39

선택 `enable-active-high`는 boot 중 TWL6040을 power-on합니다. `clocks`는 `clk32k` 또는 `mclk` clock provider의 phandle이며 `clock-names`는 32K clock에 `clk32k`, MCLK에 `mclk`를 사용해야 합니다.

Vibra 기능에는 left motor용 `vddvibl-supply`, right motor용 `vddvibr-supply`가 필요합니다. `vibra` 구성은 left·right driver와 motor의 resistance parameter를 담습니다.

TWL6040 vibra 속성
속성역할
ti,vibldrv-resLeft driver resistance
ti,vibrdrv-resRight driver resistance
ti,viblmotor-resLeft motor resistance
ti,viblmotor-resRight motor resistance, 원문 반복 표기
vddvibl_uVLeft vibra 기본 전압 변경
vddvibr_uVRight vibra 기본 전압 변경

원문 속성 이름과 역할입니다. 오른쪽 motor 항목의 설명에는 `ti,viblmotor-res`가 반복되지만 예제는 `ti,vibrmotor-res`를 사용합니다.

OMAP4 TWL6040·vibra 예제

40-67

예제는 GIC interrupt 119, GPIO4 pin 31의 audio power-on, 1.8V VIO와 V2V1 supply, active-high enable을 설정합니다. 양쪽 vibra motor는 battery supply를 사용하고 driver resistance 8·3, motor resistance 10·10을 지정합니다.

예제는 필수라고 설명된 `reg = <0x4b>`를 직접 적지 않고 마지막에 `twl6040.dtsi`를 include합니다. 또한 오른쪽 motor 속성은 설명의 반복 표기와 달리 `ti,vibrmotor-res`입니다.

&i2c1 {
        twl6040: twl@4b {
                compatible = "ti,twl6040";

                interrupts = <0 119 4>;
                interrupt-parent = <&gic>;
                twl6040,audpwron-gpio = <&gpio4 31 0>;

                vio-supply = <&v1v8>;
                v2v1-supply = <&v2v1>;
                enable-active-high;

                /* regulators for vibra motor */
                vddvibl-supply = <&vbat>;
                vddvibr-supply = <&vbat>;

                vibra {
                        /* Vibra driver, motor resistance parameters */
                        ti,vibldrv-res = <8>;
                        ti,vibrdrv-res = <3>;
                        ti,viblmotor-res = <10>;
                        ti,vibrmotor-res = <10>;
                };
        };
};

/include/ "twl6040.dtsi"