From: "Bajjuri, Praneeth" <praneeth@ti.com>
To: Francesco Dolcini <francesco@dolcini.it>,
Johannes Pointner <h4nn35.work@gmail.com>,
Siddharth Vadapalli <s-vadapalli@ti.com>, <vikram.sharma@ti.com>
Cc: Bagas Sanjaya <bagasdotme@gmail.com>,
Andrew Lunn <andrew@lunn.ch>,
Heiner Kallweit <hkallweit1@gmail.com>,
Russell King <linux@armlinux.org.uk>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
<netdev@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Subject: Re: DP83867 ethernet PHY regression
Date: Thu, 25 May 2023 03:18:34 -0500 [thread overview]
Message-ID: <827377ae-091b-8888-18b9-bb574d7ff3ca@ti.com> (raw)
In-Reply-To: <ZG8PS/CSpHXIA6wt@francesco-nb.int.toradex.com>
Andrew,Francesco,
On 5/25/2023 2:33 AM, Francesco Dolcini wrote:
> Hello Johannes,
>
> On Thu, May 25, 2023 at 08:31:00AM +0200, Johannes Pointner wrote:
>> On Wed, May 24, 2023 at 3:22 PM Bagas Sanjaya <bagasdotme@gmail.com> wrote:
>>>
>>> On Mon, May 22, 2023 at 04:58:46PM +0200, Francesco Dolcini wrote:
>>>> Hello all,
>>>> commit da9ef50f545f ("net: phy: dp83867: perform soft reset and retain
>>>> established link") introduces a regression on my TI AM62 based board.
>>>>
>>>> I have a working DTS with Linux TI 5.10 downstream kernel branch, while
>>>> testing the DTS with v6.4-rc in preparation of sending it to the mailing
>>>> list I noticed that ethernet is working only on a cold poweron.
>>>>
>>>> With da9ef50f545f reverted it always works.
Thank you for bringing this issue to attention.
I have looped Siddharth and vikram to further investigate and provide input.
>>>>
>>>> Here the DTS snippet for reference:
>>>>
>>>> &cpsw_port1 {
>>>> phy-handle = <&cpsw3g_phy0>;
>>>> phy-mode = "rgmii-rxid";
>>>> };
>>>>
>>>> &cpsw3g_mdio {
>>>> assigned-clocks = <&k3_clks 157 20>;
>>>> assigned-clock-parents = <&k3_clks 157 22>;
>>>> assigned-clock-rates = <25000000>;
>>>>
>>>> cpsw3g_phy0: ethernet-phy@0 {
>>>> compatible = "ethernet-phy-id2000.a231";
>>>> reg = <0>;
>>>> interrupt-parent = <&main_gpio0>;
>>>> interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
>>>> reset-gpios = <&main_gpio0 17 GPIO_ACTIVE_LOW>;
>>>> reset-assert-us = <10>;
>>>> reset-deassert-us = <1000>;
>>>> ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
>>>> ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
>>>> };
>>>> };
>>>>
>>>
>>> Thanks for the regression report. I'm adding it to regzbot:
>>>
>>> #regzbot ^introduced: da9ef50f545f86
>>> #regzbot title: TI AM62 DTS regression due to dp83867 soft reset
>>
>> Hello Francesco,
>>
>> I had a similar issue with a patch like this, but in my case it was the DP83822.
>> https://lore.kernel.org/netdev/CAHvQdo2yzJC89K74c_CZFjPydDQ5i22w36XPR5tKVv_W8a2vcg@mail.gmail.com/
>> I also raised the question for the commit da9ef50f545f.
>> https://lore.kernel.org/lkml/CAHvQdo1U_L=pETmTJXjdzO+k7vNTxMyujn99Y3Ot9xAyQu=atQ@mail.gmail.com/
>>
>> The problem was/is for me that the phy gets the clock from the CPU and
>> the phy is already initialized in the u-boot.
>> During the Linux kernel boot up there is a short amount of time where
>> no clock is delivered to the phy.
>> The phy didn't like this and was most of the time not usable anymore.
>> The only thing that brought the phy/link back was resetting the phy
>> using the phytool.
>
> I had a look and it seems that is a different issue here, but I cannot
> exclude that this is related.
>
> First the link up/down, negotiation and mdio and related communication
> is perfectly fine, what it looks like is not working is that no data is
> flowing over RGMII.
>
> Second, also in our case the clock is coming from the SoC, however this
> clock is enabled way earlier in the boot, and at that time the phy is
> even in reset.
>
> phy reset asserted
> . SPL on TI AM62 R5
> . enable clock
> . SPL on TI AM62 A
> . U-Boot proper on TI AM62 A
> .release phy reset
>
> The phy reset is also configured in the DTS and used by the Linux driver.
>
> In addition to that, as I already clarified in my second email, the
> issue is happening also on a cold poweron. It happens most of the time,
> but not always.
>
> Francesco
>
>
next prev parent reply other threads:[~2023-05-25 8:19 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-22 14:58 Francesco Dolcini
2023-05-22 15:15 ` Andrew Lunn
2023-05-22 15:35 ` Francesco Dolcini
2023-05-22 16:15 ` Andrew Lunn
2023-05-25 8:18 ` Alexander Stein
2023-05-24 12:13 ` Andrew Lunn
2023-05-24 12:51 ` Bagas Sanjaya
2023-05-25 6:31 ` Johannes Pointner
2023-05-25 7:33 ` Francesco Dolcini
2023-05-25 8:18 ` Bajjuri, Praneeth [this message]
2023-06-15 20:46 ` Francesco Dolcini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=827377ae-091b-8888-18b9-bb574d7ff3ca@ti.com \
--to=praneeth@ti.com \
--cc=andrew@lunn.ch \
--cc=bagasdotme@gmail.com \
--cc=edumazet@google.com \
--cc=francesco@dolcini.it \
--cc=h4nn35.work@gmail.com \
--cc=hkallweit1@gmail.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=s-vadapalli@ti.com \
--cc=vikram.sharma@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®