[PATCH 0/3] net: mvneta: fix usage as a module, and support QSGMII properly
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Mon Apr 21 11:28:40 PDT 2014
Jason,
Would it be possible to get PATCH 3/3 merged into 3.15-rc in the not
too distant future? David Miller has already sent PATCH 1/3 and PATCH
2/3, and they are part of the just released -rc2. However, the Device
Tree fix for Armada XP GP QSGMII usage is missing.
Thanks!
Thomas
On Tue, 15 Apr 2014 15:50:18 +0200, Thomas Petazzoni wrote:
> Hello,
>
> This set of patches is a new attempt at fixing the operation of the
> mvneta driver when built as a module. For the record, the previous
> attempt, merged in commit e3a8786c10e75903f1269474e21fe8cb49c3a670
> ('net: mvneta: fix usage as a module on RGMII configurations') caused
> problems for all RGMII configurations.
>
> In fact, it turned out that the MAC to PHY connection on the Armada XP
> GP, which was described as using RGMII-ID according to its Device
> Tree, is in fact a QSGMII connection. And the RGMII and QSGMII
> configurations have to be handled in a different way in the driver,
> because the SERDES configuration is different in those two cases.
>
> So, this patch series fixes that by:
>
> * Adding minimal handling of a "qsgmii" connection type in the PHY
> layer. Mainly to make sure that a "qsgmii" phy-mode in the Device
> Tree is recognized, and handed over to the driver as
> PHY_INTERFACE_QSGMII.
>
> * Changing the mvneta driver to properly configure the RGMIIEn and
> PCSEn bits in the GMAC_CTRL_2 register, and configure the SERDES
> register, in the three possible cases: RGMII, SGMII and QSGMII.
>
> * Updating the Device Tree of the Armada XP GP board to reflect the
> fact that it uses a QSGMII MAC/PHY connection.
>
> PATCH 1 and 2 would be merged by David Miller, through the net tree,
> while PATCH 3 would be merged by the mach-mvebu maintainers, through
> their tree and arm-soc.
>
> This set of patches has been tested on:
>
> * Armada XP GP (four QSGMII interfaces)
> * Armada XP DB (two RGMII interfaces and two SGMII interfaces)
> * Armada 370 Mirabox (two RGMII interfaces)
>
> I've tested both the driver built-in, and compiled as a module.
>
> Since the last attempt at fixing this was quite a fiasco, I'd like
> this new attempt to be tested more widely before being applied. I'll
> try to do some testing on other Armada boards I have, but independent
> testing from other persons would also be appreciated.
>
> Note that these patches apply after reverting the previous attempt,
> obviously.
>
> Thanks,
>
> Thomas
>
> Thomas Petazzoni (3):
> net: phy: add minimal support for QSGMII PHY
> net: mvneta: properly configure the MAC <-> PHY connection in all
> situations
> ARM: mvebu: use qsgmii phy-mode for Armada XP GP interfaces
>
> Documentation/devicetree/bindings/net/ethernet.txt | 2 +-
> arch/arm/boot/dts/armada-xp-gp.dts | 8 +--
> drivers/net/ethernet/marvell/mvneta.c | 73 ++++++++++------------
> include/linux/phy.h | 3 +
> 4 files changed, 42 insertions(+), 44 deletions(-)
>
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
More information about the linux-arm-kernel
mailing list