|author||Karicheri, Muralidharan <email@example.com>||2015-01-15 19:12:50 -0500|
|committer||David S. Miller <firstname.lastname@example.org>||2015-01-19 15:07:39 -0500|
|parent||Documentation: dt: net: Add binding doc for Keystone NetCP ethernet driver (diff)|
net: netcp: Add Keystone NetCP core ethernet driver
The network coprocessor (NetCP) is a hardware accelerator available in Keystone SoCs that processes Ethernet packets. NetCP consists of following hardware components 1 Gigabit Ethernet (GbE) subsystem with a Ethernet switch sub-module to send and receive packets. 2 Packet Accelerator (PA) module to perform packet classification operations such as header matching, and packet modification operations such as checksum generation. 3 Security Accelerator(SA) capable of performing IPSec operations on ingress/egress packets. 4 An optional 10 Gigabit Ethernet Subsystem (XGbE) which includes a 3-port Ethernet switch sub-module capable of 10Gb/s and 1Gb/s rates per Ethernet port. 5 Packet DMA and Queue Management Subsystem (QMSS) to enqueue and dequeue packets and DMA the packets between memory and NetCP hardware components described above. NetCP core driver make use of the Keystone Navigator driver API to allocate DMA channel for the Ethenet device and to handle packet queue/de-queue, Please refer API's in include/linux/soc/ti/knav_dma.h and drivers/soc/ti/knav_qmss.h for details. NetCP driver consists of NetCP core driver and at a minimum Gigabit Ethernet (GBE) module (1) driver to implement the Network device function. Other modules (2,3) can be optionally added to achieve supported hardware acceleration function. The initial version of the driver include NetCP core driver and GBE driver modules. Please refer Documentation/devicetree/bindings/net/keystone-netcp.txt for design of the driver. Cc: David Miller <email@example.com> Cc: Rob Herring <firstname.lastname@example.org> Cc: Grant Likely <email@example.com> Cc: Santosh Shilimkar <firstname.lastname@example.org> Cc: Pawel Moll <email@example.com> Cc: Mark Rutland <firstname.lastname@example.org> Cc: Ian Campbell <email@example.com> Cc: Kumar Gala <firstname.lastname@example.org> Signed-off-by: Murali Karicheri <email@example.com> Signed-off-by: Wingman Kwok <firstname.lastname@example.org> Signed-off-by: David S. Miller <email@example.com>
Diffstat (limited to 'drivers/net/ethernet/ti/Kconfig')
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/net/ethernet/ti/Kconfig b/drivers/net/ethernet/ti/Kconfig
index 605dd909bcc3..e11bcfa69f52 100644
@@ -73,12 +73,23 @@ config TI_CPSW
boolean "TI Common Platform Time Sync (CPTS) Support"
depends on TI_CPSW
+ depends on TI_CPSW || TI_KEYSTONE_NET
This driver supports the Common Platform Time Sync unit of
the CPSW Ethernet Switch. The unit can time stamp PTP UDP/IPv4
and Layer 2 packets, and the driver offers a PTP Hardware Clock.
+ tristate "TI Keystone NETCP Ethernet subsystem Support"
+ depends on OF
+ depends on KEYSTONE_NAVIGATOR_DMA && KEYSTONE_NAVIGATOR_QMSS
+ This driver supports TI's Keystone NETCP Ethernet subsystem.
+ To compile this driver as a module, choose M here: the module
+ will be called keystone_netcp.
tristate "TI ThunderLAN support"
depends on (PCI || EISA)