NET: Add Ethernet driver for Octeon MGMT devices.
The Octeon MGMT Ethernet ports are present in some members of the Octeon SOC family (cn52XX and cn56XX have them). The mdio bus connected to the MGMT PHYs is shared with the main octeon-ethernet driver, we force it to be loaded first by calling octeon_mdiobus_force_mod_depencency. The platform devices for the MGMT Ethernet ports are added in arch/mips/cavium-octeon/octeon-platform.c, and the register definitions for the ports live in arch/mips/include/asm/octeon/ along with their ilk. Although it currently is the only driver in drivers/net/octeon, the directory was created looking forward to the day that octeon-ethernet will move there from its current home in drivers/staging. Signed-off-by: David Daney <ddaney@caviumnetworks.com> Acked-by: David S. Miller <davem@davemloft.net> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
a7187a2ffc
commit
d6aa60a10b
5 changed files with 1192 additions and 0 deletions
|
@ -1953,6 +1953,8 @@ config BCM63XX_ENET
|
|||
|
||||
source "drivers/net/fs_enet/Kconfig"
|
||||
|
||||
source "drivers/net/octeon/Kconfig"
|
||||
|
||||
endif # NET_ETHERNET
|
||||
|
||||
#
|
||||
|
|
|
@ -285,3 +285,5 @@ obj-$(CONFIG_VIRTIO_NET) += virtio_net.o
|
|||
obj-$(CONFIG_SFC) += sfc/
|
||||
|
||||
obj-$(CONFIG_WIMAX) += wimax/
|
||||
|
||||
obj-$(CONFIG_OCTEON_MGMT_ETHERNET) += octeon/
|
||||
|
|
10
drivers/net/octeon/Kconfig
Normal file
10
drivers/net/octeon/Kconfig
Normal file
|
@ -0,0 +1,10 @@
|
|||
config OCTEON_MGMT_ETHERNET
|
||||
tristate "Octeon Management port ethernet driver (CN5XXX, CN6XXX)"
|
||||
depends on CPU_CAVIUM_OCTEON
|
||||
select PHYLIB
|
||||
select MDIO_OCTEON
|
||||
default y
|
||||
help
|
||||
This option enables the ethernet driver for the management
|
||||
port on Cavium Networks' Octeon CN57XX, CN56XX, CN55XX,
|
||||
CN54XX, CN52XX, and CN6XXX chips.
|
2
drivers/net/octeon/Makefile
Normal file
2
drivers/net/octeon/Makefile
Normal file
|
@ -0,0 +1,2 @@
|
|||
|
||||
obj-$(CONFIG_OCTEON_MGMT_ETHERNET) += octeon_mgmt.o
|
1176
drivers/net/octeon/octeon_mgmt.c
Normal file
1176
drivers/net/octeon/octeon_mgmt.c
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue