[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <94e38995-e050-db91-0702-bf889e4ff397@ti.com>
Date: Thu, 9 Nov 2017 10:20:57 +0200
From: Roger Quadros <rogerq@...com>
To: Vladimir Zapolskiy <vladimir_zapolskiy@...tor.com>,
Chris Zhong <zyw@...k-chips.com>,
Sergei Shtylyov <sergei.shtylyov@...entembedded.com>
CC: <heiko@...ech.de>, Rob Herring <robh+dt@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Russell King <linux@...linux.org.uk>,
<linux-arm-kernel@...ts.infradead.org>,
<linux-rockchip@...ts.infradead.org>, <devicetree@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <netdev@...r.kernel.org>
Subject: Re: [PATCH] ARM: dts: add phy-reset property for rk3066a-rayeager
emac
Hi,
On 07/11/17 09: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?
>
> 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.
The PHY reset *has* to be performed at the MDIO bus driver level so that they
can be pin-strap configured correctly and be detected during MDIO bus scan.
- We have boards where PHYs won't be detected if RESET is not done before the scan. (due to invalid h/w pin-strapping config)
- We have boards where a single GPIO line controls reset of all PHYs on the bus.
Due to these reasons the RESET control lies with the MDIO bus driver.
>
> --
> With best wishes,
> Vladimir
>
>>
>> Signed-off-by: Chris Zhong <zyw@...k-chips.com>
>> ---
>>
>> 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 {
>>
--
cheers,
-roger
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
Powered by blists - more mailing lists