요약·해설, 영어 원문, 전체 번역을 구분해 실었습니다. API 이름, 코드 심벌, 소스 경로는 원문 표기를 유지합니다.
1. 요약·해설
원문의 핵심 내용을 정리하고 커널 프로그래밍에 필요한 설명을 덧붙였습니다. 아래의 전체 번역과는 별도로 작성한 해설입니다.
2. 영어 원문 전체
번역에 사용한 Linux v6.18.37 원문입니다. 줄 번호는 해당 버전의 소스 파일을 기준으로 합니다.
원문 전체 펼치기
* Texas Instruments Davinci EMAC
This file provides information, what the device node
for the davinci_emac interface contains.
Required properties:
- compatible: "ti,davinci-dm6467-emac", "ti,am3517-emac" or
"ti,dm816-emac"
- reg: Offset and length of the register set for the device
- ti,davinci-ctrl-reg-offset: offset to control register
- ti,davinci-ctrl-mod-reg-offset: offset to control module register
- ti,davinci-ctrl-ram-offset: offset to control module ram
- ti,davinci-ctrl-ram-size: size of control module ram
- interrupts: interrupt mapping for the davinci emac interrupts sources:
4 sources: <Receive Threshold Interrupt
Receive Interrupt
Transmit Interrupt
Miscellaneous Interrupt>
Optional properties:
- phy-handle: See ethernet.txt file in the same directory.
If absent, davinci_emac driver defaults to 100/FULL.
- ti,davinci-rmii-en: 1 byte, 1 means use RMII
- ti,davinci-no-bd-ram: boolean, does EMAC have BD RAM?
The MAC address will be determined using the optional properties
defined in ethernet.txt.
Example (enbw_cmc board):
eth0: emac@1e20000 {
compatible = "ti,davinci-dm6467-emac";
reg = <0x220000 0x4000>;
ti,davinci-ctrl-reg-offset = <0x3000>;
ti,davinci-ctrl-mod-reg-offset = <0x2000>;
ti,davinci-ctrl-ram-offset = <0>;
ti,davinci-ctrl-ram-size = <0x2000>;
local-mac-address = [ 00 00 00 00 00 00 ];
interrupts = <33
34
35
36
>;
interrupt-parent = <&intc>;
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미에 맞춰 전체 내용을 번역했습니다. 코드, 함수명, 코드 심벌, URL은 원문 표기를 유지합니다.
Texas Instruments DaVinci EMAC
1-5이 문서는 `davinci_emac` interface의 device node에 포함되는 정보를 설명합니다.
필수·선택 속성
6-28필수 `compatible`은 `ti,davinci-dm6467-emac`, `ti,am3517-emac`, `ti,dm816-emac` 중 하나입니다. `reg`는 장치 register set의 offset과 길이입니다.
`ti,davinci-ctrl-reg-offset`, `ti,davinci-ctrl-mod-reg-offset`, `ti,davinci-ctrl-ram-offset`, `ti,davinci-ctrl-ram-size`는 각각 control register, control module register, control module RAM의 offset과 RAM 크기를 지정합니다.
`interrupts`는 Receive Threshold, Receive, Transmit, Miscellaneous의 네 DaVinci EMAC interrupt source를 순서대로 매핑합니다.
선택 `phy-handle`은 같은 디렉터리의 `ethernet.txt`를 참조합니다. 없으면 `davinci_emac` 드라이버는 100Mbps full-duplex를 기본값으로 사용합니다. `ti,davinci-rmii-en`은 1-byte 값이며 1이면 RMII를 사용하고, boolean `ti,davinci-no-bd-ram`은 EMAC의 BD RAM 존재 여부를 나타냅니다.
MAC address는 `ethernet.txt`에 정의된 선택 속성으로 결정합니다.
네 interrupt source의 배열 순서를 보존해야 합니다.
enbw_cmc 보드 예제
29-44예제는 DM6467 EMAC register window와 세 control offset, `0x2000` byte control RAM, U-Boot 등이 채울 local MAC address, interrupt 33부터 36을 지정합니다.
eth0: emac@1e20000 {
compatible = "ti,davinci-dm6467-emac";
reg = <0x220000 0x4000>;
ti,davinci-ctrl-reg-offset = <0x3000>;
ti,davinci-ctrl-mod-reg-offset = <0x2000>;
ti,davinci-ctrl-ram-offset = <0>;
ti,davinci-ctrl-ram-size = <0x2000>;
local-mac-address = [ 00 00 00 00 00 00 ];
interrupts = <33
34
35
36
>;
interrupt-parent = <&intc>;
};
요약과 해설
davinci_emac.txt:1-44EMAC core와 control module의 분리된 자원, PHY 미지정 시 100/full 기본 동작을 설명합니다.