Commit 5e63c5ef authored by Radhey Shyam Pandey's avatar Radhey Shyam Pandey Committed by Jakub Kicinski

dt-bindings: net: xlnx,axi-ethernet: Introduce DMA support

Xilinx 1G/2.5G Ethernet Subsystem provides 32-bit AXI4-Stream buses to
move transmit and receive Ethernet data to and from the subsystem.

These buses are designed to be used with an AXI Direct Memory Access(DMA)
IP or AXI Multichannel Direct Memory Access (MCDMA) IP core, AXI4-Stream
Data FIFO, or any other custom logic in any supported device.

Primary high-speed DMA data movement between system memory and stream
target is through the AXI4 Read Master to AXI4 memory-mapped to stream
(MM2S) Master, and AXI stream to memory-mapped (S2MM) Slave to AXI4
Write Master. AXI DMA/MCDMA enables channel of data movement on both
MM2S and S2MM paths in scatter/gather mode.

AXI DMA has two channels where as MCDMA has 16 Tx and 16 Rx channels.
To uniquely identify each channel use 'chan' suffix. Depending on the
usecase AXI ethernet driver can request any combination of multichannel
DMA channels using generic dmas, dma-names properties.

Example:
dma-names = tx_chan0, rx_chan0, tx_chan1, rx_chan1;
Signed-off-by: default avatarRadhey Shyam Pandey <radhey.shyam.pandey@amd.com>
Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/1700074613-1977070-2-git-send-email-radhey.shyam.pandey@amd.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent a0bc96c0
...@@ -122,6 +122,20 @@ properties: ...@@ -122,6 +122,20 @@ properties:
and "phy-handle" should point to an external PHY if exists. and "phy-handle" should point to an external PHY if exists.
maxItems: 1 maxItems: 1
dmas:
minItems: 2
maxItems: 32
description: TX and RX DMA channel phandle
dma-names:
items:
pattern: "^[tr]x_chan([0-9]|1[0-5])$"
description:
Should be "tx_chan0", "tx_chan1" ... "tx_chan15" for DMA Tx channel
Should be "rx_chan0", "rx_chan1" ... "rx_chan15" for DMA Rx channel
minItems: 2
maxItems: 32
required: required:
- compatible - compatible
- interrupts - interrupts
...@@ -143,6 +157,8 @@ examples: ...@@ -143,6 +157,8 @@ examples:
clocks = <&axi_clk>, <&axi_clk>, <&pl_enet_ref_clk>, <&mgt_clk>; clocks = <&axi_clk>, <&axi_clk>, <&pl_enet_ref_clk>, <&mgt_clk>;
phy-mode = "mii"; phy-mode = "mii";
reg = <0x40c00000 0x40000>,<0x50c00000 0x40000>; reg = <0x40c00000 0x40000>,<0x50c00000 0x40000>;
dmas = <&xilinx_dma 0>, <&xilinx_dma 1>;
dma-names = "tx_chan0", "rx_chan0";
xlnx,rxcsum = <0x2>; xlnx,rxcsum = <0x2>;
xlnx,rxmem = <0x800>; xlnx,rxmem = <0x800>;
xlnx,txcsum = <0x2>; xlnx,txcsum = <0x2>;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment