요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
Devicetree bindings for the Axentia TSE-850 audio complex
Required properties:
- compatible: "axentia,tse850-pcm5142"
- axentia,cpu-dai: The phandle of the cpu dai.
- axentia,audio-codec: The phandle of the PCM5142 codec.
- axentia,add-gpios: gpio specifier that controls the mixer.
- axentia,loop1-gpios: gpio specifier that controls loop relays on channel 1.
- axentia,loop2-gpios: gpio specifier that controls loop relays on channel 2.
- axentia,ana-supply: Regulator that supplies the output amplifier. Must
support voltages in the 2V - 20V range, in 1V steps.
The schematics explaining the gpios are as follows:
loop1 relays
IN1 +---o +------------+ o---+ OUT1
\ /
+ +
| / |
+--o +--. |
| add | |
| V |
| .---. |
DAC +----------->|Sum|---+
| '---' |
| |
+ +
IN2 +---o--+------------+--o---+ OUT2
loop2 relays
The 'loop1' gpio pin controls two relays, which are either in loop position,
meaning that input and output are directly connected, or they are in mixer
position, meaning that the signal is passed through the 'Sum' mixer. Similarly
for 'loop2'.
In the above, the 'loop1' relays are inactive, thus feeding IN1 to the mixer
(if 'add' is active) and feeding the mixer output to OUT1. The 'loop2' relays
are active, short-cutting the TSE-850 from channel 2. IN1, IN2, OUT1 and OUT2
are TSE-850 connectors and DAC is the PCB name of the (filtered) output from
the PCM5142 codec.
Example:
&ssc0 {
#sound-dai-cells = <0>;
};
&i2c {
codec: pcm5142@4c {
compatible = "ti,pcm5142";
reg = <0x4c>;
AVDD-supply = <®_3v3>;
DVDD-supply = <®_3v3>;
CPVDD-supply = <®_3v3>;
clocks = <&sck>;
pll-in = <3>;
pll-out = <6>;
};
};
ana: ana-reg {
compatible = "pwm-regulator";
regulator-name = "ANA";
pwms = <&pwm0 2 1000 PWM_POLARITY_INVERTED>;
pwm-dutycycle-unit = <1000>;
pwm-dutycycle-range = <100 1000>;
regulator-min-microvolt = <2000000>;
regulator-max-microvolt = <20000000>;
regulator-ramp-delay = <1000>;
};
sound {
compatible = "axentia,tse850-pcm5142";
axentia,cpu-dai = <&ssc0>;
axentia,audio-codec = <&codec>;
axentia,add-gpios = <&pioA 8 GPIO_ACTIVE_LOW>;
axentia,loop1-gpios = <&pioA 10 GPIO_ACTIVE_LOW>;
axentia,loop2-gpios = <&pioA 11 GPIO_ACTIVE_LOW>;
axentia,ana-supply = <&ana>;
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
TSE-850 audio complex 필수 속성
1-12`compatible`은 `axentia,tse850-pcm5142`입니다. `axentia,cpu-dai`는 CPU DAI, `axentia,audio-codec`은 PCM5142 codec의 phandle입니다.
`axentia,add-gpios`는 mixer를 제어하고 `axentia,loop1-gpios`와 `axentia,loop2-gpios`는 각각 channel 1·2의 loop relay를 제어합니다.
`axentia,ana-supply`는 output amplifier regulator이며 1V step으로 2V~20V를 지원해야 합니다.
Mixer와 loop relay 구조
13-30원문의 회로 ASCII는 각 input이 loop relay를 통해 output으로 직접 우회하거나 Sum mixer를 거칠 수 있고, PCM5142의 filtered DAC output도 mixer에 입력되는 구조를 보여 줍니다.
두 channel의 직접 loop 경로와 Sum mixer 경로를 원문 회로와 같은 관계로 구조화했습니다.
Relay 상태와 signal 경로
31-42`loop1` GPIO는 relay 두 개를 함께 제어합니다. loop position에서는 input과 output이 직접 연결되고 mixer position에서는 signal이 `Sum` mixer를 통과합니다. `loop2`도 같은 방식입니다.
그림에서 loop1 relay는 비활성이라 IN1을 add가 활성일 때 mixer에 공급하고 mixer output을 OUT1으로 보냅니다. loop2 relay는 활성이라 channel 2에서 TSE-850을 우회합니다.
IN1, IN2, OUT1, OUT2는 TSE-850 connector이며 DAC은 PCM5142 codec의 filtered output을 가리키는 PCB 이름입니다.
CPU DAI와 PCM5142 예제
43-65예제는 SSC0을 CPU DAI로 만들고 I2C address `0x4c`의 PCM5142에 세 3.3V supply, clock, PLL input·output을 연결합니다.
&ssc0 {
#sound-dai-cells = <0>;
};
&i2c {
codec: pcm5142@4c {
compatible = "ti,pcm5142";
reg = <0x4c>;
AVDD-supply = <®_3v3>;
DVDD-supply = <®_3v3>;
CPVDD-supply = <®_3v3>;
clocks = <&sck>;
pll-in = <3>;
pll-out = <6>;
};
};
Analog amplifier regulator 예제
66-79PWM regulator는 inverted PWM, duty-cycle range 100~1000, 2V~20V output 범위와 ramp delay를 정의합니다.
ana: ana-reg {
compatible = "pwm-regulator";
regulator-name = "ANA";
pwms = <&pwm0 2 1000 PWM_POLARITY_INVERTED>;
pwm-dutycycle-unit = <1000>;
pwm-dutycycle-range = <100 1000>;
regulator-min-microvolt = <2000000>;
regulator-max-microvolt = <20000000>;
regulator-ramp-delay = <1000>;
};
TSE-850 sound node 예제
80-92sound node는 CPU DAI·codec phandle, active-low add·loop GPIO 세 개와 analog supply를 연결합니다.
sound {
compatible = "axentia,tse850-pcm5142";
axentia,cpu-dai = <&ssc0>;
axentia,audio-codec = <&codec>;
axentia,add-gpios = <&pioA 8 GPIO_ACTIVE_LOW>;
axentia,loop1-gpios = <&pioA 10 GPIO_ACTIVE_LOW>;
axentia,loop2-gpios = <&pioA 11 GPIO_ACTIVE_LOW>;
axentia,ana-supply = <&ana>;
};
요약과 해설
axentia,tse850-pcm5142.txt:1-92Audio routing, clock, port와 codec control 속성을 먼저 해설하고, 접을 수 있는 영어 원문 전체와 원문 줄 좌표를 보존한 한국어 전문 번역을 제공합니다.