From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752039AbdKHJu0 (ORCPT ); Wed, 8 Nov 2017 04:50:26 -0500 Received: from regular1.263xmail.com ([211.150.99.137]:52698 "EHLO regular1.263xmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751693AbdKHJuX (ORCPT ); Wed, 8 Nov 2017 04:50:23 -0500 X-263anti-spam: KSV:0;BIG:0; X-MAIL-GRAY: 0 X-MAIL-DELIVERY: 1 X-KSVirus-check: 0 X-ADDR-CHECKED4: 1 X-ABS-CHECKED: 1 X-SKE-CHECKED: 1 X-ANTISPAM-LEVEL: 2 X-RL-SENDER: zyw@rock-chips.com X-FST-TO: linux-arm-kernel@lists.infradead.org X-SENDER-IP: 103.29.142.67 X-LOGIN-NAME: zyw@rock-chips.com X-UNIQUE-TAG: <490c7550ae3bc9a988847b6e343d9363> X-ATTACHMENT-NUM: 0 X-DNS-TYPE: 0 Subject: Re: [PATCH] ARM: dts: add phy-reset property for rk3066a-rayeager emac To: Florian Fainelli , Vladimir Zapolskiy , Sergei Shtylyov , Roger Quadros , andrew@lunn.ch Cc: Mark Rutland , devicetree@vger.kernel.org, heiko@sntech.de, netdev@vger.kernel.org, Russell King , linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org, Rob Herring , linux-arm-kernel@lists.infradead.org References: <1510022959-19440-1-git-send-email-zyw@rock-chips.com> From: Chris Zhong Message-ID: <464f7b9f-1c07-286e-1b7f-bdef0332b4c9@rock-chips.com> Date: Wed, 8 Nov 2017 17:49:55 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Florian Fainelli On 2017年11月08日 02:26, Florian Fainelli wrote: > On 11/07/2017 01:51 AM, Chris Zhong wrote: >> >> On 2017年11月07日 15:54, Vladimir Zapolskiy wrote: >>> Hello Chris, >>> >>> On 11/07/2017 04:49 AM, Chris Zhong wrote: >>>> The ethernet phy of rk3066a-rayeager has a reset pin, it controlled by >>>> GPIO1_D6, this pin should be pull down then pull up to reset the phy. >>>> Add a phy-reset property in emac, make the phy can be reset when emac >>>> power on. >>> for PHY reset there are properties 'reset-gpios' and 'reset-delay-us', >>> please reference to Documentation/devicetree/bindings/net/mdio.txt >>> >>> Can you try to reuse them instead of adding new custom properties? >> This phy-reset is from Documentation/devicetree/bindings/net/arc_emac.txt. >> And copy from arch/arm/boot/dts/rk3036-kylin.dts. >> Can we just use these properties, they are not new. > Because it already exists does not mean it's correct, in fact, it is not > at all because it places the reset property for a PHY into the MAC node, > which is just not what this is, what we should be using instead is the > following patch series: > > http://patchwork.ozlabs.org/project/netdev/list/?series=9267 > > http://patchwork.ozlabs.org/patch/828499/ > http://patchwork.ozlabs.org/patch/828505/ > http://patchwork.ozlabs.org/patch/828501/ > http://patchwork.ozlabs.org/patch/828502/ Okay, this series works for me, and I will push a new version patch following it, with a reset-gpios property under phy node. And hope this series can be applied soon. Thanks Chris Zhong >>> As a side question, which is mainly addressed to Sergei and Roger, >>> I don't quite understand why PHY properties were initially added to >>> MAC/MDIO bus device tree nodes, in my opinion they must be moved under >>> PHY device tree nodes. >>> >>> -- >>> With best wishes, >>> Vladimir >>> >>>> Signed-off-by: Chris Zhong >>>> --- >>>> >>>> arch/arm/boot/dts/rk3066a-rayeager.dts | 2 ++ >>>> 1 file changed, 2 insertions(+) >>>> >>>> diff --git a/arch/arm/boot/dts/rk3066a-rayeager.dts >>>> b/arch/arm/boot/dts/rk3066a-rayeager.dts >>>> index 570157f..6064a0a 100644 >>>> --- a/arch/arm/boot/dts/rk3066a-rayeager.dts >>>> +++ b/arch/arm/boot/dts/rk3066a-rayeager.dts >>>> @@ -173,6 +173,8 @@ >>>> pinctrl-0 = <&emac_xfer>, <&emac_mdio>, <&rmii_rst>; >>>> phy = <&phy0>; >>>> phy-supply = <&vcc_rmii>; >>>> + phy-reset-gpios = <&gpio1 RK_PD6 GPIO_ACTIVE_LOW>; /* PHY_RST */ >>>> + phy-reset-duration = <10>; /* millisecond */ >>>> status = "okay"; >>>> phy0: ethernet-phy@0 { >>>> >>> >