blob: 6b4956beff8c42c3214906c83d94072fca8e9083 [file] [log] [blame]
Thomas Petazzoniaee44112017-03-07 16:52:59 +01001* Marvell Armada 375 Ethernet Controller (PPv2.1)
2 Marvell Armada 7K/8K Ethernet Controller (PPv2.2)
Marcin Wojtas3f518502014-07-10 16:52:13 -03003
4Required properties:
5
Thomas Petazzoniaee44112017-03-07 16:52:59 +01006- compatible: should be one of:
7 "marvell,armada-375-pp2"
8 "marvell,armada-7k-pp2"
Marcin Wojtas3f518502014-07-10 16:52:13 -03009- reg: addresses and length of the register sets for the device.
Thomas Petazzoniaee44112017-03-07 16:52:59 +010010 For "marvell,armada-375-pp2", must contain the following register
11 sets:
Marcin Wojtas3f518502014-07-10 16:52:13 -030012 - common controller registers
13 - LMS registers
Thomas Petazzoniaee44112017-03-07 16:52:59 +010014 - one register area per Ethernet port
15 For "marvell,armada-7k-pp2", must contain the following register
16 sets:
17 - packet processor registers
18 - networking interfaces registers
19
20- clocks: pointers to the reference clocks for this device, consequently:
21 - main controller clock (for both armada-375-pp2 and armada-7k-pp2)
22 - GOP clock (for both armada-375-pp2 and armada-7k-pp2)
23 - MG clock (only for armada-7k-pp2)
24- clock-names: names of used clocks, must be "pp_clk", "gop_clk" and
25 "mg_clk" (the latter only for armada-7k-pp2).
Marcin Wojtas3f518502014-07-10 16:52:13 -030026
27The ethernet ports are represented by subnodes. At least one port is
28required.
29
30Required properties (port):
31
32- interrupts: interrupt for the port
Thomas Petazzoniaee44112017-03-07 16:52:59 +010033- port-id: ID of the port from the MAC point of view
34- gop-port-id: only for marvell,armada-7k-pp2, ID of the port from the
35 GOP (Group Of Ports) point of view. This ID is used to index the
36 per-port registers in the second register area.
Marcin Wojtas3f518502014-07-10 16:52:13 -030037- phy-mode: See ethernet.txt file in the same directory
38
39Optional properties (port):
40
41- marvell,loopback: port is loopback mode
42- phy: a phandle to a phy node defining the PHY address (as the reg
Thomas Petazzoni4b741bc2017-02-02 17:47:44 +010043 property, a single integer).
Marcin Wojtas3f518502014-07-10 16:52:13 -030044
Thomas Petazzoniaee44112017-03-07 16:52:59 +010045Example for marvell,armada-375-pp2:
Marcin Wojtas3f518502014-07-10 16:52:13 -030046
47ethernet@f0000 {
48 compatible = "marvell,armada-375-pp2";
49 reg = <0xf0000 0xa000>,
50 <0xc0000 0x3060>,
51 <0xc4000 0x100>,
52 <0xc5000 0x100>;
53 clocks = <&gateclk 3>, <&gateclk 19>;
54 clock-names = "pp_clk", "gop_clk";
55 status = "okay";
56
57 eth0: eth0@c4000 {
58 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
59 port-id = <0>;
60 status = "okay";
61 phy = <&phy0>;
62 phy-mode = "gmii";
63 };
64
65 eth1: eth1@c5000 {
66 interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
67 port-id = <1>;
68 status = "okay";
69 phy = <&phy3>;
70 phy-mode = "gmii";
71 };
72};
Thomas Petazzoniaee44112017-03-07 16:52:59 +010073
74Example for marvell,armada-7k-pp2:
75
76cpm_ethernet: ethernet@0 {
77 compatible = "marvell,armada-7k-pp22";
78 reg = <0x0 0x100000>, <0x129000 0xb000>;
79 clocks = <&cpm_syscon0 1 3>, <&cpm_syscon0 1 9>, <&cpm_syscon0 1 5>;
80 clock-names = "pp_clk", "gop_clk", "gp_clk";
81
82 eth0: eth0 {
83 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
84 port-id = <0>;
85 gop-port-id = <0>;
86 };
87
88 eth1: eth1 {
89 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
90 port-id = <1>;
91 gop-port-id = <2>;
92 };
93
94 eth2: eth2 {
95 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
96 port-id = <2>;
97 gop-port-id = <3>;
98 };
99};