Skip to content

Commit

Permalink
Merge branch 'amd-xgbe'
Browse files Browse the repository at this point in the history
Tom Lendacky says:

====================
amd-xgbe: AMD 10Gb Ethernet driver

The following series implements support for the new AMD 10Gb Ethernet
driver (amd-xgbe).  It includes the 10Gb Ethernet driver as well as
a 10Gb Ethernet PHY driver.

This patch series is based on net-next.

Changes in V3:
  - Add OF dependency to the phylib driver configuration
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
David S. Miller committed Jun 5, 2014
2 parents e0a47d1 + 45198c7 commit 54a4ca8
Show file tree
Hide file tree
Showing 18 changed files with 9,045 additions and 1 deletion.
17 changes: 17 additions & 0 deletions Documentation/devicetree/bindings/net/amd-xgbe-phy.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
* AMD 10GbE PHY driver (amd-xgbe-phy)

Required properties:
- compatible: Should be "amd,xgbe-phy-seattle-v1a" and
"ethernet-phy-ieee802.3-c45"
- reg: Address and length of the register sets for the device
- SerDes Rx/Tx registers
- SerDes integration registers (1/2)
- SerDes integration registers (2/2)

Example:
xgbe_phy@e1240800 {
compatible = "amd,xgbe-phy-seattle-v1a", "ethernet-phy-ieee802.3-c45";
reg = <0 0xe1240800 0 0x00400>,
<0 0xe1250000 0 0x00060>,
<0 0xe1250080 0 0x00004>;
};
34 changes: 34 additions & 0 deletions Documentation/devicetree/bindings/net/amd-xgbe.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
* AMD 10GbE driver (amd-xgbe)

Required properties:
- compatible: Should be "amd,xgbe-seattle-v1a"
- reg: Address and length of the register sets for the device
- MAC registers
- PCS registers
- interrupt-parent: Should be the phandle for the interrupt controller
that services interrupts for this device
- interrupts: Should contain the amd-xgbe interrupt
- clocks: Should be the DMA clock for the amd-xgbe device (used for
calculating the correct Rx interrupt watchdog timer value on a DMA
channel for coalescing)
- clock-names: Should be the name of the DMA clock, "dma_clk"
- phy-handle: See ethernet.txt file in the same directory
- phy-mode: See ethernet.txt file in the same directory

Optional properties:
- mac-address: mac address to be assigned to the device. Can be overridden
by UEFI.

Example:
xgbe@e0700000 {
compatible = "amd,xgbe-seattle-v1a";
reg = <0 0xe0700000 0 0x80000>,
<0 0xe0780000 0 0x80000>;
interrupt-parent = <&gic>;
interrupts = <0 325 4>;
clocks = <&xgbe_clk>;
clock-names = "dma_clk";
phy-handle = <&phy>;
phy-mode = "xgmii";
mac-address = [ 02 a1 a2 a3 a4 a5 ];
};
7 changes: 7 additions & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -597,6 +597,13 @@ L: amd64-microcode@amd64.org
S: Maintained
F: arch/x86/kernel/microcode_amd.c

AMD XGBE DRIVER
M: Tom Lendacky <thomas.lendacky@amd.com>
L: netdev@vger.kernel.org
S: Supported
F: drivers/net/ethernet/amd/xgbe/
F: drivers/net/phy/amd-xgbe-phy.c

AMS (Apple Motion Sensor) DRIVER
M: Michael Hanselmann <linux-kernel@hansmi.ch>
S: Supported
Expand Down
14 changes: 13 additions & 1 deletion drivers/net/ethernet/amd/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ config NET_VENDOR_AMD
default y
depends on DIO || MACH_DECSTATION || MVME147 || ATARI || SUN3 || \
SUN3X || SBUS || PCI || ZORRO || (ISA && ISA_DMA_API) || \
(ARM && ARCH_EBSA110) || ISA || EISA || PCMCIA
(ARM && ARCH_EBSA110) || ISA || EISA || PCMCIA || ARM64
---help---
If you have a network (Ethernet) chipset belonging to this class,
say Y.
Expand Down Expand Up @@ -177,4 +177,16 @@ config SUNLANCE
To compile this driver as a module, choose M here: the module
will be called sunlance.

config AMD_XGBE
tristate "AMD 10GbE Ethernet driver"
depends on OF_NET
select PHYLIB
select AMD_XGBE_PHY
---help---
This driver supports the AMD 10GbE Ethernet device found on an
AMD SoC.

To compile this driver as a module, choose M here: the module
will be called amd-xgbe.

endif # NET_VENDOR_AMD
1 change: 1 addition & 0 deletions drivers/net/ethernet/amd/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,4 @@ obj-$(CONFIG_NI65) += ni65.o
obj-$(CONFIG_PCNET32) += pcnet32.o
obj-$(CONFIG_SUN3LANCE) += sun3lance.o
obj-$(CONFIG_SUNLANCE) += sunlance.o
obj-$(CONFIG_AMD_XGBE) += xgbe/
6 changes: 6 additions & 0 deletions drivers/net/ethernet/amd/xgbe/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
obj-$(CONFIG_AMD_XGBE) += amd-xgbe.o

amd-xgbe-objs := xgbe-main.o xgbe-drv.o xgbe-dev.o \
xgbe-desc.o xgbe-ethtool.o xgbe-mdio.o

amd-xgbe-$(CONFIG_DEBUG_FS) += xgbe-debugfs.o
Loading

0 comments on commit 54a4ca8

Please sign in to comment.