요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
Hisilicon Fast Ethernet MAC controller
Required properties:
- compatible: should contain one of the following version strings:
* "hisilicon,hisi-femac-v1"
* "hisilicon,hisi-femac-v2"
and the soc string "hisilicon,hi3516cv300-femac".
- reg: specifies base physical address(s) and size of the device registers.
The first region is the MAC core register base and size.
The second region is the global MAC control register.
- interrupts: should contain the MAC interrupt.
- clocks: A phandle to the MAC main clock.
- resets: should contain the phandle to the MAC reset signal(required) and
the PHY reset signal(optional).
- reset-names: should contain the reset signal name "mac"(required)
and "phy"(optional).
- phy-mode: see ethernet.txt [1].
- phy-handle: see ethernet.txt [1].
- hisilicon,phy-reset-delays-us: triplet of delays if PHY reset signal given.
The 1st cell is reset pre-delay in micro seconds.
The 2nd cell is reset pulse in micro seconds.
The 3rd cell is reset post-delay in micro seconds.
The MAC address will be determined using the optional properties
defined in ethernet.txt[1].
[1] Documentation/devicetree/bindings/net/ethernet.txt
Example:
hisi_femac: ethernet@10090000 {
compatible = "hisilicon,hi3516cv300-femac","hisilicon,hisi-femac-v2";
reg = <0x10090000 0x1000>,<0x10091300 0x200>;
interrupts = <12>;
clocks = <&crg HI3518EV200_ETH_CLK>;
resets = <&crg 0xec 0>,<&crg 0xec 3>;
reset-names = "mac","phy";
mac-address = [00 00 00 00 00 00];
phy-mode = "mii";
phy-handle = <&phy0>;
hisilicon,phy-reset-delays-us = <10000 20000 20000>;
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Hisilicon Fast Ethernet MAC
1-2이 binding은 Hisilicon Fast Ethernet MAC controller를 설명합니다.
필수 속성과 PHY reset timing
3-28`compatible`에는 version 문자열 `hisilicon,hisi-femac-v1` 또는 `hisilicon,hisi-femac-v2` 중 하나와 SoC 문자열 `hisilicon,hi3516cv300-femac`이 들어가야 합니다.
`reg`의 첫 영역은 MAC core register base와 크기, 두 번째 영역은 global MAC control register입니다. `interrupts`는 MAC interrupt이고 `clocks`는 MAC main clock phandle입니다.
`resets`에는 필수 MAC reset signal phandle과 선택 PHY reset signal이 들어갑니다. `reset-names`에는 필수 `mac`과 선택 `phy`를 같은 순서로 지정합니다. `phy-mode`와 `phy-handle`은 `ethernet.txt`를 참조합니다.
PHY reset signal이 있으면 `hisilicon,phy-reset-delays-us`에 세 delay를 지정합니다. 첫 cell은 reset 전 delay, 두 번째는 reset pulse, 세 번째는 reset 후 delay이며 모두 microsecond 단위입니다.
MAC address는 `[1] Documentation/devicetree/bindings/net/ethernet.txt`에 정의된 선택 속성으로 결정합니다.
세 cell은 reset 전 대기, pulse 폭, reset 후 대기를 순서대로 나타냅니다.
HI3516CV300 FEMAC v2 예제
29-41예제는 FEMAC v2의 core와 global control register, interrupt 12, main clock, MAC/PHY reset, MII mode와 `phy0` handle을 지정합니다. PHY reset timing은 10000/20000/20000us입니다.
hisi_femac: ethernet@10090000 {
compatible = "hisilicon,hi3516cv300-femac","hisilicon,hisi-femac-v2";
reg = <0x10090000 0x1000>,<0x10091300 0x200>;
interrupts = <12>;
clocks = <&crg HI3518EV200_ETH_CLK>;
resets = <&crg 0xec 0>,<&crg 0xec 3>;
reset-names = "mac","phy";
mac-address = [00 00 00 00 00 00];
phy-mode = "mii";
phy-handle = <&phy0>;
hisilicon,phy-reset-delays-us = <10000 20000 20000>;
};
요약과 해설
hisilicon-femac.txt:1-41MAC·PHY reset 순서와 microsecond delay triplet을 해설합니다.