← Documents Documentation/devicetree/bindings/arm/cpu-enable-method/al,alpine-smp GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings

Secondary CPU enable-method al,alpine-smp

Alpine Cortex-A15 secondary CPU enable method와 resume register dependency를 설명합니다.

Source pathDocumentation/devicetree/bindings/arm/cpu-enable-method/al,alpine-smp
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약과 해설

al,alpine-smp:1-70

공통 enable-method를 cpus node에 두고 CPU resume register와 northbridge service node를 함께 제공해야 합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 ========================================================
2 Secondary CPU enable-method "al,alpine-smp" binding
3 ========================================================
4
5 This document describes the "al,alpine-smp" method for
6 enabling secondary CPUs. To apply to all CPUs, a single
7 "al,alpine-smp" enable method should be defined in the
8 "cpus" node.
9
10 Enable method name: "al,alpine-smp"
11 Compatible machines: "al,alpine"
12 Compatible CPUs: "arm,cortex-a15"
13 Related properties: (none)
14
15 Note:
16 This enable method requires valid nodes compatible with
17 "al,alpine-cpu-resume" and "al,alpine-nb-service".
18
19
20 * Alpine CPU resume registers
21
22 The CPU resume register are used to define required resume address after
23 reset.
24
25 Properties:
26 - compatible : Should contain "al,alpine-cpu-resume".
27 - reg : Offset and length of the register set for the device
28
29
30 Example:
31
32 cpus {
33 #address-cells = <1>;
34 #size-cells = <0>;
35 enable-method = "al,alpine-smp";
36
37 cpu@0 {
38 compatible = "arm,cortex-a15";
39 device_type = "cpu";
40 reg = <0>;
41 };
42
43 cpu@1 {
44 compatible = "arm,cortex-a15";
45 device_type = "cpu";
46 reg = <1>;
47 };
48
49 cpu@2 {
50 compatible = "arm,cortex-a15";
51 device_type = "cpu";
52 reg = <2>;
53 };
54
55 cpu@3 {
56 compatible = "arm,cortex-a15";
57 device_type = "cpu";
58 reg = <3>;
59 };
60 };
61
62 cpu_resume {
63 compatible = "al,alpine-cpu-resume";
64 reg = <0xfbff5ed0 0x30>;
65 };
66
67 nb_service {
68 compatible = "al,alpine-sysfabric-service", "syscon";
69 reg = <0xfb070000 0x10000>;
70 };
71

3. 한국어 전문 번역

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

Alpine secondary CPU enable method

1-19

Secondary CPU enable-method `"al,alpine-smp"` binding

이 문서는 secondary CPU를 활성화하는 `al,alpine-smp` method를 설명합니다. 모든 CPU에 적용하려면 `cpus` node에 단일 `al,alpine-smp` enable method를 정의해야 합니다.

Enable method 이름은 `al,alpine-smp`, compatible machine은 `al,alpine`, compatible CPU는 `arm,cortex-a15`이며 관련 property는 없습니다.

이 enable method에는 `al,alpine-cpu-resume` 및 `al,alpine-nb-service`와 호환되는 유효한 node가 필요합니다.

Alpine SMP binding 조건
항목
enable-methodal,alpine-smp
Machineal,alpine
CPUarm,cortex-a15
Required nodeal,alpine-cpu-resume
Required serviceal,alpine-nb-service

Method를 적용할 platform, CPU와 dependency를 정리합니다.

CPU resume register와 4-core 구성 예

20-70

Alpine CPU resume register

CPU resume register는 reset 후 필요한 resume address를 정의하는 데 사용합니다.

`compatible`에는 `al,alpine-cpu-resume`가 들어가야 하고 `reg`에는 device register set의 offset과 길이가 들어가야 합니다.

다음 예는 네 Cortex-A15 CPU에 공통 enable method를 적용하고 `cpu_resume` register와 `nb_service` syscon을 배치합니다. 예제의 service compatible은 `al,alpine-sysfabric-service`입니다.

cpus {
        #address-cells = <1>;
        #size-cells = <0>;
        enable-method = "al,alpine-smp";

        cpu@0 {
                compatible = "arm,cortex-a15";
                device_type = "cpu";
                reg = <0>;
        };

        cpu@1 {
                compatible = "arm,cortex-a15";
                device_type = "cpu";
                reg = <1>;
        };

        cpu@2 {
                compatible = "arm,cortex-a15";
                device_type = "cpu";
                reg = <2>;
        };

        cpu@3 {
                compatible = "arm,cortex-a15";
                device_type = "cpu";
                reg = <3>;
        };
};

cpu_resume {
        compatible = "al,alpine-cpu-resume";
        reg = <0xfbff5ed0 0x30>;
};

nb_service {
        compatible = "al,alpine-sysfabric-service", "syscon";
        reg = <0xfb070000 0x10000>;
};