← Documents Documentation/devicetree/bindings/powerpc/4xx/cpm.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings

PPC4xx Clock Power Management

CPM DCR register 순서와 idle·standby·suspend power mask binding입니다.

Source pathDocumentation/devicetree/bindings/powerpc/4xx/cpm.txt
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약과 해설

cpm.txt:1-52

ER offset과 state별 unit bitmask의 적용·복원 시점을 설명합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 PPC4xx Clock Power Management (CPM) node
2
3 Required properties:
4 - compatible : compatible list, currently only "ibm,cpm"
5 - dcr-access-method : "native"
6 - dcr-reg : < DCR register range >
7
8 Optional properties:
9 - er-offset : All 4xx SoCs with a CPM controller have
10 one of two different order for the CPM
11 registers. Some have the CPM registers
12 in the following order (ER,FR,SR). The
13 others have them in the following order
14 (SR,ER,FR). For the second case set
15 er-offset = <1>.
16 - unused-units : specifier consist of one cell. For each
17 bit in the cell, the corresponding bit
18 in CPM will be set to turn off unused
19 devices.
20 - idle-doze : specifier consist of one cell. For each
21 bit in the cell, the corresponding bit
22 in CPM will be set to turn off unused
23 devices. This is usually just CPM[CPU].
24 - standby : specifier consist of one cell. For each
25 bit in the cell, the corresponding bit
26 in CPM will be set on standby and
27 restored on resume.
28 - suspend : specifier consist of one cell. For each
29 bit in the cell, the corresponding bit
30 in CPM will be set on suspend (mem) and
31 restored on resume. Note, for standby
32 and suspend the corresponding bits can
33 be different or the same. Usually for
34 standby only class 2 and 3 units are set.
35 However, the interface does not care.
36 If they are the same, the additional
37 power saving will be seeing if support
38 is available to put the DDR in self
39 refresh mode and any additional power
40 saving techniques for the specific SoC.
41
42 Example:
43 CPM0: cpm {
44 compatible = "ibm,cpm";
45 dcr-access-method = "native";
46 dcr-reg = <0x160 0x003>;
47 er-offset = <0>;
48 unused-units = <0x00000100>;
49 idle-doze = <0x02000000>;
50 standby = <0xfeff0000>;
51 suspend = <0xfeff791d>;
52 };
53

3. 한국어 전문 번역

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

PPC4xx CPM 필수 속성

1-7

PPC4xx Clock Power Management(CPM) node의 필수 `compatible` 목록은 현재 `ibm,cpm`뿐입니다. `dcr-access-method`는 `native`이고 `dcr-reg`는 DCR register range입니다.

Register 순서와 unused unit

8-19

CPM controller가 있는 4xx SoC에는 CPM register 순서가 두 종류 있습니다. 하나는 `(ER,FR,SR)`, 다른 하나는 `(SR,ER,FR)`입니다. 두 번째 순서이면 `er-offset = <1>`을 지정합니다.

`unused-units`는 1cell specifier입니다. Cell의 각 bit를 설정하면 CPM의 대응 bit가 설정되어 사용하지 않는 device를 끕니다.

Idle·standby·suspend bitmask

20-41

`idle-doze`도 1cell specifier이며 각 bit에 대응하는 사용하지 않는 device를 CPM에서 끕니다. 보통 `CPM[CPU]`만 지정합니다.

`standby`의 각 bit는 standby 때 CPM에 설정되고 resume 때 복원됩니다. `suspend`도 같은 방식으로 suspend(mem) 때 설정되고 resume 때 복원됩니다.

Standby와 suspend의 대응 bit는 같아도 다를 수 있습니다. 보통 standby에는 class 2와 3 unit만 설정하지만 interface는 이를 강제하지 않습니다. Bit가 같다면 DDR self-refresh 지원 여부와 SoC별 추가 절전 기법에 따라 추가 절전 효과가 나타납니다.

CPM DCR과 state mask 예제

42-52

DCR range, ER offset, unused·idle·standby·suspend mask를 모두 지정하는 예제입니다.

        CPM0: cpm {
                compatible = "ibm,cpm";
                dcr-access-method = "native";
                dcr-reg = <0x160 0x003>;
                er-offset = <0>;
                unused-units = <0x00000100>;
                idle-doze = <0x02000000>;
                standby = <0xfeff0000>;
                suspend = <0xfeff791d>;
};