← Documents Documentation/devicetree/bindings/clock/ti,cdce706.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings

TI CDCE706 clock synthesizer

I2C로 제어하는 programmable 3-PLL synthesizer와 indexed output 바인딩입니다.

Source pathDocumentation/devicetree/bindings/clock/ti,cdce706.txt
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약과 해설

ti,cdce706.txt:1-42

Input 구성, I2C address와 consumer output index 선택을 설명합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 Bindings for Texas Instruments CDCE706 programmable 3-PLL clock
2 synthesizer/multiplier/divider.
3
4 Reference: https://www.ti.com/lit/ds/symlink/cdce706.pdf
5
6 I2C device node required properties:
7 - compatible: shall be "ti,cdce706".
8 - reg: i2c device address, shall be in range [0x68...0x6b].
9 - #clock-cells: from common clock binding; shall be set to 1.
10 - clocks: from common clock binding; list of parent clock
11 handles, shall be reference clock(s) connected to CLK_IN0
12 and CLK_IN1 pins.
13 - clock-names: shall be clk_in0 and/or clk_in1. Use clk_in0
14 in case of crystal oscillator or differential signal input
15 configuration. Use clk_in0 and clk_in1 in case of independent
16 single-ended LVCMOS inputs configuration.
17
18 Example:
19
20 clocks {
21 clk54: clk54 {
22 #clock-cells = <0>;
23 compatible = "fixed-clock";
24 clock-frequency = <54000000>;
25 };
26 };
27 ...
28 i2c0: i2c-master@d090000 {
29 ...
30 cdce706: clock-synth@69 {
31 compatible = "ti,cdce706";
32 #clock-cells = <1>;
33 reg = <0x69>;
34 clocks = <&clk54>;
35 clock-names = "clk_in0";
36 };
37 };
38 ...
39 simple-audio-card,codec {
40 ...
41 clocks = <&cdce706 4>;
42 };
43

3. 한국어 전문 번역

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

CDCE706 I2C clock synthesizer

1-17

Texas Instruments CDCE706 programmable 3-PLL clock synthesizer, multiplier 및 divider 바인딩입니다. 자세한 hardware 동작은 `https://www.ti.com/lit/ds/symlink/cdce706.pdf` datasheet를 참조합니다.

I2C device node의 `compatible`은 `ti,cdce706`이고 `reg`는 0x68부터 0x6b 범위의 I2C address입니다. 여러 output을 index로 선택하므로 공통 clock 바인딩의 `#clock-cells`는 1입니다.

`clocks`에는 CLK_IN0과 CLK_IN1 pin에 연결된 reference clock phandle을 넣습니다. `clock-names`는 `clk_in0` 및/또는 `clk_in1`입니다. Crystal oscillator 또는 differential input에는 `clk_in0`만 사용하고, 독립된 single-ended LVCMOS input 두 개에는 `clk_in0`과 `clk_in1`을 모두 사용합니다.

CDCE706 clock path
CLK_IN0 / CLK_IN1Crystal, differential 또는 LVCMOS reference
CDCE706 3-PLL synthesizerMultiply 및 source 선택
Output dividersClock output index
Consumer#clock-cells = 1

한 개 또는 두 개의 input이 programmable PLL과 divider를 거쳐 index 기반 output으로 공급됩니다.

54 MHz input과 output 4 예제

18-42

예제는 54 MHz fixed clock을 `clk_in0`에 연결하고 CDCE706을 I2C address 0x69에 둡니다. Audio codec consumer는 `<&cdce706 4>`로 provider의 output index 4를 선택합니다.

clocks {
        clk54: clk54 {
                #clock-cells = <0>;
                compatible = "fixed-clock";
                clock-frequency = <54000000>;
        };
};
...
i2c0: i2c-master@d090000 {
        ...
        cdce706: clock-synth@69 {
                compatible = "ti,cdce706";
                #clock-cells = <1>;
                reg = <0x69>;
                clocks = <&clk54>;
                clock-names = "clk_in0";
        };
};
...
simple-audio-card,codec {
        ...
        clocks = <&cdce706 4>;
};