[PATCH net-next 00/18] net: mvpp2: MAC/GoP configuration and optional PHYs

Antoine Tenart antoine.tenart at free-electrons.com
Mon Jul 24 06:48:30 PDT 2017


Hi all,

This series aim two things: making the PPv2 driver less depending on
the firmware/bootloader initialization[1], and making the PPv2 driver
work when no Ethernet PHY is connected between a port and the physical
layer[2]. A few patches cleanup some small parts of the driver, and
newly supported interfaces are described in the device trees[3].

[1] The current implementation of the PPv2 driver relies on the
    firmware/bootloader initialization to configure some parts, as the
    Group of Ports (GoP) and the MACs (GMAC and/or XLG MAC --for 10G--).
    The drawback is the kernel must be configured to match exactly what
    the bootloader configures which is not convenient and is an issue
    when using boards having an Ethernet port and an SFP port wired to
    the same GoP port, as no dynamic configuration can be done.

    This series adds the GoP and GMAC/XLG MAC initializations so that
    the PPV2 does not have to rely on a previous initialization. One
    part is still missing from this series, and that would be the
    'comphy' which provides shared serdes PHYs and which must be
    configured as well for a full kernel initialization to work. This
    comphy support will be part of a following up series. (This
    series was also tested with this 'comphy' support, as it's nearly
    ready).

    Patches 3-7, 11 and 14-15.

[2] While the documentation states the phy property in a port node is
    optional, it is not in the current driver's implementation. This is
    needed when no PHY is connected between a GoP port and the physical
    layer (as for the two SFP ports on the 8040-db). One other feature
    is missing to be able to use such ports: the port link interrupt
    which allows not to rely on the phylib link event callback.

    This series makes the phy optional in the PPv2 driver, and then adds
    the support for the GoP port link interrupt to handle link status
    changes on such ports.

    Patches 8-10, 12-14.

[3] With the port link interrupt and optional PHY support, the two SFP
    ports on the Marvell Armada 8040 DB can be described and used; as
    well as the SFP port on the 7040 DB..

    Cosmetic changes / fixes.

    Patches 1, 2 and 16-18.

I intentionally grouped all these patches into one series, as we would
end up with series depending on each others (and I already did not
include all my patches in this one). If that's an issue for this series
to be reviewed/merged, I can easily split it into two series, with a
dependency of one on the other.

@Dave: Patches 13 to 18 should go through the mvebu tree, thanks :)

Thanks!
Antoine


Antoine Tenart (18):
  net: mvpp2: unify register definitions coding style
  net: mvpp2: fix the synchronization module bypass macro name
  net: mvpp2: set the SMI PHY address when connecting to the PHY
  net: mvpp2: move the mii configuration in the ndo_open path
  net: mvpp2: initialize the GMAC when using a port
  net: mvpp2: initialize the XLG MAC when using a port
  net: mvpp2: initialize the GoP
  net: mvpp2: make the phy optional
  net: mvpp2: use named interrupts
  net: mvpp2: use the GoP interrupt for link status changes
  Documentation/bindings: net: marvell-pp2: add the system controller
  Documentation/bindings: net: marvell-pp2: add the interrupt-names
  arm64: dts: marvell: cp110: use named interrupts for the Ethernet
    ports
  arm64: dts: marvell: cp110: add PPv2 port interrupts
  arm64: dts: marvell: add a reference to the sysctrl syscon in the ppv2
    node
  arm64: dts: marvell: mcbin: enable more networking ports
  arm64: dts: marvell: 7040-db: enable the SFP port
  arm64: dts: marvell: 8040-db: enable the SFP ports

 .../devicetree/bindings/net/marvell-pp2.txt        |   7 +
 arch/arm64/boot/dts/marvell/armada-7040-db.dts     |   5 +
 arch/arm64/boot/dts/marvell/armada-8040-db.dts     |  10 +
 arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts  |  30 ++
 .../boot/dts/marvell/armada-cp110-master.dtsi      |  13 +-
 .../arm64/boot/dts/marvell/armada-cp110-slave.dtsi |  13 +-
 drivers/net/ethernet/marvell/mvpp2.c               | 587 ++++++++++++++++++---
 7 files changed, 575 insertions(+), 90 deletions(-)

-- 
2.13.3




More information about the linux-arm-kernel mailing list