173 lines
5.0 KiB
YAML
173 lines
5.0 KiB
YAML
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
$id: http://devicetree.org/schemas/net/fsl,fman-dtsec.yaml#
|
||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||
|
|
||
|
title: NXP FMan MAC
|
||
|
|
||
|
maintainers:
|
||
|
- Madalin Bucur <madalin.bucur@nxp.com>
|
||
|
|
||
|
description: |
|
||
|
Each FMan has several MACs, each implementing an Ethernet interface. Earlier
|
||
|
versions of FMan used the Datapath Three Speed Ethernet Controller (dTSEC) for
|
||
|
10/100/1000 MBit/s speeds, and the 10-Gigabit Ethernet Media Access Controller
|
||
|
(10GEC) for 10 Gbit/s speeds. Later versions of FMan use the Multirate
|
||
|
Ethernet Media Access Controller (mEMAC) to handle all speeds.
|
||
|
|
||
|
properties:
|
||
|
compatible:
|
||
|
enum:
|
||
|
- fsl,fman-dtsec
|
||
|
- fsl,fman-xgec
|
||
|
- fsl,fman-memac
|
||
|
|
||
|
cell-index:
|
||
|
maximum: 64
|
||
|
description: |
|
||
|
FManV2:
|
||
|
register[bit] MAC cell-index
|
||
|
============================================================
|
||
|
FM_EPI[16] XGEC 8
|
||
|
FM_EPI[16+n] dTSECn n-1
|
||
|
FM_NPI[11+n] dTSECn n-1
|
||
|
n = 1,..,5
|
||
|
|
||
|
FManV3:
|
||
|
register[bit] MAC cell-index
|
||
|
============================================================
|
||
|
FM_EPI[16+n] mEMACn n-1
|
||
|
FM_EPI[25] mEMAC10 9
|
||
|
|
||
|
FM_NPI[11+n] mEMACn n-1
|
||
|
FM_NPI[10] mEMAC10 9
|
||
|
FM_NPI[11] mEMAC9 8
|
||
|
n = 1,..8
|
||
|
|
||
|
FM_EPI and FM_NPI are located in the FMan memory map.
|
||
|
|
||
|
2. SoC registers:
|
||
|
|
||
|
- P2041, P3041, P4080 P5020, P5040:
|
||
|
register[bit] FMan MAC cell
|
||
|
Unit index
|
||
|
============================================================
|
||
|
DCFG_DEVDISR2[7] 1 XGEC 8
|
||
|
DCFG_DEVDISR2[7+n] 1 dTSECn n-1
|
||
|
DCFG_DEVDISR2[15] 2 XGEC 8
|
||
|
DCFG_DEVDISR2[15+n] 2 dTSECn n-1
|
||
|
n = 1,..5
|
||
|
|
||
|
- T1040, T2080, T4240, B4860:
|
||
|
register[bit] FMan MAC cell
|
||
|
Unit index
|
||
|
============================================================
|
||
|
DCFG_CCSR_DEVDISR2[n-1] 1 mEMACn n-1
|
||
|
DCFG_CCSR_DEVDISR2[11+n] 2 mEMACn n-1
|
||
|
n = 1,..6,9,10
|
||
|
|
||
|
EVDISR, DCFG_DEVDISR2 and DCFG_CCSR_DEVDISR2 are located in
|
||
|
the specific SoC "Device Configuration/Pin Control" Memory
|
||
|
Map.
|
||
|
|
||
|
reg:
|
||
|
maxItems: 1
|
||
|
|
||
|
fsl,fman-ports:
|
||
|
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||
|
maxItems: 2
|
||
|
description: |
|
||
|
An array of two references: the first is the FMan RX port and the second
|
||
|
is the TX port used by this MAC.
|
||
|
|
||
|
ptp-timer:
|
||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||
|
description: A reference to the IEEE1588 timer
|
||
|
|
||
|
phys:
|
||
|
description: A reference to the SerDes lane(s)
|
||
|
maxItems: 1
|
||
|
|
||
|
phy-names:
|
||
|
items:
|
||
|
- const: serdes
|
||
|
|
||
|
pcsphy-handle:
|
||
|
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||
|
minItems: 1
|
||
|
maxItems: 3
|
||
|
deprecated: true
|
||
|
description: See pcs-handle.
|
||
|
|
||
|
pcs-handle:
|
||
|
minItems: 1
|
||
|
maxItems: 3
|
||
|
description: |
|
||
|
A reference to the various PCSs (typically found on the SerDes). If
|
||
|
pcs-handle-names is absent, and phy-connection-type is "xgmii", then the first
|
||
|
reference will be assumed to be for "xfi". Otherwise, if pcs-handle-names is
|
||
|
absent, then the first reference will be assumed to be for "sgmii".
|
||
|
|
||
|
pcs-handle-names:
|
||
|
minItems: 1
|
||
|
maxItems: 3
|
||
|
items:
|
||
|
enum:
|
||
|
- sgmii
|
||
|
- qsgmii
|
||
|
- xfi
|
||
|
description: The type of each PCS in pcsphy-handle.
|
||
|
|
||
|
tbi-handle:
|
||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||
|
description: A reference to the (TBI-based) PCS
|
||
|
|
||
|
required:
|
||
|
- compatible
|
||
|
- cell-index
|
||
|
- reg
|
||
|
- fsl,fman-ports
|
||
|
- ptp-timer
|
||
|
|
||
|
dependencies:
|
||
|
pcs-handle-names:
|
||
|
- pcs-handle
|
||
|
|
||
|
allOf:
|
||
|
- $ref: ethernet-controller.yaml#
|
||
|
- if:
|
||
|
properties:
|
||
|
compatible:
|
||
|
contains:
|
||
|
const: fsl,fman-dtsec
|
||
|
then:
|
||
|
required:
|
||
|
- tbi-handle
|
||
|
|
||
|
unevaluatedProperties: false
|
||
|
|
||
|
examples:
|
||
|
- |
|
||
|
ethernet@e0000 {
|
||
|
compatible = "fsl,fman-dtsec";
|
||
|
cell-index = <0>;
|
||
|
reg = <0xe0000 0x1000>;
|
||
|
fsl,fman-ports = <&fman1_rx8 &fman1_tx28>;
|
||
|
ptp-timer = <&ptp_timer>;
|
||
|
tbi-handle = <&tbi0>;
|
||
|
};
|
||
|
- |
|
||
|
ethernet@e8000 {
|
||
|
cell-index = <4>;
|
||
|
compatible = "fsl,fman-memac";
|
||
|
reg = <0xe8000 0x1000>;
|
||
|
fsl,fman-ports = <&fman0_rx_0x0c &fman0_tx_0x2c>;
|
||
|
ptp-timer = <&ptp_timer0>;
|
||
|
pcs-handle = <&pcsphy4>, <&qsgmiib_pcs1>;
|
||
|
pcs-handle-names = "sgmii", "qsgmii";
|
||
|
phys = <&serdes1 1>;
|
||
|
phy-names = "serdes";
|
||
|
};
|
||
|
...
|