Re: [PATCH 1/4] net: mvneta: driver for Marvell Armada 370/XP network unit
From: Thomas Petazzoni <hidden>
Date: 2012-09-05 07:32:14
Also in:
linux-arm-kernel
Hello Andrew, Le Tue, 4 Sep 2012 20:31:25 +0200, Andrew Lunn [off-list ref] a écrit :
I've used Marvell switch chipsets, which have a phy polling unit, PPU. This sounds very similar. You can do a lot with the PPU, but when you want to configure subsets of auto-negotiation rates/duplex modes, or fixed speeds/duplex modes, the PPU could not do it. You had to disable the PPU and configure the PHY directly. I see you have some of the ethtools API calls implemented, but not the ones needed for auto-neg and rates/duplex mode configurations. Does the neta PPU support this, or will you need to export the MDIO bus for these sorts of configuration options?
There's nothing named 'PPU' in the datasheet for Armada XP/370, but the Ethernet controller registers indeed allow to change the auto-negotiation, duplex and speed without talking to the PHY. In addition to the GMAC_STATUS register (offset 0x2C10) that the driver currently uses to find out the state of the link (up/down, speed, duplex), there is a "Port Auto-Negotiation Configuration Register" (offset 0x2C0C), which allows to set: * Manual duplex or auto duplex detection * If manual duplex, choose full/half * Manual or automatic detection of flow control * If manual flow control, decide the flow control value * Manual or automatic detection of speed * If manual speed, set the speed value And a few other things. So indeed, we can configure the PHY parameters without having to talk to the PHY directly. Best regards, Thomas -- Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel