From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Petazzoni Subject: Re: [PATCH 1/4] net: mvneta: driver for Marvell Armada 370/XP network unit Date: Wed, 5 Sep 2012 09:32:14 +0200 Message-ID: <20120905093214.379ef16c@skate> References: <1346764004-16332-1-git-send-email-thomas.petazzoni@free-electrons.com> <1346764004-16332-2-git-send-email-thomas.petazzoni@free-electrons.com> <201209041436.36430.arnd@arndb.de> <20120904175610.2c2934f1@skate> <20120904183125.GB14683@lunn.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: Lior Amsalem , Ike Pan , Nadav Haklai , Ian Molton , Lennert Buytenhek , David Marlin , Rami Rosen , Yehuda Yitschak , Jani Monoses , Tawfik Bayouk , Dan Frazier , Eran Ben-Avi , Li Li , Leif Lindholm , Sebastian Hesselbarth , Jason Cooper , Arnd Bergmann , Jon Masters , Ben Dooks , Gregory Clement , linux-arm-kernel@lists.infradead.org, Chris Van Hoof , Nicolas Pitre , netdev@vger.k To: Andrew Lunn Return-path: In-Reply-To: <20120904183125.GB14683@lunn.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-arm-kernel-bounces@lists.infradead.org Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org List-Id: netdev.vger.kernel.org SGVsbG8gQW5kcmV3LAoKTGUgVHVlLCA0IFNlcCAyMDEyIDIwOjMxOjI1ICswMjAwLApBbmRyZXcg THVubiA8YW5kcmV3QGx1bm4uY2g+IGEgw6ljcml0IDoKCj4gSSd2ZSB1c2VkIE1hcnZlbGwgc3dp dGNoIGNoaXBzZXRzLCB3aGljaCBoYXZlIGEgcGh5IHBvbGxpbmcgdW5pdCwKPiBQUFUuIFRoaXMg c291bmRzIHZlcnkgc2ltaWxhci4gWW91IGNhbiBkbyBhIGxvdCB3aXRoIHRoZSBQUFUsIGJ1dCB3 aGVuCj4geW91IHdhbnQgdG8gY29uZmlndXJlIHN1YnNldHMgb2YgYXV0by1uZWdvdGlhdGlvbiBy YXRlcy9kdXBsZXggbW9kZXMsCj4gb3IgZml4ZWQgc3BlZWRzL2R1cGxleCBtb2RlcywgdGhlIFBQ VSBjb3VsZCBub3QgZG8gaXQuIFlvdSBoYWQgdG8KPiBkaXNhYmxlIHRoZSBQUFUgYW5kIGNvbmZp Z3VyZSB0aGUgUEhZIGRpcmVjdGx5Lgo+IAo+IEkgc2VlIHlvdSBoYXZlIHNvbWUgb2YgdGhlIGV0 aHRvb2xzIEFQSSBjYWxscyBpbXBsZW1lbnRlZCwgYnV0IG5vdCB0aGUKPiBvbmVzIG5lZWRlZCBm b3IgYXV0by1uZWcgYW5kIHJhdGVzL2R1cGxleCBtb2RlIGNvbmZpZ3VyYXRpb25zLiBEb2VzCj4g dGhlIG5ldGEgUFBVIHN1cHBvcnQgdGhpcywgb3Igd2lsbCB5b3UgbmVlZCB0byBleHBvcnQgdGhl IE1ESU8gYnVzIGZvcgo+IHRoZXNlIHNvcnRzIG9mIGNvbmZpZ3VyYXRpb24gb3B0aW9ucz8KClRo ZXJlJ3Mgbm90aGluZyBuYW1lZCAnUFBVJyBpbiB0aGUgZGF0YXNoZWV0IGZvciBBcm1hZGEgWFAv MzcwLCBidXQgdGhlCkV0aGVybmV0IGNvbnRyb2xsZXIgcmVnaXN0ZXJzIGluZGVlZCBhbGxvdyB0 byBjaGFuZ2UgdGhlCmF1dG8tbmVnb3RpYXRpb24sIGR1cGxleCBhbmQgc3BlZWQgd2l0aG91dCB0 YWxraW5nIHRvIHRoZSBQSFkuCgpJbiBhZGRpdGlvbiB0byB0aGUgR01BQ19TVEFUVVMgcmVnaXN0 ZXIgKG9mZnNldCAweDJDMTApIHRoYXQgdGhlIGRyaXZlcgpjdXJyZW50bHkgdXNlcyB0byBmaW5k IG91dCB0aGUgc3RhdGUgb2YgdGhlIGxpbmsgKHVwL2Rvd24sIHNwZWVkLApkdXBsZXgpLCB0aGVy ZSBpcyBhICJQb3J0IEF1dG8tTmVnb3RpYXRpb24gQ29uZmlndXJhdGlvbgpSZWdpc3RlciIgKG9m ZnNldCAweDJDMEMpLCB3aGljaCBhbGxvd3MgdG8gc2V0OgoKICogTWFudWFsIGR1cGxleCBvciBh dXRvIGR1cGxleCBkZXRlY3Rpb24KICogSWYgbWFudWFsIGR1cGxleCwgY2hvb3NlIGZ1bGwvaGFs ZgogKiBNYW51YWwgb3IgYXV0b21hdGljIGRldGVjdGlvbiBvZiBmbG93IGNvbnRyb2wKICogSWYg bWFudWFsIGZsb3cgY29udHJvbCwgZGVjaWRlIHRoZSBmbG93IGNvbnRyb2wgdmFsdWUKICogTWFu dWFsIG9yIGF1dG9tYXRpYyBkZXRlY3Rpb24gb2Ygc3BlZWQKICogSWYgbWFudWFsIHNwZWVkLCBz ZXQgdGhlIHNwZWVkIHZhbHVlCgpBbmQgYSBmZXcgb3RoZXIgdGhpbmdzLiBTbyBpbmRlZWQsIHdl IGNhbiBjb25maWd1cmUgdGhlIFBIWSBwYXJhbWV0ZXJzCndpdGhvdXQgaGF2aW5nIHRvIHRhbGsg dG8gdGhlIFBIWSBkaXJlY3RseS4KCkJlc3QgcmVnYXJkcywKClRob21hcwotLSAKVGhvbWFzIFBl dGF6em9uaSwgRnJlZSBFbGVjdHJvbnMKS2VybmVsLCBkcml2ZXJzLCByZWFsLXRpbWUgYW5kIGVt YmVkZGVkIExpbnV4CmRldmVsb3BtZW50LCBjb25zdWx0aW5nLCB0cmFpbmluZyBhbmQgc3VwcG9y dC4KaHR0cDovL2ZyZWUtZWxlY3Ryb25zLmNvbQoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgt YXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3Jn L21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: thomas.petazzoni@free-electrons.com (Thomas Petazzoni) Date: Wed, 5 Sep 2012 09:32:14 +0200 Subject: [PATCH 1/4] net: mvneta: driver for Marvell Armada 370/XP network unit In-Reply-To: <20120904183125.GB14683@lunn.ch> References: <1346764004-16332-1-git-send-email-thomas.petazzoni@free-electrons.com> <1346764004-16332-2-git-send-email-thomas.petazzoni@free-electrons.com> <201209041436.36430.arnd@arndb.de> <20120904175610.2c2934f1@skate> <20120904183125.GB14683@lunn.ch> Message-ID: <20120905093214.379ef16c@skate> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hello Andrew, Le Tue, 4 Sep 2012 20:31:25 +0200, Andrew Lunn 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