From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754000AbcENVq1 (ORCPT ); Sat, 14 May 2016 17:46:27 -0400 Received: from mail-lf0-f48.google.com ([209.85.215.48]:35031 "EHLO mail-lf0-f48.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753913AbcENVqZ (ORCPT ); Sat, 14 May 2016 17:46:25 -0400 Subject: Re: [PATCH RFT 1/2] phylib: add device reset GPIO support To: Andrew Lunn References: <81129033.NXiOLTg1so@wasted.cogentembedded.com> <3641492.klKRrvS8tr@wasted.cogentembedded.com> <20160512184233.GJ30822@pengutronix.de> <5735995B.8030802@ti.com> <20160513204436.GC7600@lunn.ch> <1a44a737-2b81-625b-8edf-d1c3dfcdd619@cogentembedded.com> <20160513234410.GE7600@lunn.ch> <20160514195016.GC26220@lunn.ch> Cc: Roger Quadros , =?UTF-8?Q?Uwe_Kleine-K=c3=b6nig?= , grant.likely@linaro.org, robh+dt@kernel.org, devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, frowand.list@gmail.com, pawel.moll@arm.com, mark.rutland@arm.com, ijc+devicetree@hellion.org.uk, galak@codeaurora.org, linux-kernel@vger.kernel.org, Linus Walleij From: Sergei Shtylyov Organization: Cogent Embedded Message-ID: <34922ff9-e566-4829-a631-54ce07cbb325@cogentembedded.com> Date: Sun, 15 May 2016 00:46:20 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.0 MIME-Version: 1.0 In-Reply-To: <20160514195016.GC26220@lunn.ch> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello. On 05/14/2016 10:50 PM, Andrew Lunn wrote: >>>>>>> Another issue is that on some boards we have one reset line tied to >>>>>>> multiple PHYs.How do we prevent multiple resets being taking place when each of >>>>>>> the PHYs are registered? >>>>>> >>>>>> My patch just doesn't address this case -- it's about the >>>>>> individual resets only. >>>>> >>>>> This actually needs to be addresses a layer above. What you have is a >>>>> bus reset, not a device reset. >>>> >>>> No. >>>> There's simply no such thing as a bus reset for the xMII/MDIO >>>> busses, there's simply no reset signaling on them. Every device has >>>> its own reset signal and its own timing requirements. >>> >>> Except in the case above, where two phys are sharing the same reset >>> signal. So although it is not part of the mdio standard to have a bus >>> reset, this is in effect what the gpio line is doing, resetting all >>> devices on the bus. If you don't model that as a bus reset, how do you >>> model it? >> >> I'm not suggesting that the shared reset should be handled by my >> patch. Contrariwise, I suggested to use the mii_bus::reset() method > > I think we miss understood each other somewhere. > > Your code is great for one gpio reset line for one phy. > > I think there could be similar code one layer above to handle one gpio > line for multiple phys. Ah, you want me to recognize some MAC/MDIO bound prop (e.g. "mdio-reset-gpios") in of_mdiobus_register()? I'll think about it now that my patch needs fixing anyway... > Andrew MBR, Sergei