xref: /freebsd/sys/contrib/device-tree/Bindings/net/fsl-fman.txt (revision 8bab661a3316d8bd9b9fbd11a3b4371b91507bd2)
1c66ec88fSEmmanuel Vadot=============================================================================
2c66ec88fSEmmanuel VadotFreescale Frame Manager Device Bindings
3c66ec88fSEmmanuel Vadot
4c66ec88fSEmmanuel VadotCONTENTS
5c66ec88fSEmmanuel Vadot  - FMan Node
6c66ec88fSEmmanuel Vadot  - FMan Port Node
7c66ec88fSEmmanuel Vadot  - FMan MURAM Node
8c66ec88fSEmmanuel Vadot  - FMan dTSEC/XGEC/mEMAC Node
9c66ec88fSEmmanuel Vadot  - FMan IEEE 1588 Node
10c66ec88fSEmmanuel Vadot  - FMan MDIO Node
11c66ec88fSEmmanuel Vadot  - Example
12c66ec88fSEmmanuel Vadot
13c66ec88fSEmmanuel Vadot=============================================================================
14c66ec88fSEmmanuel VadotFMan Node
15c66ec88fSEmmanuel Vadot
16c66ec88fSEmmanuel VadotDESCRIPTION
17c66ec88fSEmmanuel Vadot
18c66ec88fSEmmanuel VadotDue to the fact that the FMan is an aggregation of sub-engines (ports, MACs,
19c66ec88fSEmmanuel Vadotetc.) the FMan node will have child nodes for each of them.
20c66ec88fSEmmanuel Vadot
21c66ec88fSEmmanuel VadotPROPERTIES
22c66ec88fSEmmanuel Vadot
23c66ec88fSEmmanuel Vadot- compatible
24c66ec88fSEmmanuel Vadot		Usage: required
25c66ec88fSEmmanuel Vadot		Value type: <stringlist>
26c66ec88fSEmmanuel Vadot		Definition: Must include "fsl,fman"
27c66ec88fSEmmanuel Vadot		FMan version can be determined via FM_IP_REV_1 register in the
28c66ec88fSEmmanuel Vadot		FMan block. The offset is 0xc4 from the beginning of the
29c66ec88fSEmmanuel Vadot		Frame Processing Manager memory map (0xc3000 from the
30c66ec88fSEmmanuel Vadot		beginning of the FMan node).
31c66ec88fSEmmanuel Vadot
32c66ec88fSEmmanuel Vadot- cell-index
33c66ec88fSEmmanuel Vadot		Usage: required
34c66ec88fSEmmanuel Vadot		Value type: <u32>
35c66ec88fSEmmanuel Vadot		Definition: Specifies the index of the FMan unit.
36c66ec88fSEmmanuel Vadot
37c66ec88fSEmmanuel Vadot		The cell-index value may be used by the SoC, to identify the
38c66ec88fSEmmanuel Vadot		FMan unit in the SoC memory map. In the table below,
39c66ec88fSEmmanuel Vadot		there's a description of the cell-index use in each SoC:
40c66ec88fSEmmanuel Vadot
41c66ec88fSEmmanuel Vadot		- P1023:
42c66ec88fSEmmanuel Vadot		register[bit]			FMan unit	cell-index
43c66ec88fSEmmanuel Vadot		============================================================
44c66ec88fSEmmanuel Vadot		DEVDISR[1]			1		0
45c66ec88fSEmmanuel Vadot
46c66ec88fSEmmanuel Vadot		- P2041, P3041, P4080 P5020, P5040:
47c66ec88fSEmmanuel Vadot		register[bit]			FMan unit	cell-index
48c66ec88fSEmmanuel Vadot		============================================================
49c66ec88fSEmmanuel Vadot		DCFG_DEVDISR2[6]		1		0
50c66ec88fSEmmanuel Vadot		DCFG_DEVDISR2[14]		2		1
51c66ec88fSEmmanuel Vadot			(Second FM available only in P4080 and P5040)
52c66ec88fSEmmanuel Vadot
53c66ec88fSEmmanuel Vadot		- B4860, T1040, T2080, T4240:
54c66ec88fSEmmanuel Vadot		register[bit]			FMan unit	cell-index
55c66ec88fSEmmanuel Vadot		============================================================
56c66ec88fSEmmanuel Vadot		DCFG_CCSR_DEVDISR2[24]		1		0
57c66ec88fSEmmanuel Vadot		DCFG_CCSR_DEVDISR2[25]		2		1
58c66ec88fSEmmanuel Vadot			(Second FM available only in T4240)
59c66ec88fSEmmanuel Vadot
60c66ec88fSEmmanuel Vadot		DEVDISR, DCFG_DEVDISR2 and DCFG_CCSR_DEVDISR2 are located in
61c66ec88fSEmmanuel Vadot		the specific SoC "Device Configuration/Pin Control" Memory
62c66ec88fSEmmanuel Vadot		Map.
63c66ec88fSEmmanuel Vadot
64c66ec88fSEmmanuel Vadot- reg
65c66ec88fSEmmanuel Vadot		Usage: required
66c66ec88fSEmmanuel Vadot		Value type: <prop-encoded-array>
67c66ec88fSEmmanuel Vadot		Definition: A standard property. Specifies the offset of the
68c66ec88fSEmmanuel Vadot		following configuration registers:
69c66ec88fSEmmanuel Vadot		- BMI configuration registers.
70c66ec88fSEmmanuel Vadot		- QMI configuration registers.
71c66ec88fSEmmanuel Vadot		- DMA configuration registers.
72c66ec88fSEmmanuel Vadot		- FPM configuration registers.
73c66ec88fSEmmanuel Vadot		- FMan controller configuration registers.
74c66ec88fSEmmanuel Vadot
75c66ec88fSEmmanuel Vadot- ranges
76c66ec88fSEmmanuel Vadot		Usage: required
77c66ec88fSEmmanuel Vadot		Value type: <prop-encoded-array>
78c66ec88fSEmmanuel Vadot		Definition: A standard property.
79c66ec88fSEmmanuel Vadot
80c66ec88fSEmmanuel Vadot- clocks
81c66ec88fSEmmanuel Vadot		Usage: required
82c66ec88fSEmmanuel Vadot		Value type: <prop-encoded-array>
83c66ec88fSEmmanuel Vadot		Definition: phandle for the fman input clock.
84c66ec88fSEmmanuel Vadot
85c66ec88fSEmmanuel Vadot- clock-names
86c66ec88fSEmmanuel Vadot		usage: required
87c66ec88fSEmmanuel Vadot		Value type: <stringlist>
88c66ec88fSEmmanuel Vadot		Definition: "fmanclk" for the fman input clock.
89c66ec88fSEmmanuel Vadot
90c66ec88fSEmmanuel Vadot- interrupts
91c66ec88fSEmmanuel Vadot		Usage: required
92c66ec88fSEmmanuel Vadot		Value type: <prop-encoded-array>
93c66ec88fSEmmanuel Vadot		Definition: A pair of IRQs are specified in this property.
94c66ec88fSEmmanuel Vadot		The first element is associated with the event interrupts and
95c66ec88fSEmmanuel Vadot		the second element is associated with the error interrupts.
96c66ec88fSEmmanuel Vadot
97c66ec88fSEmmanuel Vadot- fsl,qman-channel-range
98c66ec88fSEmmanuel Vadot		Usage: required
99c66ec88fSEmmanuel Vadot		Value type: <prop-encoded-array>
100c66ec88fSEmmanuel Vadot		Definition: Specifies the range of the available dedicated
101c66ec88fSEmmanuel Vadot		channels in the FMan. The first cell specifies the beginning
102c66ec88fSEmmanuel Vadot		of the range and the second cell specifies the number of
103c66ec88fSEmmanuel Vadot		channels.
104c66ec88fSEmmanuel Vadot		Further information available at:
105c66ec88fSEmmanuel Vadot		"Work Queue (WQ) Channel Assignments in the QMan" section
106c66ec88fSEmmanuel Vadot		in DPAA Reference Manual.
107c66ec88fSEmmanuel Vadot
108c66ec88fSEmmanuel Vadot- fsl,qman
109c66ec88fSEmmanuel Vadot- fsl,bman
110c66ec88fSEmmanuel Vadot		Usage: required
111c66ec88fSEmmanuel Vadot		Definition: See soc/fsl/qman.txt and soc/fsl/bman.txt
112c66ec88fSEmmanuel Vadot
113c66ec88fSEmmanuel Vadot- fsl,erratum-a050385
114c66ec88fSEmmanuel Vadot		Usage: optional
115c66ec88fSEmmanuel Vadot		Value type: boolean
116c66ec88fSEmmanuel Vadot		Definition: A boolean property. Indicates the presence of the
117c66ec88fSEmmanuel Vadot		erratum A050385 which indicates that DMA transactions that are
118c66ec88fSEmmanuel Vadot		split can result in a FMan lock.
119c66ec88fSEmmanuel Vadot
120c66ec88fSEmmanuel Vadot=============================================================================
121c66ec88fSEmmanuel VadotFMan MURAM Node
122c66ec88fSEmmanuel Vadot
123c66ec88fSEmmanuel VadotDESCRIPTION
124c66ec88fSEmmanuel Vadot
125c66ec88fSEmmanuel VadotFMan Internal memory - shared between all the FMan modules.
126c66ec88fSEmmanuel VadotIt contains data structures that are common and written to or read by
127c66ec88fSEmmanuel Vadotthe modules.
128c66ec88fSEmmanuel VadotFMan internal memory is split into the following parts:
129c66ec88fSEmmanuel Vadot	Packet buffering (Tx/Rx FIFOs)
130c66ec88fSEmmanuel Vadot	Frames internal context
131c66ec88fSEmmanuel Vadot
132c66ec88fSEmmanuel VadotPROPERTIES
133c66ec88fSEmmanuel Vadot
134c66ec88fSEmmanuel Vadot- compatible
135c66ec88fSEmmanuel Vadot		Usage: required
136c66ec88fSEmmanuel Vadot		Value type: <stringlist>
137c66ec88fSEmmanuel Vadot		Definition: Must include "fsl,fman-muram"
138c66ec88fSEmmanuel Vadot
139c66ec88fSEmmanuel Vadot- ranges
140c66ec88fSEmmanuel Vadot		Usage: required
141c66ec88fSEmmanuel Vadot		Value type: <prop-encoded-array>
142c66ec88fSEmmanuel Vadot		Definition: A standard property.
143c66ec88fSEmmanuel Vadot		Specifies the multi-user memory offset and the size within
144c66ec88fSEmmanuel Vadot		the FMan.
145c66ec88fSEmmanuel Vadot
146c66ec88fSEmmanuel VadotEXAMPLE
147c66ec88fSEmmanuel Vadot
148c66ec88fSEmmanuel Vadotmuram@0 {
149c66ec88fSEmmanuel Vadot	compatible = "fsl,fman-muram";
150c66ec88fSEmmanuel Vadot	ranges = <0 0x000000 0x28000>;
151c66ec88fSEmmanuel Vadot};
152c66ec88fSEmmanuel Vadot
153c66ec88fSEmmanuel Vadot=============================================================================
154c66ec88fSEmmanuel VadotFMan Port Node
155c66ec88fSEmmanuel Vadot
156c66ec88fSEmmanuel VadotDESCRIPTION
157c66ec88fSEmmanuel Vadot
158c66ec88fSEmmanuel VadotThe Frame Manager (FMan) supports several types of hardware ports:
159c66ec88fSEmmanuel Vadot	Ethernet receiver (RX)
160c66ec88fSEmmanuel Vadot	Ethernet transmitter (TX)
161c66ec88fSEmmanuel Vadot	Offline/Host command (O/H)
162c66ec88fSEmmanuel Vadot
163c66ec88fSEmmanuel VadotPROPERTIES
164c66ec88fSEmmanuel Vadot
165c66ec88fSEmmanuel Vadot- compatible
166c66ec88fSEmmanuel Vadot		Usage: required
167c66ec88fSEmmanuel Vadot		Value type: <stringlist>
168c66ec88fSEmmanuel Vadot		Definition: A standard property.
169c66ec88fSEmmanuel Vadot		Must include one of the following:
170c66ec88fSEmmanuel Vadot			- "fsl,fman-v2-port-oh" for FManV2 OH ports
171c66ec88fSEmmanuel Vadot			- "fsl,fman-v2-port-rx" for FManV2 RX ports
172c66ec88fSEmmanuel Vadot			- "fsl,fman-v2-port-tx" for FManV2 TX ports
173c66ec88fSEmmanuel Vadot			- "fsl,fman-v3-port-oh" for FManV3 OH ports
174c66ec88fSEmmanuel Vadot			- "fsl,fman-v3-port-rx" for FManV3 RX ports
175c66ec88fSEmmanuel Vadot			- "fsl,fman-v3-port-tx" for FManV3 TX ports
176c66ec88fSEmmanuel Vadot
177c66ec88fSEmmanuel Vadot- cell-index
178c66ec88fSEmmanuel Vadot		Usage: required
179c66ec88fSEmmanuel Vadot		Value type: <u32>
180c66ec88fSEmmanuel Vadot		Definition: Specifies the hardware port id.
181c66ec88fSEmmanuel Vadot		Each hardware port on the FMan has its own hardware PortID.
182c66ec88fSEmmanuel Vadot		Super set of all hardware Port IDs available at FMan Reference
183c66ec88fSEmmanuel Vadot		Manual under "FMan Hardware Ports in Freescale Devices" table.
184c66ec88fSEmmanuel Vadot
185c66ec88fSEmmanuel Vadot		Each hardware port is assigned a 4KB, port-specific page in
186c66ec88fSEmmanuel Vadot		the FMan hardware port memory region (which is part of the
187c66ec88fSEmmanuel Vadot		FMan memory map). The first 4 KB in the FMan hardware ports
188c66ec88fSEmmanuel Vadot		memory region is used for what are called common registers.
189c66ec88fSEmmanuel Vadot		The subsequent 63 4KB pages are allocated to the hardware
190c66ec88fSEmmanuel Vadot		ports.
191c66ec88fSEmmanuel Vadot		The page of a specific port is determined by the cell-index.
192c66ec88fSEmmanuel Vadot
193c66ec88fSEmmanuel Vadot- reg
194c66ec88fSEmmanuel Vadot		Usage: required
195c66ec88fSEmmanuel Vadot		Value type: <prop-encoded-array>
196c66ec88fSEmmanuel Vadot		Definition: There is one reg region describing the port
197c66ec88fSEmmanuel Vadot		configuration registers.
198c66ec88fSEmmanuel Vadot
199c66ec88fSEmmanuel Vadot- fsl,fman-10g-port
200c66ec88fSEmmanuel Vadot		Usage: optional
201c66ec88fSEmmanuel Vadot		Value type: boolean
202c66ec88fSEmmanuel Vadot		Definition: The default port rate is 1G.
203c66ec88fSEmmanuel Vadot		If this property exists, the port is s 10G port.
204c66ec88fSEmmanuel Vadot
205c66ec88fSEmmanuel Vadot- fsl,fman-best-effort-port
206c66ec88fSEmmanuel Vadot		Usage: optional
207c66ec88fSEmmanuel Vadot		Value type: boolean
208c66ec88fSEmmanuel Vadot		Definition: Can be defined only if 10G-support is set.
209c66ec88fSEmmanuel Vadot		This property marks a best-effort 10G port (10G port that
210c66ec88fSEmmanuel Vadot		may not be capable of line rate).
211c66ec88fSEmmanuel Vadot
212c66ec88fSEmmanuel VadotEXAMPLE
213c66ec88fSEmmanuel Vadot
214c66ec88fSEmmanuel Vadotport@a8000 {
215c66ec88fSEmmanuel Vadot	cell-index = <0x28>;
216c66ec88fSEmmanuel Vadot	compatible = "fsl,fman-v2-port-tx";
217c66ec88fSEmmanuel Vadot	reg = <0xa8000 0x1000>;
218c66ec88fSEmmanuel Vadot};
219c66ec88fSEmmanuel Vadot
220c66ec88fSEmmanuel Vadotport@88000 {
221c66ec88fSEmmanuel Vadot	cell-index = <0x8>;
222c66ec88fSEmmanuel Vadot	compatible = "fsl,fman-v2-port-rx";
223c66ec88fSEmmanuel Vadot	reg = <0x88000 0x1000>;
224c66ec88fSEmmanuel Vadot};
225c66ec88fSEmmanuel Vadot
226c66ec88fSEmmanuel Vadotport@81000 {
227c66ec88fSEmmanuel Vadot	cell-index = <0x1>;
228c66ec88fSEmmanuel Vadot	compatible = "fsl,fman-v2-port-oh";
229c66ec88fSEmmanuel Vadot	reg = <0x81000 0x1000>;
230c66ec88fSEmmanuel Vadot};
231c66ec88fSEmmanuel Vadot
232c66ec88fSEmmanuel Vadot=============================================================================
233c66ec88fSEmmanuel VadotFMan dTSEC/XGEC/mEMAC Node
234c66ec88fSEmmanuel Vadot
2357ef62cebSEmmanuel VadotRefer to Documentation/devicetree/bindings/net/fsl,fman-dtsec.yaml
236c66ec88fSEmmanuel Vadot
237c66ec88fSEmmanuel Vadot============================================================================
238c66ec88fSEmmanuel VadotFMan IEEE 1588 Node
239c66ec88fSEmmanuel Vadot
240c66ec88fSEmmanuel VadotRefer to Documentation/devicetree/bindings/ptp/ptp-qoriq.txt
241c66ec88fSEmmanuel Vadot
242c66ec88fSEmmanuel Vadot=============================================================================
243c66ec88fSEmmanuel VadotFMan MDIO Node
244c66ec88fSEmmanuel Vadot
245c66ec88fSEmmanuel VadotDESCRIPTION
246c66ec88fSEmmanuel Vadot
247c66ec88fSEmmanuel VadotThe MDIO is a bus to which the PHY devices are connected.
248c66ec88fSEmmanuel Vadot
249c66ec88fSEmmanuel VadotPROPERTIES
250c66ec88fSEmmanuel Vadot
251c66ec88fSEmmanuel Vadot- compatible
252c66ec88fSEmmanuel Vadot		Usage: required
253c66ec88fSEmmanuel Vadot		Value type: <stringlist>
254c66ec88fSEmmanuel Vadot		Definition: A standard property.
255c66ec88fSEmmanuel Vadot		Must include "fsl,fman-mdio" for 1 Gb/s MDIO from FMan v2.
256c66ec88fSEmmanuel Vadot		Must include "fsl,fman-xmdio" for 10 Gb/s MDIO from FMan v2.
257c66ec88fSEmmanuel Vadot		Must include "fsl,fman-memac-mdio" for 1/10 Gb/s MDIO from
258c66ec88fSEmmanuel Vadot		FMan v3.
259c66ec88fSEmmanuel Vadot
260c66ec88fSEmmanuel Vadot- reg
261c66ec88fSEmmanuel Vadot		Usage: required
262c66ec88fSEmmanuel Vadot		Value type: <prop-encoded-array>
263c66ec88fSEmmanuel Vadot		Definition: A standard property.
264c66ec88fSEmmanuel Vadot
265c9ccf3a3SEmmanuel Vadot- clocks
266c9ccf3a3SEmmanuel Vadot		Usage: optional
267c9ccf3a3SEmmanuel Vadot		Value type: <phandle>
268c9ccf3a3SEmmanuel Vadot		Definition: A reference to the input clock of the controller
269c9ccf3a3SEmmanuel Vadot		from which the MDC frequency is derived.
270c9ccf3a3SEmmanuel Vadot
271c9ccf3a3SEmmanuel Vadot- clock-frequency
272c66ec88fSEmmanuel Vadot		Usage: optional
273c66ec88fSEmmanuel Vadot		Value type: <u32>
274c9ccf3a3SEmmanuel Vadot		Definition: Specifies the external MDC frequency, in Hertz, to
275c9ccf3a3SEmmanuel Vadot		be used. Requires that the input clock is specified in the
276c9ccf3a3SEmmanuel Vadot		"clocks" property. See also: mdio.yaml.
277c9ccf3a3SEmmanuel Vadot
278c9ccf3a3SEmmanuel Vadot- suppress-preamble
279c9ccf3a3SEmmanuel Vadot		Usage: optional
280c9ccf3a3SEmmanuel Vadot		Value type: <boolean>
281c9ccf3a3SEmmanuel Vadot		Definition: Disable generation of preamble bits. See also:
282c9ccf3a3SEmmanuel Vadot		mdio.yaml.
283c66ec88fSEmmanuel Vadot
284c66ec88fSEmmanuel Vadot- interrupts
285c66ec88fSEmmanuel Vadot		Usage: required for external MDIO
286c66ec88fSEmmanuel Vadot		Value type: <prop-encoded-array>
287c66ec88fSEmmanuel Vadot		Definition: Event interrupt of external MDIO controller.
288c66ec88fSEmmanuel Vadot
289c66ec88fSEmmanuel Vadot- fsl,fman-internal-mdio
290c66ec88fSEmmanuel Vadot		Usage: required for internal MDIO
291c66ec88fSEmmanuel Vadot		Value type: boolean
292c66ec88fSEmmanuel Vadot		Definition: Fman has internal MDIO for internal PCS(Physical
293c66ec88fSEmmanuel Vadot		Coding Sublayer) PHYs and external MDIO for external PHYs.
294c66ec88fSEmmanuel Vadot		The settings and programming routines for internal/external
295c66ec88fSEmmanuel Vadot		MDIO are different. Must be included for internal MDIO.
296c66ec88fSEmmanuel Vadot
297e67e8565SEmmanuel Vadot- fsl,erratum-a009885
298e67e8565SEmmanuel Vadot		Usage: optional
299e67e8565SEmmanuel Vadot		Value type: <boolean>
300e67e8565SEmmanuel Vadot		Definition: Indicates the presence of the A009885
301e67e8565SEmmanuel Vadot		erratum describing that the contents of MDIO_DATA may
302e67e8565SEmmanuel Vadot		become corrupt unless it is read within 16 MDC cycles
303e67e8565SEmmanuel Vadot		of MDIO_CFG[BSY] being cleared, when performing an
304e67e8565SEmmanuel Vadot		MDIO read operation.
305e67e8565SEmmanuel Vadot
306c66ec88fSEmmanuel Vadot- fsl,erratum-a011043
307c66ec88fSEmmanuel Vadot		Usage: optional
308c66ec88fSEmmanuel Vadot		Value type: <boolean>
309c66ec88fSEmmanuel Vadot		Definition: Indicates the presence of the A011043 erratum
310c66ec88fSEmmanuel Vadot		describing that the MDIO_CFG[MDIO_RD_ER] bit may be falsely
311c66ec88fSEmmanuel Vadot		set when reading internal PCS registers. MDIO reads to
312c66ec88fSEmmanuel Vadot		internal PCS registers may result in having the
313c66ec88fSEmmanuel Vadot		MDIO_CFG[MDIO_RD_ER] bit set, even when there is no error and
314c66ec88fSEmmanuel Vadot		read data (MDIO_DATA[MDIO_DATA]) is correct.
315c66ec88fSEmmanuel Vadot		Software may get false read error when reading internal
316c66ec88fSEmmanuel Vadot		PCS registers through MDIO. As a workaround, all internal
317c66ec88fSEmmanuel Vadot		MDIO accesses should ignore the MDIO_CFG[MDIO_RD_ER] bit.
318c66ec88fSEmmanuel Vadot
319c66ec88fSEmmanuel VadotFor internal PHY device on internal mdio bus, a PHY node should be created.
320c66ec88fSEmmanuel VadotSee the definition of the PHY node in booting-without-of.txt for an
321c66ec88fSEmmanuel Vadotexample of how to define a PHY (Internal PHY has no interrupt line).
322c66ec88fSEmmanuel Vadot- For "fsl,fman-mdio" compatible internal mdio bus, the PHY is TBI PHY.
323*8bab661aSEmmanuel Vadot- For "fsl,fman-memac-mdio" compatible internal mdio bus, the PHY is PCS PHY.
324*8bab661aSEmmanuel Vadot  The PCS PHY address should correspond to the value of the appropriate
325*8bab661aSEmmanuel Vadot  MDEV_PORT.
326c66ec88fSEmmanuel Vadot
327c66ec88fSEmmanuel VadotEXAMPLE
328c66ec88fSEmmanuel Vadot
329c66ec88fSEmmanuel VadotExample for FMan v2 external MDIO:
330c66ec88fSEmmanuel Vadot
331c66ec88fSEmmanuel Vadotmdio@f1000 {
332c66ec88fSEmmanuel Vadot	compatible = "fsl,fman-xmdio";
333c66ec88fSEmmanuel Vadot	reg = <0xf1000 0x1000>;
334c66ec88fSEmmanuel Vadot	interrupts = <101 2 0 0>;
335c66ec88fSEmmanuel Vadot};
336c66ec88fSEmmanuel Vadot
337c66ec88fSEmmanuel VadotExample for FMan v2 internal MDIO:
338c66ec88fSEmmanuel Vadot
339c66ec88fSEmmanuel Vadotmdio@e3120 {
340c66ec88fSEmmanuel Vadot	compatible = "fsl,fman-mdio";
341c66ec88fSEmmanuel Vadot	reg = <0xe3120 0xee0>;
342c66ec88fSEmmanuel Vadot	fsl,fman-internal-mdio;
343c66ec88fSEmmanuel Vadot
344c66ec88fSEmmanuel Vadot	tbi1: tbi-phy@8 {
345c66ec88fSEmmanuel Vadot		reg = <0x8>;
346c66ec88fSEmmanuel Vadot		device_type = "tbi-phy";
347c66ec88fSEmmanuel Vadot	};
348c66ec88fSEmmanuel Vadot};
349c66ec88fSEmmanuel Vadot
350c66ec88fSEmmanuel VadotExample for FMan v3 internal MDIO:
351c66ec88fSEmmanuel Vadot
352c66ec88fSEmmanuel Vadotmdio@f1000 {
353c66ec88fSEmmanuel Vadot	compatible = "fsl,fman-memac-mdio";
354c66ec88fSEmmanuel Vadot	reg = <0xf1000 0x1000>;
355c66ec88fSEmmanuel Vadot	fsl,fman-internal-mdio;
356c66ec88fSEmmanuel Vadot
357c66ec88fSEmmanuel Vadot	pcsphy6: ethernet-phy@0 {
358c66ec88fSEmmanuel Vadot		reg = <0x0>;
359c66ec88fSEmmanuel Vadot	};
360c66ec88fSEmmanuel Vadot};
361c66ec88fSEmmanuel Vadot
362c66ec88fSEmmanuel Vadot=============================================================================
363c66ec88fSEmmanuel VadotExample
364c66ec88fSEmmanuel Vadot
365c66ec88fSEmmanuel Vadotfman@400000 {
366c66ec88fSEmmanuel Vadot	#address-cells = <1>;
367c66ec88fSEmmanuel Vadot	#size-cells = <1>;
368c66ec88fSEmmanuel Vadot	cell-index = <1>;
369c66ec88fSEmmanuel Vadot	compatible = "fsl,fman"
370c66ec88fSEmmanuel Vadot	ranges = <0 0x400000 0x100000>;
371c66ec88fSEmmanuel Vadot	reg = <0x400000 0x100000>;
372c66ec88fSEmmanuel Vadot	clocks = <&fman_clk>;
373c66ec88fSEmmanuel Vadot	clock-names = "fmanclk";
374c66ec88fSEmmanuel Vadot	interrupts = <
375c66ec88fSEmmanuel Vadot		96 2 0 0
376c66ec88fSEmmanuel Vadot		16 2 1 1>;
377c66ec88fSEmmanuel Vadot	fsl,qman-channel-range = <0x40 0xc>;
378c66ec88fSEmmanuel Vadot
379c66ec88fSEmmanuel Vadot	muram@0 {
380c66ec88fSEmmanuel Vadot		compatible = "fsl,fman-muram";
381c66ec88fSEmmanuel Vadot		reg = <0x0 0x28000>;
382c66ec88fSEmmanuel Vadot	};
383c66ec88fSEmmanuel Vadot
384c66ec88fSEmmanuel Vadot	port@81000 {
385c66ec88fSEmmanuel Vadot		cell-index = <1>;
386c66ec88fSEmmanuel Vadot		compatible = "fsl,fman-v2-port-oh";
387c66ec88fSEmmanuel Vadot		reg = <0x81000 0x1000>;
388c66ec88fSEmmanuel Vadot	};
389c66ec88fSEmmanuel Vadot
390c66ec88fSEmmanuel Vadot	port@82000 {
391c66ec88fSEmmanuel Vadot		cell-index = <2>;
392c66ec88fSEmmanuel Vadot		compatible = "fsl,fman-v2-port-oh";
393c66ec88fSEmmanuel Vadot		reg = <0x82000 0x1000>;
394c66ec88fSEmmanuel Vadot	};
395c66ec88fSEmmanuel Vadot
396c66ec88fSEmmanuel Vadot	port@83000 {
397c66ec88fSEmmanuel Vadot		cell-index = <3>;
398c66ec88fSEmmanuel Vadot		compatible = "fsl,fman-v2-port-oh";
399c66ec88fSEmmanuel Vadot		reg = <0x83000 0x1000>;
400c66ec88fSEmmanuel Vadot	};
401c66ec88fSEmmanuel Vadot
402c66ec88fSEmmanuel Vadot	port@84000 {
403c66ec88fSEmmanuel Vadot		cell-index = <4>;
404c66ec88fSEmmanuel Vadot		compatible = "fsl,fman-v2-port-oh";
405c66ec88fSEmmanuel Vadot		reg = <0x84000 0x1000>;
406c66ec88fSEmmanuel Vadot	};
407c66ec88fSEmmanuel Vadot
408c66ec88fSEmmanuel Vadot	port@85000 {
409c66ec88fSEmmanuel Vadot		cell-index = <5>;
410c66ec88fSEmmanuel Vadot		compatible = "fsl,fman-v2-port-oh";
411c66ec88fSEmmanuel Vadot		reg = <0x85000 0x1000>;
412c66ec88fSEmmanuel Vadot	};
413c66ec88fSEmmanuel Vadot
414c66ec88fSEmmanuel Vadot	port@86000 {
415c66ec88fSEmmanuel Vadot		cell-index = <6>;
416c66ec88fSEmmanuel Vadot		compatible = "fsl,fman-v2-port-oh";
417c66ec88fSEmmanuel Vadot		reg = <0x86000 0x1000>;
418c66ec88fSEmmanuel Vadot	};
419c66ec88fSEmmanuel Vadot
420c66ec88fSEmmanuel Vadot	fman1_rx_0x8: port@88000 {
421c66ec88fSEmmanuel Vadot		cell-index = <0x8>;
422c66ec88fSEmmanuel Vadot		compatible = "fsl,fman-v2-port-rx";
423c66ec88fSEmmanuel Vadot		reg = <0x88000 0x1000>;
424c66ec88fSEmmanuel Vadot	};
425c66ec88fSEmmanuel Vadot
426c66ec88fSEmmanuel Vadot	fman1_rx_0x9: port@89000 {
427c66ec88fSEmmanuel Vadot		cell-index = <0x9>;
428c66ec88fSEmmanuel Vadot		compatible = "fsl,fman-v2-port-rx";
429c66ec88fSEmmanuel Vadot		reg = <0x89000 0x1000>;
430c66ec88fSEmmanuel Vadot	};
431c66ec88fSEmmanuel Vadot
432c66ec88fSEmmanuel Vadot	fman1_rx_0xa: port@8a000 {
433c66ec88fSEmmanuel Vadot		cell-index = <0xa>;
434c66ec88fSEmmanuel Vadot		compatible = "fsl,fman-v2-port-rx";
435c66ec88fSEmmanuel Vadot		reg = <0x8a000 0x1000>;
436c66ec88fSEmmanuel Vadot	};
437c66ec88fSEmmanuel Vadot
438c66ec88fSEmmanuel Vadot	fman1_rx_0xb: port@8b000 {
439c66ec88fSEmmanuel Vadot		cell-index = <0xb>;
440c66ec88fSEmmanuel Vadot		compatible = "fsl,fman-v2-port-rx";
441c66ec88fSEmmanuel Vadot		reg = <0x8b000 0x1000>;
442c66ec88fSEmmanuel Vadot	};
443c66ec88fSEmmanuel Vadot
444c66ec88fSEmmanuel Vadot	fman1_rx_0xc: port@8c000 {
445c66ec88fSEmmanuel Vadot		cell-index = <0xc>;
446c66ec88fSEmmanuel Vadot		compatible = "fsl,fman-v2-port-rx";
447c66ec88fSEmmanuel Vadot		reg = <0x8c000 0x1000>;
448c66ec88fSEmmanuel Vadot	};
449c66ec88fSEmmanuel Vadot
450c66ec88fSEmmanuel Vadot	fman1_rx_0x10: port@90000 {
451c66ec88fSEmmanuel Vadot		cell-index = <0x10>;
452c66ec88fSEmmanuel Vadot		compatible = "fsl,fman-v2-port-rx";
453c66ec88fSEmmanuel Vadot		reg = <0x90000 0x1000>;
454c66ec88fSEmmanuel Vadot	};
455c66ec88fSEmmanuel Vadot
456c66ec88fSEmmanuel Vadot	fman1_tx_0x28: port@a8000 {
457c66ec88fSEmmanuel Vadot		cell-index = <0x28>;
458c66ec88fSEmmanuel Vadot		compatible = "fsl,fman-v2-port-tx";
459c66ec88fSEmmanuel Vadot		reg = <0xa8000 0x1000>;
460c66ec88fSEmmanuel Vadot	};
461c66ec88fSEmmanuel Vadot
462c66ec88fSEmmanuel Vadot	fman1_tx_0x29: port@a9000 {
463c66ec88fSEmmanuel Vadot		cell-index = <0x29>;
464c66ec88fSEmmanuel Vadot		compatible = "fsl,fman-v2-port-tx";
465c66ec88fSEmmanuel Vadot		reg = <0xa9000 0x1000>;
466c66ec88fSEmmanuel Vadot	};
467c66ec88fSEmmanuel Vadot
468c66ec88fSEmmanuel Vadot	fman1_tx_0x2a: port@aa000 {
469c66ec88fSEmmanuel Vadot		cell-index = <0x2a>;
470c66ec88fSEmmanuel Vadot		compatible = "fsl,fman-v2-port-tx";
471c66ec88fSEmmanuel Vadot		reg = <0xaa000 0x1000>;
472c66ec88fSEmmanuel Vadot	};
473c66ec88fSEmmanuel Vadot
474c66ec88fSEmmanuel Vadot	fman1_tx_0x2b: port@ab000 {
475c66ec88fSEmmanuel Vadot		cell-index = <0x2b>;
476c66ec88fSEmmanuel Vadot		compatible = "fsl,fman-v2-port-tx";
477c66ec88fSEmmanuel Vadot		reg = <0xab000 0x1000>;
478c66ec88fSEmmanuel Vadot	};
479c66ec88fSEmmanuel Vadot
480c66ec88fSEmmanuel Vadot	fman1_tx_0x2c: port@ac0000 {
481c66ec88fSEmmanuel Vadot		cell-index = <0x2c>;
482c66ec88fSEmmanuel Vadot		compatible = "fsl,fman-v2-port-tx";
483c66ec88fSEmmanuel Vadot		reg = <0xac000 0x1000>;
484c66ec88fSEmmanuel Vadot	};
485c66ec88fSEmmanuel Vadot
486c66ec88fSEmmanuel Vadot	fman1_tx_0x30: port@b0000 {
487c66ec88fSEmmanuel Vadot		cell-index = <0x30>;
488c66ec88fSEmmanuel Vadot		compatible = "fsl,fman-v2-port-tx";
489c66ec88fSEmmanuel Vadot		reg = <0xb0000 0x1000>;
490c66ec88fSEmmanuel Vadot	};
491c66ec88fSEmmanuel Vadot
492c66ec88fSEmmanuel Vadot	ethernet@e0000 {
493c66ec88fSEmmanuel Vadot		compatible = "fsl,fman-dtsec";
494c66ec88fSEmmanuel Vadot		cell-index = <0>;
495c66ec88fSEmmanuel Vadot		reg = <0xe0000 0x1000>;
496c66ec88fSEmmanuel Vadot		fsl,fman-ports = <&fman1_rx_0x8 &fman1_tx_0x28>;
497c66ec88fSEmmanuel Vadot		tbi-handle = <&tbi5>;
498c66ec88fSEmmanuel Vadot	};
499c66ec88fSEmmanuel Vadot
500c66ec88fSEmmanuel Vadot	ethernet@e2000 {
501c66ec88fSEmmanuel Vadot		compatible = "fsl,fman-dtsec";
502c66ec88fSEmmanuel Vadot		cell-index = <1>;
503c66ec88fSEmmanuel Vadot		reg = <0xe2000 0x1000>;
504c66ec88fSEmmanuel Vadot		fsl,fman-ports = <&fman1_rx_0x9 &fman1_tx_0x29>;
505c66ec88fSEmmanuel Vadot		tbi-handle = <&tbi6>;
506c66ec88fSEmmanuel Vadot	};
507c66ec88fSEmmanuel Vadot
508c66ec88fSEmmanuel Vadot	ethernet@e4000 {
509c66ec88fSEmmanuel Vadot		compatible = "fsl,fman-dtsec";
510c66ec88fSEmmanuel Vadot		cell-index = <2>;
511c66ec88fSEmmanuel Vadot		reg = <0xe4000 0x1000>;
512c66ec88fSEmmanuel Vadot		fsl,fman-ports = <&fman1_rx_0xa &fman1_tx_0x2a>;
513c66ec88fSEmmanuel Vadot		tbi-handle = <&tbi7>;
514c66ec88fSEmmanuel Vadot	};
515c66ec88fSEmmanuel Vadot
516c66ec88fSEmmanuel Vadot	ethernet@e6000 {
517c66ec88fSEmmanuel Vadot		compatible = "fsl,fman-dtsec";
518c66ec88fSEmmanuel Vadot		cell-index = <3>;
519c66ec88fSEmmanuel Vadot		reg = <0xe6000 0x1000>;
520c66ec88fSEmmanuel Vadot		fsl,fman-ports = <&fman1_rx_0xb &fman1_tx_0x2b>;
521c66ec88fSEmmanuel Vadot		tbi-handle = <&tbi8>;
522c66ec88fSEmmanuel Vadot	};
523c66ec88fSEmmanuel Vadot
524c66ec88fSEmmanuel Vadot	ethernet@e8000 {
525c66ec88fSEmmanuel Vadot		compatible = "fsl,fman-dtsec";
526c66ec88fSEmmanuel Vadot		cell-index = <4>;
527c66ec88fSEmmanuel Vadot		reg = <0xf0000 0x1000>;
528c66ec88fSEmmanuel Vadot		fsl,fman-ports = <&fman1_rx_0xc &fman1_tx_0x2c>;
529c66ec88fSEmmanuel Vadot		tbi-handle = <&tbi9>;
530c66ec88fSEmmanuel Vadot
531c66ec88fSEmmanuel Vadot	ethernet@f0000 {
532c66ec88fSEmmanuel Vadot		cell-index = <8>;
533c66ec88fSEmmanuel Vadot		compatible = "fsl,fman-xgec";
534c66ec88fSEmmanuel Vadot		reg = <0xf0000 0x1000>;
535c66ec88fSEmmanuel Vadot		fsl,fman-ports = <&fman1_rx_0x10 &fman1_tx_0x30>;
536c66ec88fSEmmanuel Vadot	};
537c66ec88fSEmmanuel Vadot
538c66ec88fSEmmanuel Vadot	ptp-timer@fe000 {
539c66ec88fSEmmanuel Vadot		compatible = "fsl,fman-ptp-timer";
540c66ec88fSEmmanuel Vadot		reg = <0xfe000 0x1000>;
541c66ec88fSEmmanuel Vadot	};
542c66ec88fSEmmanuel Vadot
543c66ec88fSEmmanuel Vadot	mdio@f1000 {
544c66ec88fSEmmanuel Vadot		compatible = "fsl,fman-xmdio";
545c66ec88fSEmmanuel Vadot		reg = <0xf1000 0x1000>;
546c66ec88fSEmmanuel Vadot		interrupts = <101 2 0 0>;
547c66ec88fSEmmanuel Vadot	};
548c66ec88fSEmmanuel Vadot};
549