From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932427AbcENTgq (ORCPT ); Sat, 14 May 2016 15:36:46 -0400 Received: from mail-lb0-f177.google.com ([209.85.217.177]:33543 "EHLO mail-lb0-f177.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753884AbcENTgo (ORCPT ); Sat, 14 May 2016 15:36:44 -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> 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: Date: Sat, 14 May 2016 22:36:38 +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: <20160513234410.GE7600@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 02:44 AM, 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 see it as a necessary evil. However, in the more common case of a single PHY, this method simply doesn't scale -- you'd have to teach each and every individual MAC/ MDIO driver to do the GPIO reset trick. > Andrew MBR, Sergei