-
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.
Byungho An says: ==================== This is 14th posting for SAMSUNG SXGBE driver. Changes since v1: - changed name of driver to SXGbE as per Ben's comment - squashed Joe's neatening for many stuff in original patches Changes since v2: - updated and split binding document as per Mark's comment - clean up codes as per Joe's comment - removed unused fields and clean up codes as per Francois's comment - removed module parameters as per Dave's comment - moved driver directory to samsung/sxgbe/ Changes since v3: - fixed Missing a blank line after declarations as per Dave's comment - clean up codes as per Joe's comment - removed reference of net_device.{irq, base_addr} as per Francois's comment Changes since v4: - updated binding document and DT related function as per Mark's comment Changes since v5: - updated binding document and DT related function as per Florian's comment - fixed typo and shortened code as per Joe's comment Changes since v6: - updated TSO related functions as per Rayagond's comment - updated binding document as per Mark's comment - removed WoL patch from this patch set Changes since v7: - updated TSO related functions as per Rayagond's comment Changes since v8: - removed select and depends statement from vendor sub-section as per Dave's comment Changes since v9: - removed adv-add-map, force-sf-dma-modei and force-thresh-dma-mode from binding documnet as per Mark's comment Changes since v10: - clean up codes as per Francois's comment Changes since v11: - clean up mdio_read/write codes as per Francois's comment - changed irq acquisition error path as per Francois's comment - updated mdio and platform related codes as per Tomasz'comment - clean up dma related codes as per Vince's comment Changes since v12: - fixed typo Changes since v13: - clean up error path codes for irqs as per Francois's comment - removed unsupported functions for ehttoolirq as per Ben's comment ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
- Loading branch information
Showing
24 changed files
with
6,513 additions
and
0 deletions.
There are no files selected for viewing
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,52 @@ | ||
* Samsung 10G Ethernet driver (SXGBE) | ||
|
||
Required properties: | ||
- compatible: Should be "samsung,sxgbe-v2.0a" | ||
- reg: Address and length of the register set for the device | ||
- interrupt-parent: Should be the phandle for the interrupt controller | ||
that services interrupts for this device | ||
- interrupts: Should contain the SXGBE interrupts | ||
These interrupts are ordered by fixed and follows variable | ||
trasmit DMA interrupts, receive DMA interrupts and lpi interrupt. | ||
index 0 - this is fixed common interrupt of SXGBE and it is always | ||
available. | ||
index 1 to 25 - 8 variable trasmit interrupts, variable 16 receive interrupts | ||
and 1 optional lpi interrupt. | ||
- phy-mode: String, operation mode of the PHY interface. | ||
Supported values are: "sgmii", "xgmii". | ||
- samsung,pbl: Integer, Programmable Burst Length. | ||
Supported values are 1, 2, 4, 8, 16, or 32. | ||
- samsung,burst-map: Integer, Program the possible bursts supported by sxgbe | ||
This is an interger and represents allowable DMA bursts when fixed burst. | ||
Allowable range is 0x01-0x3F. When this field is set fixed burst is enabled. | ||
When fixed length is needed for burst mode, it can be set within allowable | ||
range. | ||
|
||
Optional properties: | ||
- mac-address: 6 bytes, mac address | ||
- max-frame-size: Maximum Transfer Unit (IEEE defined MTU), rather | ||
than the maximum frame size. | ||
|
||
Example: | ||
|
||
aliases { | ||
ethernet0 = <&sxgbe0>; | ||
}; | ||
|
||
sxgbe0: ethernet@1a040000 { | ||
compatible = "samsung,sxgbe-v2.0a"; | ||
reg = <0 0x1a040000 0 0x10000>; | ||
interrupt-parent = <&gic>; | ||
interrupts = <0 209 4>, <0 185 4>, <0 186 4>, <0 187 4>, | ||
<0 188 4>, <0 189 4>, <0 190 4>, <0 191 4>, | ||
<0 192 4>, <0 193 4>, <0 194 4>, <0 195 4>, | ||
<0 196 4>, <0 197 4>, <0 198 4>, <0 199 4>, | ||
<0 200 4>, <0 201 4>, <0 202 4>, <0 203 4>, | ||
<0 204 4>, <0 205 4>, <0 206 4>, <0 207 4>, | ||
<0 208 4>, <0 210 4>; | ||
samsung,pbl = <0x08> | ||
samsung,burst-map = <0x20> | ||
mac-address = [ 00 11 22 33 44 55 ]; /* Filled in by U-Boot */ | ||
max-frame-size = <9000>; | ||
phy-mode = "xgmii"; | ||
}; |
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,16 @@ | ||
# | ||
# Samsung Ethernet device configuration | ||
# | ||
|
||
config NET_VENDOR_SAMSUNG | ||
bool "Samsung Ethernet device" | ||
default y | ||
---help--- | ||
This is the driver for the SXGBE 10G Ethernet IP block found on Samsung | ||
platforms. | ||
|
||
if NET_VENDOR_SAMSUNG | ||
|
||
source "drivers/net/ethernet/samsung/sxgbe/Kconfig" | ||
|
||
endif # NET_VENDOR_SAMSUNG |
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 Samsung Ethernet device drivers. | ||
# | ||
|
||
obj-$(CONFIG_SXGBE_ETH) += sxgbe/ |
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,9 @@ | ||
config SXGBE_ETH | ||
tristate "Samsung 10G/2.5G/1G SXGBE Ethernet driver" | ||
depends on HAS_IOMEM && HAS_DMA | ||
select PHYLIB | ||
select CRC32 | ||
select PTP_1588_CLOCK | ||
---help--- | ||
This is the driver for the SXGBE 10G Ethernet IP block found on Samsung | ||
platforms. |
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,4 @@ | ||
obj-$(CONFIG_SXGBE_ETH) += samsung-sxgbe.o | ||
samsung-sxgbe-objs:= sxgbe_platform.o sxgbe_main.o sxgbe_desc.o \ | ||
sxgbe_dma.o sxgbe_core.o sxgbe_mtl.o sxgbe_mdio.o \ | ||
sxgbe_ethtool.o sxgbe_xpcs.o $(samsung-sxgbe-y) |
Oops, something went wrong.