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

Marcin Wojtas mw at semihalf.com
Mon Jul 24 16:56:57 PDT 2017


Hi Antoine,

I stressed 10G interfaces with bidirectional traffic on A8040-DB, did
some up/down sequences and overall it seems stable (of course I needed
fix mentioned in patch 10/18). In a spare moment I'll give other
changes a scroll.

Best regards,
Marcin

2017-07-24 15:48 GMT+02:00 Antoine Tenart <antoine.tenart at free-electrons.com>:
> 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