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

Linux 6.18.37 · Devicetree Bindings

TI APLL clock

DRA7 및 OMAP2 analog PLL의 source, mode와 register 바인딩입니다.

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

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

1. 요약·해설

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

요약과 해설

apll.txt:1-43

Reference/bypass input과 OMAP2 전용 field 속성을 설명합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 Binding for Texas Instruments APLL clock.
2
3 This binding uses the common clock binding[1]. It assumes a
4 register-mapped APLL with usually two selectable input clocks
5 (reference clock and bypass clock), with analog phase locked
6 loop logic for multiplying the input clock to a desired output
7 clock. This clock also typically supports different operation
8 modes (locked, low power stop etc.) APLL mostly behaves like
9 a subtype of a DPLL [2], although a simplified one at that.
10
11 [1] Documentation/devicetree/bindings/clock/clock-bindings.txt
12 [2] Documentation/devicetree/bindings/clock/ti/dpll.txt
13
14 Required properties:
15 - compatible : shall be "ti,dra7-apll-clock" or "ti,omap2-apll-clock"
16 - #clock-cells : from common clock binding; shall be set to 0.
17 - clocks : link phandles of parent clocks (clk-ref and clk-bypass)
18 - reg : address and length of the register set for controlling the APLL.
19 It contains the information of registers in the following order:
20 "control" - contains the control register offset
21 "idlest" - contains the idlest register offset
22 "autoidle" - contains the autoidle register offset (OMAP2 only)
23 - ti,clock-frequency : static clock frequency for the clock (OMAP2 only)
24 - ti,idlest-shift : bit-shift for the idlest field (OMAP2 only)
25 - ti,bit-shift : bit-shift for enable and autoidle fields (OMAP2 only)
26
27 Examples:
28 apll_pcie_ck: apll_pcie_ck {
29 #clock-cells = <0>;
30 clocks = <&apll_pcie_in_clk_mux>, <&dpll_pcie_ref_ck>;
31 reg = <0x021c>, <0x0220>;
32 compatible = "ti,dra7-apll-clock";
33 };
34
35 apll96_ck: apll96_ck {
36 #clock-cells = <0>;
37 compatible = "ti,omap2-apll-clock";
38 clocks = <&sys_ck>;
39 ti,bit-shift = <2>;
40 ti,idlest-shift = <8>;
41 ti,clock-frequency = <96000000>;
42 reg = <0x0500>, <0x0530>, <0x0520>;
43 };
44

3. 한국어 전문 번역

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

TI APLL 동작과 register

1-26

Texas Instruments APLL clock 바인딩입니다. 일반적으로 reference clock과 bypass clock의 두 selectable input을 받고 analog phase-locked loop로 원하는 output frequency까지 input을 곱합니다. Locked, low-power stop 등의 mode를 지원하며 단순화된 DPLL subtype처럼 동작합니다.

`compatible`은 `ti,dra7-apll-clock` 또는 `ti,omap2-apll-clock`이고 `#clock-cells`는 0입니다. `clocks`에는 `clk-ref`와 `clk-bypass` parent를 연결합니다.

`reg` entry는 순서대로 `control`, `idlest`, 그리고 OMAP2에서만 쓰는 `autoidle` register offset을 담습니다. OMAP2 전용 속성은 static frequency의 `ti,clock-frequency`, idlest field 위치의 `ti,idlest-shift`, enable 및 autoidle field 위치의 `ti,bit-shift`입니다.

TI APLL frequency path
clk-ref / clk-bypassSelectable parents
control + idlest + optional autoidleLocked / low-power mode
Analog PLLInput frequency multiply
0-cell outputConsumer clock

Reference 또는 bypass input과 operation mode가 0-cell APLL output을 결정합니다.

DRA7 PCIe 및 OMAP2 APLL 예제

27-43

DRA7 PCIe APLL은 reference와 bypass parent 및 두 register offset을 사용합니다. OMAP2 APLL은 `sys_ck` 하나를 parent로 사용하고 bit shift 2, idlest shift 8, static frequency 96 MHz와 control/idlest/autoidle 세 offset을 지정합니다.

apll_pcie_ck: apll_pcie_ck {
        #clock-cells = <0>;
        clocks = <&apll_pcie_in_clk_mux>, <&dpll_pcie_ref_ck>;
        reg = <0x021c>, <0x0220>;
        compatible = "ti,dra7-apll-clock";
};

apll96_ck: apll96_ck {
        #clock-cells = <0>;
        compatible = "ti,omap2-apll-clock";
        clocks = <&sys_ck>;
        ti,bit-shift = <2>;
        ti,idlest-shift = <8>;
        ti,clock-frequency = <96000000>;
        reg = <0x0500>, <0x0530>, <0x0520>;
};