요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
* Palmas 32KHz clocks *
Palmas device has two clock output pins for 32KHz, KG and KG_AUDIO.
This binding uses the common clock binding ./clock-bindings.txt.
Required properties:
- compatible : "ti,palmas-clk32kg" for clk32kg clock
"ti,palmas-clk32kgaudio" for clk32kgaudio clock
- #clock-cells : shall be set to 0.
Optional property:
- ti,external-sleep-control: The external enable input pins controlled the
enable/disable of clocks. The external enable input pins ENABLE1,
ENABLE2 and NSLEEP. The valid values for the external pins are:
PALMAS_EXT_CONTROL_PIN_ENABLE1 for ENABLE1 pin
PALMAS_EXT_CONTROL_PIN_ENABLE2 for ENABLE2 pin
PALMAS_EXT_CONTROL_PIN_NSLEEP for NSLEEP pin
Option 0 or missing this property means the clock is enabled/disabled
via register access and these pins do not have any control.
The macros of external control pins for DTS is defined at
dt-bindings/mfd/palmas.h
Example:
#include <dt-bindings/mfd/palmas.h>
...
palmas: tps65913@58 {
...
clk32kg: palmas_clk32k@0 {
compatible = "ti,palmas-clk32kg";
#clock-cells = <0>;
ti,external-sleep-control = <PALMAS_EXT_CONTROL_PIN_NSLEEP>;
};
...
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Palmas 32 kHz output과 외부 sleep control
1-23Palmas 32 kHz clock
Palmas 장치에는 32 kHz용 clock output pin `KG`와 `KG_AUDIO` 두 개가 있습니다. 이 바인딩은 공통 clock 바인딩 `./clock-bindings.txt`를 사용합니다.
`clk32kg` clock의 필수 `compatible`은 `ti,palmas-clk32kg`, `clk32kgaudio` clock은 `ti,palmas-clk32kgaudio`입니다. `#clock-cells`는 0으로 설정해야 합니다.
선택적 `ti,external-sleep-control`은 clock enable/disable을 제어하는 외부 enable input pin을 선택합니다.
유효한 값은 ENABLE1의 `PALMAS_EXT_CONTROL_PIN_ENABLE1`, ENABLE2의 `PALMAS_EXT_CONTROL_PIN_ENABLE2`, NSLEEP의 `PALMAS_EXT_CONTROL_PIN_NSLEEP`입니다.
값 0을 사용하거나 이 속성을 생략하면 register access로 clock을 enable/disable하며 외부 pin은 제어권을 갖지 않습니다. DTS용 macro는 `dt-bindings/mfd/palmas.h`에 정의되어 있습니다.
외부 pin 선택 값과 clock 제어 방식을 정리합니다.
NSLEEP 제어 clk32kg 예
24-35예제는 Palmas MFD 아래 0-cell `clk32kg` provider를 배치하고 NSLEEP pin으로 외부 sleep 제어를 선택합니다.
#include <dt-bindings/mfd/palmas.h>
...
palmas: tps65913@58 {
...
clk32kg: palmas_clk32k@0 {
compatible = "ti,palmas-clk32kg";
#clock-cells = <0>;
ti,external-sleep-control = <PALMAS_EXT_CONTROL_PIN_NSLEEP>;
};
...
};
요약과 해설
clk-palmas-clk32kg-clocks.txt:1-35ENABLE1, ENABLE2, NSLEEP 또는 register access 기반 clock 제어를 설명합니다.