← Documents Documentation/devicetree/bindings/net/davinci_emac.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings

Texas Instruments DaVinci EMAC

DaVinci EMAC의 control register/RAM offset과 네 interrupt source binding입니다.

Source pathDocumentation/devicetree/bindings/net/davinci_emac.txt
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약과 해설

davinci_emac.txt:1-44

EMAC core와 control module의 분리된 자원, PHY 미지정 시 100/full 기본 동작을 설명합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 * Texas Instruments Davinci EMAC
2
3 This file provides information, what the device node
4 for the davinci_emac interface contains.
5
6 Required properties:
7 - compatible: "ti,davinci-dm6467-emac", "ti,am3517-emac" or
8 "ti,dm816-emac"
9 - reg: Offset and length of the register set for the device
10 - ti,davinci-ctrl-reg-offset: offset to control register
11 - ti,davinci-ctrl-mod-reg-offset: offset to control module register
12 - ti,davinci-ctrl-ram-offset: offset to control module ram
13 - ti,davinci-ctrl-ram-size: size of control module ram
14 - interrupts: interrupt mapping for the davinci emac interrupts sources:
15 4 sources: <Receive Threshold Interrupt
16 Receive Interrupt
17 Transmit Interrupt
18 Miscellaneous Interrupt>
19
20 Optional properties:
21 - phy-handle: See ethernet.txt file in the same directory.
22 If absent, davinci_emac driver defaults to 100/FULL.
23 - ti,davinci-rmii-en: 1 byte, 1 means use RMII
24 - ti,davinci-no-bd-ram: boolean, does EMAC have BD RAM?
25
26 The MAC address will be determined using the optional properties
27 defined in ethernet.txt.
28
29 Example (enbw_cmc board):
30 eth0: emac@1e20000 {
31 compatible = "ti,davinci-dm6467-emac";
32 reg = <0x220000 0x4000>;
33 ti,davinci-ctrl-reg-offset = <0x3000>;
34 ti,davinci-ctrl-mod-reg-offset = <0x2000>;
35 ti,davinci-ctrl-ram-offset = <0>;
36 ti,davinci-ctrl-ram-size = <0x2000>;
37 local-mac-address = [ 00 00 00 00 00 00 ];
38 interrupts = <33
39 34
40 35
41 36
42 >;
43 interrupt-parent = <&intc>;
44 };
45

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 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`에 정의된 선택 속성으로 결정합니다.

DaVinci EMAC interrupt 순서
순서Source
1Receive Threshold
2Receive
3Transmit
4Miscellaneous

네 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>;
};