요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
CE4100 Device Tree Bindings
---------------------------
The CE4100 SoC uses for in core peripherals the following compatible
format: <vendor>,<chip>-<device>.
Many of the "generic" devices like HPET or IO APIC have the ce4100
name in their compatible property because they first appeared in this
SoC.
The CPU nodes
-------------
cpus {
#address-cells = <1>;
#size-cells = <0>;
cpu@0 {
device_type = "cpu";
compatible = "intel,ce4100";
reg = <0x00>;
};
cpu@2 {
device_type = "cpu";
compatible = "intel,ce4100";
reg = <0x02>;
};
};
A "cpu" node describes one logical processor (hardware thread).
Required properties:
- device_type
Device type, must be "cpu".
- reg
Local APIC ID, the unique number assigned to each processor by
system hardware.
The SoC node
------------
This node describes the in-core peripherals. Required property:
compatible = "intel,ce4100-cp";
The PCI node
------------
This node describes the PCI bus on the SoC. Its property should be
compatible = "intel,ce4100-pci", "pci";
If the OS is using the IO-APIC for interrupt routing then the reported
interrupt numbers for devices is no longer true. In order to obtain the
correct interrupt number, the child node which represents the device has
to contain the interrupt property. Besides the interrupt property it has
to contain at least the reg property containing the PCI bus address and
compatible property according to "PCI Bus Binding Revision 2.1".
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
CE4100 compatible 형식
1-9CE4100 SoC의 in-core peripheral은 `<vendor>,<chip>-<device>` 형식의 compatible을 사용합니다.
HPET이나 IO APIC 같은 여러 "generic" 장치의 compatible에 `ce4100` 이름이 들어가는 이유는 이 장치들이 이 SoC에서 처음 등장했기 때문입니다.
논리 processor를 나타내는 CPU node
10-40각 `cpu` node는 logical processor 하나, 즉 hardware thread 하나를 설명합니다. 예제는 address cell 하나와 size cell 0을 사용하는 `cpus` 아래에 Local APIC ID `0x00`과 `0x02`인 두 processor를 둡니다. 두 node 모두 `device_type = "cpu"`와 `compatible = "intel,ce4100"`을 사용합니다.
cpus {
#address-cells = <1>;
#size-cells = <0>;
cpu@0 {
device_type = "cpu";
compatible = "intel,ce4100";
reg = <0x00>;
};
cpu@2 {
device_type = "cpu";
compatible = "intel,ce4100";
reg = <0x02>;
};
};
필수 `device_type`은 반드시 `cpu`여야 합니다. 필수 `reg`는 system hardware가 각 processor에 부여한 고유 번호인 Local APIC ID입니다.
in-core peripheral용 SoC node
41-46SoC node는 in-core peripheral을 설명하며 필수 compatible은 `intel,ce4100-cp`입니다.
This node describes the in-core peripherals. Required property:
compatible = "intel,ce4100-cp";
PCI bus와 IO-APIC interrupt
47-57PCI node는 SoC의 PCI bus를 설명하며 `compatible = "intel,ce4100-pci", "pci"`를 사용해야 합니다.
This node describes the PCI bus on the SoC. Its property should be
compatible = "intel,ce4100-pci", "pci";
OS가 interrupt routing에 IO-APIC을 사용하면 장치에 보고된 interrupt 번호가 더는 정확하지 않습니다. 올바른 interrupt 번호를 얻으려면 장치를 나타내는 child node에 `interrupt` 속성을 넣어야 합니다.
이 child node에는 `interrupt` 외에도 PCI bus address를 담은 `reg`와 `PCI Bus Binding Revision 2.1`에 따른 `compatible`이 적어도 포함되어야 합니다.
요약과 해설
ce4100.txt:1-57CE4100의 compatible 형식과 CPU·SoC·PCI node, IO-APIC interrupt 요구사항을 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며, compatible, node, Local APIC ID, PCI address, interrupt와 줄 좌표는 원문 표기를 보존합니다.