Thread (10 messages) flat view 10 messages, 4 authors, 2012-09-05
STALE5083d

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help