03 Aug, 2013

1 commit


31 May, 2013

1 commit


22 Mar, 2013

1 commit

  • This patch converts the Marvell MV643XX ethernet driver to use the
    Marvell Orion MDIO driver. As a result, PowerPC and ARM platforms
    registering the Marvell MV643XX ethernet driver are also updated to
    register a Marvell Orion MDIO driver. This driver voluntarily overlaps
    with the Marvell Ethernet shared registers because it will use a subset
    of this shared register (shared_base + 0x4 to shared_base + 0x84). The
    Ethernet driver is also updated to look up for a PHY device using the
    Orion MDIO bus driver.

    For ARM and PowerPC we register a single instance of the "mvmdio" driver
    in the system like it used to be done with the use of the "shared_smi"
    platform_data cookie on ARM.

    Note that it is safe to register the mvmdio driver only for the "ge00"
    instance of the driver because this "ge00" interface is guaranteed to
    always be explicitely registered by consumers of
    arch/arm/plat-orion/common.c and other instances (ge01, ge10 and ge11)
    were all pointing their shared_smi to ge00. For PowerPC the in-tree
    Device Tree Source files mention only one MV643XX ethernet MAC instance
    so the MDIO bus driver is registered only when id == 0.

    Signed-off-by: Florian Fainelli
    Signed-off-by: David S. Miller

    Florian Fainelli
     

15 Aug, 2012

1 commit

  • The mv643xx ethernet controller limits the packet size for the TX
    checksum offloading. This patch sets this limits for Kirkwood and
    Dove which have smaller limits that the default.

    As a side note, this patch is an updated version of a patch sent some years
    ago: http://lists.infradead.org/pipermail/linux-arm-kernel/2010-June/017320.html
    which seems to have been lost.

    Signed-off-by: Arnaud Patard
    Signed-off-by: Jason Cooper
    Cc:

    Arnaud Patard (Rtp)
     

09 May, 2012

1 commit

  • The t_clk is moved from the shared part of the ethernet driver into
    the per port section. Each port can have its own gated clock, which it
    needs to enable/disable, as oppossed to there being one clock shared
    by all ports. In practice, only kirkwood supports this at the moment.

    Signed-off-by: Andrew Lunn
    Tested-by: Jamie Lentin
    Signed-off-by: Mike Turquette

    Andrew Lunn
     

01 Jul, 2010

1 commit


05 Sep, 2008

3 commits


12 Jun, 2008

3 commits

  • As with the multiple RX queue support, allow the platform code to
    specify that the hardware we are running on supports multiple TX
    queues. This patch only uses the highest-numbered enabled queue
    to send packets to for now, this can be extended later to enable
    QoS and such.

    Signed-off-by: Lennert Buytenhek
    Acked-by: Dale Farnsworth

    Lennert Buytenhek
     
  • Allow the platform code to specify that we are running on hardware
    that is capable of supporting multiple RX queues. If this option
    is used, initialise all of the given RX queues instead of just RX
    queue zero.

    Signed-off-by: Lennert Buytenhek
    Acked-by: Dale Farnsworth

    Lennert Buytenhek
     
  • General cleanup of the mv643xx_eth driver. Mainly fixes coding
    style / indentation issues, get rid of some useless 'volatile's,
    kill some more superfluous comments, and such.

    Signed-off-by: Lennert Buytenhek
    Acked-by: Dale Farnsworth

    Lennert Buytenhek
     

29 Apr, 2008

5 commits

  • There exist chips with up to four mv643xx_eth silicon blocks but
    only one external SMI (MII management) interface -- the SMI logic
    of the first block is shared by all the blocks.

    Handle this by allowing a per-port override of which
    mv643xx_eth_shared's SMI registers (and spinlock) to use.

    Signed-off-by: Lennert Buytenhek
    Acked-by: Nicolas Pitre
    Signed-off-by: Dale Farnsworth

    Lennert Buytenhek
     
  • Change the MV643XX_ETH_SHARED_NAME platform driver name to something
    shorter than 19 characters, so that we can register multiple (otherwise
    we end up with sysfs conflicts since all instances will map to
    "mv643xx_eth_shared." as there is a 20-char sysfs file name limit.)

    Signed-off-by: Lennert Buytenhek
    Acked-by: Nicolas Pitre
    Signed-off-by: Dale Farnsworth

    Lennert Buytenhek
     
  • Make t_clk configurable via platform device data (with the current
    hardcoded value, 133 MHz, being the default), as it varies across
    different chip families.

    Signed-off-by: Lennert Buytenhek
    Acked-by: Nicolas Pitre
    Signed-off-by: Dale Farnsworth

    Lennert Buytenhek
     
  • Make it possible to pass mbus_dram_target_info to the mv643xx_eth
    driver via the platform data, and make the mv643xx_eth driver
    program the window registers based on this data if it is passed in.

    Signed-off-by: Lennert Buytenhek
    Reviewed-by: Tzachi Perelstein
    Acked-by: Russell King
    Signed-off-by: Dale Farnsworth

    Lennert Buytenhek
     
  • Move mv643xx_eth's static state (ethernet register block base address
    and MII management interface spinlock) into a struct hanging off the
    shared platform device. This is necessary to support chips that
    contain multiple mv643xx_eth silicon blocks.

    Signed-off-by: Lennert Buytenhek
    Acked-by: Nicolas Pitre
    Signed-off-by: Dale Farnsworth

    Lennert Buytenhek
     

31 Oct, 2007

1 commit


28 Oct, 2007

1 commit


23 Oct, 2007

1 commit

  • The mv643xx ethernet silicon block is also found in a couple of other
    Marvell chips. As a first step towards splitting off the mv643xx_eth
    bits from the rest of the mv643xx bits, this patch splits the mv643xx
    ethernet platform device data struct in linux/mv643xx.h off into
    linux/mv643xx_eth.h, and includes the latter from the former.

    Signed-off-by: Lennert Buytenhek
    Acked-by: Tzachi Perelstein
    Signed-off-by: Dale Farnsworth

    Lennert Buytenhek