요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
Hisilicon hip04 Ethernet Controller
* Ethernet controller node
Required properties:
- compatible: should be "hisilicon,hip04-mac".
- reg: address and length of the register set for the device.
- interrupts: interrupt for the device.
- port-handle: <phandle port channel>
phandle, specifies a reference to the syscon ppe node
port, port number connected to the controller
channel, recv channel start from channel * number (RX_DESC_NUM)
group, field in the pkg desc, in general, it is the same as the port.
- phy-mode: see ethernet.txt [1].
Optional properties:
- phy-handle: see ethernet.txt [1].
[1] Documentation/devicetree/bindings/net/ethernet.txt
* MDIO bus node:
Required properties:
- compatible: should be "hisilicon,mdio".
- Inherits from MDIO bus node binding [2]
[2] Documentation/devicetree/bindings/net/phy.txt
Example:
mdio {
compatible = "hisilicon,mdio";
reg = <0x28f1000 0x1000>;
#address-cells = <1>;
#size-cells = <0>;
phy0: ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0>;
marvell,reg-init = <18 0x14 0 0x8001>;
};
phy1: ethernet-phy@1 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <1>;
marvell,reg-init = <18 0x14 0 0x8001>;
};
};
ppe: ppe@28c0000 {
compatible = "hisilicon,hip04-ppe", "syscon";
reg = <0x28c0000 0x10000>;
};
fe: ethernet@28b0000 {
compatible = "hisilicon,hip04-mac";
reg = <0x28b0000 0x10000>;
interrupts = <0 413 4>;
phy-mode = "mii";
port-handle = <&ppe 31 0 31>;
};
ge0: ethernet@2800000 {
compatible = "hisilicon,hip04-mac";
reg = <0x2800000 0x10000>;
interrupts = <0 402 4>;
phy-mode = "sgmii";
port-handle = <&ppe 0 1 0>;
phy-handle = <&phy0>;
};
ge8: ethernet@2880000 {
compatible = "hisilicon,hip04-mac";
reg = <0x2880000 0x10000>;
interrupts = <0 410 4>;
phy-mode = "sgmii";
port-handle = <&ppe 8 2 8>;
phy-handle = <&phy1>;
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
HIP04 Ethernet controller node
1-20필수 `compatible`은 `hisilicon,hip04-mac`입니다. `reg`는 장치 register set의 주소와 길이, `interrupts`는 장치 interrupt입니다.
`port-handle`은 `<phandle port channel group>` 형식입니다. `phandle`은 syscon PPE node 참조, `port`는 controller에 연결된 port number, `channel`은 `channel * RX_DESC_NUM`에서 시작하는 receive channel, `group`은 packet descriptor의 field이며 일반적으로 port와 같습니다.
`phy-mode`는 `ethernet.txt`를 참조하며 선택 `phy-handle`도 같은 문서를 참조합니다. 참조 경로는 `[1] Documentation/devicetree/bindings/net/ethernet.txt`입니다.
PPE 참조 뒤의 세 cell이 port, RX channel과 descriptor group을 선택합니다.
HIP04 MDIO bus node
21-29MDIO bus의 필수 `compatible`은 `hisilicon,mdio`입니다. 나머지 속성은 `[2] Documentation/devicetree/bindings/net/phy.txt`의 MDIO bus node binding을 상속합니다.
MDIO, PPE와 세 MAC 예제
30-79예제는 Clause 22 PHY 두 개를 주소 0과 1에 두고 Marvell register 초기화를 지정합니다. PPE는 `hisilicon,hip04-ppe`와 `syscon`을 함께 사용합니다.
Fast Ethernet controller `fe`는 MII와 port-handle `<&ppe 31 0 31>`을 사용합니다. Gigabit controller `ge0`, `ge8`은 SGMII, PPE port/channel/group `<0 1 0>`, `<8 2 8>`과 각각 `phy0`, `phy1`을 사용합니다.
mdio {
compatible = "hisilicon,mdio";
reg = <0x28f1000 0x1000>;
#address-cells = <1>;
#size-cells = <0>;
phy0: ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0>;
marvell,reg-init = <18 0x14 0 0x8001>;
};
phy1: ethernet-phy@1 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <1>;
marvell,reg-init = <18 0x14 0 0x8001>;
};
};
ppe: ppe@28c0000 {
compatible = "hisilicon,hip04-ppe", "syscon";
reg = <0x28c0000 0x10000>;
};
fe: ethernet@28b0000 {
compatible = "hisilicon,hip04-mac";
reg = <0x28b0000 0x10000>;
interrupts = <0 413 4>;
phy-mode = "mii";
port-handle = <&ppe 31 0 31>;
};
ge0: ethernet@2800000 {
compatible = "hisilicon,hip04-mac";
reg = <0x2800000 0x10000>;
interrupts = <0 402 4>;
phy-mode = "sgmii";
port-handle = <&ppe 0 1 0>;
phy-handle = <&phy0>;
};
ge8: ethernet@2880000 {
compatible = "hisilicon,hip04-mac";
reg = <0x2880000 0x10000>;
interrupts = <0 410 4>;
phy-mode = "sgmii";
port-handle = <&ppe 8 2 8>;
phy-handle = <&phy1>;
};
요약과 해설
hisilicon-hip04-net.txt:1-79PPE port·channel·group과 세 MAC의 PHY 연결을 구조화해 설명합니다.