요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
Binding for Texas Instruments APLL clock.
This binding uses the common clock binding[1]. It assumes a
register-mapped APLL with usually two selectable input clocks
(reference clock and bypass clock), with analog phase locked
loop logic for multiplying the input clock to a desired output
clock. This clock also typically supports different operation
modes (locked, low power stop etc.) APLL mostly behaves like
a subtype of a DPLL [2], although a simplified one at that.
[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
[2] Documentation/devicetree/bindings/clock/ti/dpll.txt
Required properties:
- compatible : shall be "ti,dra7-apll-clock" or "ti,omap2-apll-clock"
- #clock-cells : from common clock binding; shall be set to 0.
- clocks : link phandles of parent clocks (clk-ref and clk-bypass)
- reg : address and length of the register set for controlling the APLL.
It contains the information of registers in the following order:
"control" - contains the control register offset
"idlest" - contains the idlest register offset
"autoidle" - contains the autoidle register offset (OMAP2 only)
- ti,clock-frequency : static clock frequency for the clock (OMAP2 only)
- ti,idlest-shift : bit-shift for the idlest field (OMAP2 only)
- ti,bit-shift : bit-shift for enable and autoidle fields (OMAP2 only)
Examples:
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>;
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
TI APLL 동작과 register
1-26Texas 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`입니다.
Reference 또는 bypass input과 operation mode가 0-cell APLL output을 결정합니다.
DRA7 PCIe 및 OMAP2 APLL 예제
27-43DRA7 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>;
};
요약과 해설
apll.txt:1-43Reference/bypass input과 OMAP2 전용 field 속성을 설명합니다.