dt-bindings: net: xlnx,axi-ethernet: convert bindings document to yaml
Convert the bindings document for Xilinx AXI Ethernet Subsystem from txt to yaml. No changes to existing binding description. Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com> Signed-off-by: Sarath Babu Naidu Gaddam <sarath.babu.naidu.gaddam@amd.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
26a4dd839e
commit
cbb1ca6d5f
|
@ -1,101 +0,0 @@
|
||||||
XILINX AXI ETHERNET Device Tree Bindings
|
|
||||||
--------------------------------------------------------
|
|
||||||
|
|
||||||
Also called AXI 1G/2.5G Ethernet Subsystem, the xilinx axi ethernet IP core
|
|
||||||
provides connectivity to an external ethernet PHY supporting different
|
|
||||||
interfaces: MII, GMII, RGMII, SGMII, 1000BaseX. It also includes two
|
|
||||||
segments of memory for buffering TX and RX, as well as the capability of
|
|
||||||
offloading TX/RX checksum calculation off the processor.
|
|
||||||
|
|
||||||
Management configuration is done through the AXI interface, while payload is
|
|
||||||
sent and received through means of an AXI DMA controller. This driver
|
|
||||||
includes the DMA driver code, so this driver is incompatible with AXI DMA
|
|
||||||
driver.
|
|
||||||
|
|
||||||
For more details about mdio please refer phy.txt file in the same directory.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible : Must be one of "xlnx,axi-ethernet-1.00.a",
|
|
||||||
"xlnx,axi-ethernet-1.01.a", "xlnx,axi-ethernet-2.01.a"
|
|
||||||
- reg : Address and length of the IO space, as well as the address
|
|
||||||
and length of the AXI DMA controller IO space, unless
|
|
||||||
axistream-connected is specified, in which case the reg
|
|
||||||
attribute of the node referenced by it is used.
|
|
||||||
- interrupts : Should be a list of 2 or 3 interrupts: TX DMA, RX DMA,
|
|
||||||
and optionally Ethernet core. If axistream-connected is
|
|
||||||
specified, the TX/RX DMA interrupts should be on that node
|
|
||||||
instead, and only the Ethernet core interrupt is optionally
|
|
||||||
specified here.
|
|
||||||
- phy-handle : Should point to the external phy device if exists. Pointing
|
|
||||||
this to the PCS/PMA PHY is deprecated and should be avoided.
|
|
||||||
See ethernet.txt file in the same directory.
|
|
||||||
- xlnx,rxmem : Set to allocated memory buffer for Rx/Tx in the hardware
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- phy-mode : See ethernet.txt
|
|
||||||
- xlnx,phy-type : Deprecated, do not use, but still accepted in preference
|
|
||||||
to phy-mode.
|
|
||||||
- xlnx,txcsum : 0 or empty for disabling TX checksum offload,
|
|
||||||
1 to enable partial TX checksum offload,
|
|
||||||
2 to enable full TX checksum offload
|
|
||||||
- xlnx,rxcsum : Same values as xlnx,txcsum but for RX checksum offload
|
|
||||||
- xlnx,switch-x-sgmii : Boolean to indicate the Ethernet core is configured to
|
|
||||||
support both 1000BaseX and SGMII modes. If set, the phy-mode
|
|
||||||
should be set to match the mode selected on core reset (i.e.
|
|
||||||
by the basex_or_sgmii core input line).
|
|
||||||
- clock-names: Tuple listing input clock names. Possible clocks:
|
|
||||||
s_axi_lite_clk: Clock for AXI register slave interface
|
|
||||||
axis_clk: AXI4-Stream clock for TXD RXD TXC and RXS interfaces
|
|
||||||
ref_clk: Ethernet reference clock, used by signal delay
|
|
||||||
primitives and transceivers
|
|
||||||
mgt_clk: MGT reference clock (used by optional internal
|
|
||||||
PCS/PMA PHY)
|
|
||||||
|
|
||||||
Note that if s_axi_lite_clk is not specified by name, the
|
|
||||||
first clock of any name is used for this. If that is also not
|
|
||||||
specified, the clock rate is auto-detected from the CPU clock
|
|
||||||
(but only on platforms where this is possible). New device
|
|
||||||
trees should specify all applicable clocks by name - the
|
|
||||||
fallbacks to an unnamed clock or to CPU clock are only for
|
|
||||||
backward compatibility.
|
|
||||||
- clocks: Phandles to input clocks matching clock-names. Refer to common
|
|
||||||
clock bindings.
|
|
||||||
- axistream-connected: Reference to another node which contains the resources
|
|
||||||
for the AXI DMA controller used by this device.
|
|
||||||
If this is specified, the DMA-related resources from that
|
|
||||||
device (DMA registers and DMA TX/RX interrupts) rather
|
|
||||||
than this one will be used.
|
|
||||||
- mdio : Child node for MDIO bus. Must be defined if PHY access is
|
|
||||||
required through the core's MDIO interface (i.e. always,
|
|
||||||
unless the PHY is accessed through a different bus).
|
|
||||||
Non-standard MDIO bus frequency is supported via
|
|
||||||
"clock-frequency", see mdio.yaml.
|
|
||||||
|
|
||||||
- pcs-handle: Phandle to the internal PCS/PMA PHY in SGMII or 1000Base-X
|
|
||||||
modes, where "pcs-handle" should be used to point
|
|
||||||
to the PCS/PMA PHY, and "phy-handle" should point to an
|
|
||||||
external PHY if exists.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
axi_ethernet_eth: ethernet@40c00000 {
|
|
||||||
compatible = "xlnx,axi-ethernet-1.00.a";
|
|
||||||
device_type = "network";
|
|
||||||
interrupt-parent = <µblaze_0_axi_intc>;
|
|
||||||
interrupts = <2 0 1>;
|
|
||||||
clock-names = "s_axi_lite_clk", "axis_clk", "ref_clk", "mgt_clk";
|
|
||||||
clocks = <&axi_clk>, <&axi_clk>, <&pl_enet_ref_clk>, <&mgt_clk>;
|
|
||||||
phy-mode = "mii";
|
|
||||||
reg = <0x40c00000 0x40000 0x50c00000 0x40000>;
|
|
||||||
xlnx,rxcsum = <0x2>;
|
|
||||||
xlnx,rxmem = <0x800>;
|
|
||||||
xlnx,txcsum = <0x2>;
|
|
||||||
phy-handle = <&phy0>;
|
|
||||||
axi_ethernetlite_0_mdio: mdio {
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
phy0: phy@0 {
|
|
||||||
device_type = "ethernet-phy";
|
|
||||||
reg = <1>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -0,0 +1,183 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/net/xlnx,axi-ethernet.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: AXI 1G/2.5G Ethernet Subsystem
|
||||||
|
|
||||||
|
description: |
|
||||||
|
Also called AXI 1G/2.5G Ethernet Subsystem, the xilinx axi ethernet IP core
|
||||||
|
provides connectivity to an external ethernet PHY supporting different
|
||||||
|
interfaces: MII, GMII, RGMII, SGMII, 1000BaseX. It also includes two
|
||||||
|
segments of memory for buffering TX and RX, as well as the capability of
|
||||||
|
offloading TX/RX checksum calculation off the processor.
|
||||||
|
|
||||||
|
Management configuration is done through the AXI interface, while payload is
|
||||||
|
sent and received through means of an AXI DMA controller. This driver
|
||||||
|
includes the DMA driver code, so this driver is incompatible with AXI DMA
|
||||||
|
driver.
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- xlnx,axi-ethernet-1.00.a
|
||||||
|
- xlnx,axi-ethernet-1.01.a
|
||||||
|
- xlnx,axi-ethernet-2.01.a
|
||||||
|
|
||||||
|
reg:
|
||||||
|
description:
|
||||||
|
Address and length of the IO space, as well as the address
|
||||||
|
and length of the AXI DMA controller IO space, unless
|
||||||
|
axistream-connected is specified, in which case the reg
|
||||||
|
attribute of the node referenced by it is used.
|
||||||
|
maxItems: 2
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
items:
|
||||||
|
- description: Ethernet core interrupt
|
||||||
|
- description: Tx DMA interrupt
|
||||||
|
- description: Rx DMA interrupt
|
||||||
|
description:
|
||||||
|
Ethernet core interrupt is optional. If axistream-connected property is
|
||||||
|
present DMA node should contains TX/RX DMA interrupts else DMA interrupt
|
||||||
|
resources are mentioned on ethernet node.
|
||||||
|
minItems: 1
|
||||||
|
|
||||||
|
phy-handle: true
|
||||||
|
|
||||||
|
xlnx,rxmem:
|
||||||
|
description:
|
||||||
|
Set to allocated memory buffer for Rx/Tx in the hardware.
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
|
||||||
|
phy-mode:
|
||||||
|
enum:
|
||||||
|
- mii
|
||||||
|
- gmii
|
||||||
|
- rgmii
|
||||||
|
- sgmii
|
||||||
|
- 1000BaseX
|
||||||
|
|
||||||
|
xlnx,phy-type:
|
||||||
|
description:
|
||||||
|
Do not use, but still accepted in preference to phy-mode.
|
||||||
|
deprecated: true
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
|
||||||
|
xlnx,txcsum:
|
||||||
|
description:
|
||||||
|
TX checksum offload. 0 or empty for disabling TX checksum offload,
|
||||||
|
1 to enable partial TX checksum offload and 2 to enable full TX
|
||||||
|
checksum offload.
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum: [0, 1, 2]
|
||||||
|
|
||||||
|
xlnx,rxcsum:
|
||||||
|
description:
|
||||||
|
RX checksum offload. 0 or empty for disabling RX checksum offload,
|
||||||
|
1 to enable partial RX checksum offload and 2 to enable full RX
|
||||||
|
checksum offload.
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum: [0, 1, 2]
|
||||||
|
|
||||||
|
xlnx,switch-x-sgmii:
|
||||||
|
type: boolean
|
||||||
|
description:
|
||||||
|
Indicate the Ethernet core is configured to support both 1000BaseX and
|
||||||
|
SGMII modes. If set, the phy-mode should be set to match the mode
|
||||||
|
selected on core reset (i.e. by the basex_or_sgmii core input line).
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
items:
|
||||||
|
- description: Clock for AXI register slave interface.
|
||||||
|
- description: AXI4-Stream clock for TXD RXD TXC and RXS interfaces.
|
||||||
|
- description: Ethernet reference clock, used by signal delay primitives
|
||||||
|
and transceivers.
|
||||||
|
- description: MGT reference clock (used by optional internal PCS/PMA PHY)
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: s_axi_lite_clk
|
||||||
|
- const: axis_clk
|
||||||
|
- const: ref_clk
|
||||||
|
- const: mgt_clk
|
||||||
|
|
||||||
|
axistream-connected:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
description: Phandle of AXI DMA controller which contains the resources
|
||||||
|
used by this device. If this is specified, the DMA-related resources
|
||||||
|
from that device (DMA registers and DMA TX/RX interrupts) rather than
|
||||||
|
this one will be used.
|
||||||
|
|
||||||
|
mdio:
|
||||||
|
type: object
|
||||||
|
|
||||||
|
pcs-handle:
|
||||||
|
description: Phandle to the internal PCS/PMA PHY in SGMII or 1000Base-X
|
||||||
|
modes, where "pcs-handle" should be used to point to the PCS/PMA PHY,
|
||||||
|
and "phy-handle" should point to an external PHY if exists.
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- interrupts
|
||||||
|
- reg
|
||||||
|
- xlnx,rxmem
|
||||||
|
- phy-handle
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/net/ethernet-controller.yaml#
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
axi_ethernet_eth: ethernet@40c00000 {
|
||||||
|
compatible = "xlnx,axi-ethernet-1.00.a";
|
||||||
|
interrupts = <2 0 1>;
|
||||||
|
clock-names = "s_axi_lite_clk", "axis_clk", "ref_clk", "mgt_clk";
|
||||||
|
clocks = <&axi_clk>, <&axi_clk>, <&pl_enet_ref_clk>, <&mgt_clk>;
|
||||||
|
phy-mode = "mii";
|
||||||
|
reg = <0x40c00000 0x40000>,<0x50c00000 0x40000>;
|
||||||
|
xlnx,rxcsum = <0x2>;
|
||||||
|
xlnx,rxmem = <0x800>;
|
||||||
|
xlnx,txcsum = <0x2>;
|
||||||
|
phy-handle = <&phy0>;
|
||||||
|
|
||||||
|
mdio {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
phy0: ethernet-phy@1 {
|
||||||
|
device_type = "ethernet-phy";
|
||||||
|
reg = <1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
- |
|
||||||
|
axi_ethernet_eth1: ethernet@40000000 {
|
||||||
|
compatible = "xlnx,axi-ethernet-1.00.a";
|
||||||
|
interrupts = <0>;
|
||||||
|
clock-names = "s_axi_lite_clk", "axis_clk", "ref_clk", "mgt_clk";
|
||||||
|
clocks = <&axi_clk>, <&axi_clk>, <&pl_enet_ref_clk>, <&mgt_clk>;
|
||||||
|
phy-mode = "mii";
|
||||||
|
reg = <0x00 0x40000000 0x00 0x40000>;
|
||||||
|
xlnx,rxcsum = <0x2>;
|
||||||
|
xlnx,rxmem = <0x800>;
|
||||||
|
xlnx,txcsum = <0x2>;
|
||||||
|
phy-handle = <&phy1>;
|
||||||
|
axistream-connected = <&dma>;
|
||||||
|
|
||||||
|
mdio {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
phy1: ethernet-phy@1 {
|
||||||
|
device_type = "ethernet-phy";
|
||||||
|
reg = <1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
|
@ -23144,6 +23144,7 @@ F: drivers/iio/adc/xilinx-ams.c
|
||||||
XILINX AXI ETHERNET DRIVER
|
XILINX AXI ETHERNET DRIVER
|
||||||
M: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com>
|
M: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com>
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
F: Documentation/devicetree/bindings/net/xlnx,axi-ethernet.yaml
|
||||||
F: drivers/net/ethernet/xilinx/xilinx_axienet*
|
F: drivers/net/ethernet/xilinx/xilinx_axienet*
|
||||||
|
|
||||||
XILINX CAN DRIVER
|
XILINX CAN DRIVER
|
||||||
|
|
Loading…
Reference in New Issue