요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
Broadcom BCM63138 DSL System-on-a-Chip device tree bindings
-----------------------------------------------------------
Boards compatible with the BCM63138 DSL System-on-a-Chip should have the
following properties:
Required root node property:
compatible: should be "brcm,bcm63138"
An optional Boot lookup table Device Tree node is required for secondary CPU
initialization as well as a 'resets' phandle to the correct PMB controller as
defined in reset/brcm,bcm63138-pmb.txt for this secondary CPU, and an
'enable-method' property.
Required properties for the Boot lookup table node:
- compatible: should be "brcm,bcm63138-bootlut"
- reg: register base address and length for the Boot Lookup table
Optional properties for the primary CPU node:
- enable-method: should be "brcm,bcm63138"
Optional properties for the secondary CPU node:
- enable-method: should be "brcm,bcm63138"
- resets: phandle to the relevant PMB controller, one integer indicating the internal
bus number, and a second integer indicating the address of the CPU in the PMB
internal bus number.
Example:
cpus {
cpu@0 {
compatible = "arm,cortex-a9";
reg = <0>;
...
enable-method = "brcm,bcm63138";
};
cpu@1 {
compatible = "arm,cortex-a9";
reg = <1>;
...
enable-method = "brcm,bcm63138";
resets = <&pmb0 4 1>;
};
};
bootlut: bootlut@8000 {
compatible = "brcm,bcm63138-bootlut";
reg = <0x8000 0x50>;
};
=======
reboot
------
Two nodes are required for software reboot: a timer node and a syscon-reboot node.
Timer node:
- compatible: Must be "brcm,bcm6328-timer", "syscon"
- reg: Register base address and length
Syscon reboot node:
See Documentation/devicetree/bindings/power/reset/syscon-reboot.yaml for the
detailed list of properties, the two values defined below are specific to the
BCM6328-style timer:
- offset: Should be 0x34 to denote the offset of the TIMER_WD_TIMER_RESET register
from the beginning of the TIMER block
- mask: Should be 1 for the SoftRst bit.
Example:
timer: timer@80 {
compatible = "brcm,bcm6328-timer", "syscon";
reg = <0x80 0x3c>;
};
reboot {
compatible = "syscon-reboot";
regmap = <&timer>;
offset = <0x34>;
mask = <0x1>;
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
BCM63138 root, CPU와 Boot lookup table
1-52Broadcom BCM63138 DSL System-on-a-Chip Device Tree binding
BCM63138 DSL SoC와 호환되는 board의 root node에는 필수 `compatible` property로 `brcm,bcm63138`을 지정해야 합니다.
Secondary CPU를 초기화하려면 optional Boot lookup table Device Tree node가 필요합니다. 또한 `reset/brcm,bcm63138-pmb.txt`에 정의된 올바른 PMB controller를 가리키는 `resets` phandle과 `enable-method` property가 필요합니다.
Boot lookup table node의 필수 property는 `compatible = "brcm,bcm63138-bootlut"`과 table의 register base address 및 길이를 담는 `reg`입니다.
Primary CPU node의 optional `enable-method`는 `brcm,bcm63138`이어야 합니다.
Secondary CPU node도 `enable-method = "brcm,bcm63138"`을 사용합니다. `resets`에는 관련 PMB controller phandle, internal bus number를 나타내는 정수 하나, 그리고 그 PMB internal bus에서 CPU address를 나타내는 정수 하나를 순서대로 둡니다.
CPU와 Boot lookup table 구성 예
cpus {
cpu@0 {
compatible = "arm,cortex-a9";
reg = <0>;
...
enable-method = "brcm,bcm63138";
};
cpu@1 {
compatible = "arm,cortex-a9";
reg = <1>;
...
enable-method = "brcm,bcm63138";
resets = <&pmb0 4 1>;
};
};
bootlut: bootlut@8000 {
compatible = "brcm,bcm63138-bootlut";
reg = <0x8000 0x50>;
};
CPU node가 Boot lookup table과 PMB reset controller 정보를 함께 사용하는 관계입니다.
BCM63138 software reboot binding
53-85Software reboot
Software reboot에는 timer node와 syscon-reboot node 두 개가 필요합니다.
Timer node의 `compatible`은 `brcm,bcm6328-timer`, `syscon`이어야 하며 `reg`에는 register base address와 길이가 들어갑니다.
Syscon reboot node의 일반 property는 `Documentation/devicetree/bindings/power/reset/syscon-reboot.yaml`을 따릅니다. 아래 두 값은 BCM6328-style timer에만 해당합니다.
`offset`은 TIMER block 시작점에서 `TIMER_WD_TIMER_RESET` register까지의 offset을 나타내는 `0x34`여야 합니다. `mask`는 `SoftRst` bit를 나타내는 `1`이어야 합니다.
Timer와 reboot node 구성 예
timer: timer@80 {
compatible = "brcm,bcm6328-timer", "syscon";
reg = <0x80 0x3c>;
};
reboot {
compatible = "syscon-reboot";
regmap = <&timer>;
offset = <0x34>;
mask = <0x1>;
};
Software reboot 경로를 구성하는 두 node의 property를 비교합니다.
요약과 해설
brcm,bcm63138.txt:1-85Secondary CPU는 enable-method, Boot lookup table과 PMB resets tuple을 함께 사용하며 software reboot는 BCM6328-style timer를 syscon-reboot로 제어합니다.