요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
1
* OpenCores MAC 10/100 Mbps
3
Required properties:
4
- compatible: Should be "opencores,ethoc".
5
- reg: two memory regions (address and length),
6
first region is for the device registers and descriptor rings,
7
second is for the device packet memory.
8
- interrupts: interrupt for the device.
10
Optional properties:
11
- clocks: phandle to refer to the clk used as per
12
Documentation/devicetree/bindings/clock/clock-bindings.txt
14
Examples:
16
enet0: ethoc@fd030000 {
17
compatible = "opencores,ethoc";
18
reg = <0xfd030000 0x4000 0xfd800000 0x4000>;
19
interrupts = <1>;
20
local-mac-address = [00 50 c2 13 6f 00];
21
clocks = <&osc>;
22
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
OpenCores 10/100 MAC 속성
1-13필수 `compatible`은 `opencores,ethoc`입니다. `reg`는 두 memory 영역을 담으며 첫 영역은 device register와 descriptor ring, 두 번째는 device packet memory에 사용합니다. `interrupts`는 장치 interrupt입니다.
선택 `clocks`는 `Documentation/devicetree/bindings/clock/clock-bindings.txt`에 따라 사용할 clock을 가리키는 phandle입니다.
OpenCores ETHOC 예제
14-22예제는 `0xfd030000`의 register/descriptor 영역과 `0xfd800000`의 packet memory, interrupt 1, local MAC address와 oscillator clock을 지정합니다.
enet0: ethoc@fd030000 {
compatible = "opencores,ethoc";
reg = <0xfd030000 0x4000 0xfd800000 0x4000>;
interrupts = <1>;
local-mac-address = [00 50 c2 13 6f 00];
clocks = <&osc>;
};
요약과 해설
opencores-ethoc.txt:1-22두 memory region의 용도와 clock 연결을 설명합니다.