23 Dec, 2015

1 commit


01 Feb, 2015

1 commit

  • NetCP on Keystone has cpsw ale function similar to other TI SoCs
    and this driver is re-used. To allow both ti cpsw and keystone netcp
    to re-use the driver, convert the cpsw ale to a module and configure
    it through Kconfig option CONFIG_TI_CPSW_ALE. Currently it is statically
    linked to both TI CPSW and NetCP and this causes issues when the above
    drivers are built as dynamic modules. This patch addresses this issue

    While at it, fix the Makefile and code to build both netcp_core and
    netcp_ethss as dynamic modules. This is needed to support arm allmodconfig.
    This also requires exporting of API calls provided by netcp_core so that
    both the above can be dynamic modules.

    Signed-off-by: Murali Karicheri
    Acked-by: Arnd Bergmann
    Acked-by: Lad, Prabhakar
    Acked-by: Mugunthan V N
    Tested-by: Mugunthan V N
    Signed-off-by: David S. Miller

    Karicheri, Muralidharan
     

31 Jan, 2015

1 commit

  • Looks like davinci_emac and cpsw can share some code although the
    device registers have a different layout.

    At least the code for getting the MAC address using syscon can
    be shared by passing the register offset. Let's start with that
    and set up a minimal shared cpsw-shared.c.

    Cc: Brian Hutchinson
    Cc: Felipe Balbi
    Signed-off-by: Tony Lindgren
    Signed-off-by: David S. Miller

    Tony Lindgren
     

28 Jan, 2015

1 commit


20 Jan, 2015

3 commits

  • This patch enhances the NetCP gbe driver to support 10GbE subsystem
    available in Keystone NetCP. The 3-port 10GbE switch sub-module contains
    the following components:- 10GbE Switch, MDIO Module, 2 PCS-R Modules
    (10GBase-R) and 2 SGMII modules (10/100/1000Base-T). The GBE driver
    together with netcp core driver provides support for 10G Ethernet
    on Keystone SoCs.

    10GbE hardware spec is available at

    http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=spruhj5&fileType=pdf

    Cc: David Miller
    Cc: Rob Herring
    Cc: Grant Likely
    Cc: Santosh Shilimkar
    Cc: Pawel Moll
    Cc: Mark Rutland
    Cc: Ian Campbell
    Cc: Kumar Gala

    Signed-off-by: Wingman Kwok
    Signed-off-by: Murali Karicheri
    Signed-off-by: David S. Miller

    Wingman Kwok
     
  • This patch add support for 1G Ethernet driver based on Keystone
    NetCP hardware. The gigabit Ethernet (GbE) switch subsystem is one of the main
    components of the network coprocessor (NETCP) peripheral. The purpose of the
    gigabit Ethernet switch subsystem in the NETCP is to provide an interface to
    transfer data between the host device and another connected device in
    compliance with the Ethernet protocol. GbE consists of 5 port Ethernet Switch
    module, 4 Serial Gigabit Media Independent Interface (SGMII) modules, MDIO
    module and SerDes.

    Driver for 5 port GbE switch and SGMII module is added in this patch. These
    hardware modules along with netcp core driver provides Network driver functions
    for 1G Ethernet.

    Detailed hardware spec is available at

    http://www.ti.com/lit/ug/sprugv9d/sprugv9d.pdf

    Cc: David Miller
    Cc: Rob Herring
    Cc: Grant Likely
    Cc: Santosh Shilimkar
    Cc: Pawel Moll
    Cc: Mark Rutland
    Cc: Ian Campbell
    Cc: Kumar Gala

    Signed-off-by: Wingman Kwok
    Signed-off-by: Murali Karicheri
    Signed-off-by: David S. Miller

    Wingman Kwok
     
  • 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
    Cc: Rob Herring
    Cc: Grant Likely
    Cc: Santosh Shilimkar
    Cc: Pawel Moll
    Cc: Mark Rutland
    Cc: Ian Campbell
    Cc: Kumar Gala

    Signed-off-by: Murali Karicheri
    Signed-off-by: Wingman Kwok
    Signed-off-by: David S. Miller

    Karicheri, Muralidharan
     

24 Sep, 2013

1 commit

  • The cpsw currently lacks code to properly set up the hardware interface
    mode on AM33xx. Other platforms might be equally affected.

    Usually, the bootloader will configure the control module register, so
    probably that's why such support wasn't needed in the past. In suspend
    mode though, this register is modified, and so it needs reprogramming
    after resume.

    This patch adds a new driver in which hardware interface can configure
    correct register bits when the slave is opened.

    The AM33xx also has a bit for each slave to configure the RMII reference
    clock direction. Setting it is now supported by a per-slave DT property.

    This code path introducted by this patch is currently exclusive for
    am33xx and same can be extened to various platforms via the DT compatibility
    property.

    Signed-off-by: Mugunthan V N
    Tested-by: Daniel Mack
    Signed-off-by: David S. Miller

    Mugunthan V N
     

02 Nov, 2012

1 commit

  • This patch adds a driver for the CPTS that offers time
    stamping and a PTP hardware clock. Because some of the
    CPTS hardware variants (like the am335x) do not support
    frequency adjustment, we have implemented this in software
    by changing the multiplication factor of the timecounter.

    Signed-off-by: Richard Cochran
    Signed-off-by: David S. Miller

    Richard Cochran
     

20 Mar, 2012

1 commit

  • This patch adds support for TI's CPSW driver.

    The three port switch gigabit ethernet subsystem provides ethernet packet
    communication and can be configured as an ethernet switch. Supports
    10/100/1000 Mbps.

    Signed-off-by: Cyril Chemparathy
    Signed-off-by: Sriramakrishnan A G
    Signed-off-by: Mugunthan V N
    Signed-off-by: David S. Miller

    Mugunthan V N
     

12 Aug, 2011

1 commit