-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Lars Persson says: ==================== dwc_eth_qos: Add support for Synopsys DWC Ethernet QoS This is a driver supporting version 4.10a of the Synopsys DWC Ethernet QoS gigabit ethernet controller. The IP has changed significantly compared to the dwmac1000 so a separate driver is justified. The IP is highly configurable at synthesis time. This driver has been developed for a subset of the total available feature set. Currently it supports: * TSO * Checksum offload for RX and TX. * Energy efficient ethernet. * GMII phy interface. * The statistics module. * Single RX and TX queue. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
- Loading branch information
Showing
7 changed files
with
3,135 additions
and
0 deletions.
There are no files selected for viewing
75 changes: 75 additions & 0 deletions
75
Documentation/devicetree/bindings/net/snps,dwc-qos-ethernet.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
* Synopsys DWC Ethernet QoS IP version 4.10 driver (GMAC) | ||
|
||
|
||
Required properties: | ||
- compatible: Should be "snps,dwc-qos-ethernet-4.10" | ||
- reg: Address and length of the register set for the device | ||
- clocks: Phandles to the reference clock and the bus clock | ||
- clock-names: Should be "phy_ref_clk" for the reference clock and "apb_pclk" | ||
for the bus clock. | ||
- interrupt-parent: Should be the phandle for the interrupt controller | ||
that services interrupts for this device | ||
- interrupts: Should contain the core's combined interrupt signal | ||
- phy-mode: See ethernet.txt file in the same directory | ||
|
||
Optional properties: | ||
- dma-coherent: Present if dma operations are coherent | ||
- mac-address: See ethernet.txt in the same directory | ||
- local-mac-address: See ethernet.txt in the same directory | ||
- snps,en-lpi: If present it enables use of the AXI low-power interface | ||
- snps,write-requests: Number of write requests that the AXI port can issue. | ||
It depends on the SoC configuration. | ||
- snps,read-requests: Number of read requests that the AXI port can issue. | ||
It depends on the SoC configuration. | ||
- snps,burst-map: Bitmap of allowed AXI burst lengts, with the LSB | ||
representing 4, then 8 etc. | ||
- snps,txpbl: DMA Programmable burst length for the TX DMA | ||
- snps,rxpbl: DMA Programmable burst length for the RX DMA | ||
- snps,en-tx-lpi-clockgating: Enable gating of the MAC TX clock during | ||
TX low-power mode. | ||
- phy-handle: See ethernet.txt file in the same directory | ||
- mdio device tree subnode: When the GMAC has a phy connected to its local | ||
mdio, there must be device tree subnode with the following | ||
required properties: | ||
- compatible: Must be "snps,dwc-qos-ethernet-mdio". | ||
- #address-cells: Must be <1>. | ||
- #size-cells: Must be <0>. | ||
|
||
For each phy on the mdio bus, there must be a node with the following | ||
fields: | ||
|
||
- reg: phy id used to communicate to phy. | ||
- device_type: Must be "ethernet-phy". | ||
- fixed-mode device tree subnode: see fixed-link.txt in the same directory | ||
|
||
Examples: | ||
ethernet2@40010000 { | ||
clock-names = "phy_ref_clk", "apb_pclk"; | ||
clocks = <&clkc 17>, <&clkc 15>; | ||
compatible = "snps,dwc-qos-ethernet-4.10"; | ||
interrupt-parent = <&intc>; | ||
interrupts = <0x0 0x1e 0x4>; | ||
reg = <0x40010000 0x4000>; | ||
phy-handle = <&phy2>; | ||
phy-mode = "gmii"; | ||
|
||
snps,en-tx-lpi-clockgating; | ||
snps,en-lpi; | ||
snps,write-requests = <2>; | ||
snps,read-requests = <16>; | ||
snps,burst-map = <0x7>; | ||
snps,txpbl = <8>; | ||
snps,rxpbl = <2>; | ||
|
||
dma-coherent; | ||
|
||
mdio { | ||
#address-cells = <0x1>; | ||
#size-cells = <0x0>; | ||
phy2: phy@1 { | ||
compatible = "ethernet-phy-ieee802.3-c22"; | ||
device_type = "ethernet-phy"; | ||
reg = <0x1>; | ||
}; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# | ||
# Synopsys network device configuration | ||
# | ||
|
||
config NET_VENDOR_SYNOPSYS | ||
bool "Synopsys devices" | ||
default y | ||
---help--- | ||
If you have a network (Ethernet) device belonging to this class, say Y. | ||
|
||
Note that the answer to this question doesn't directly affect the | ||
kernel: saying N will just cause the configurator to skip all | ||
the questions about Synopsys devices. If you say Y, you will be asked | ||
for your specific device in the following questions. | ||
|
||
if NET_VENDOR_SYNOPSYS | ||
|
||
config SYNOPSYS_DWC_ETH_QOS | ||
tristate "Sypnopsys DWC Ethernet QOS v4.10a support" | ||
select PHYLIB | ||
select CRC32 | ||
select MII | ||
depends on OF | ||
---help--- | ||
This driver supports the DWC Ethernet QoS from Synopsys | ||
|
||
endif # NET_VENDOR_SYNOPSYS |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# | ||
# Makefile for the Synopsys network device drivers. | ||
# | ||
|
||
obj-$(CONFIG_SYNOPSYS_DWC_ETH_QOS) += dwc_eth_qos.o |
Oops, something went wrong.