From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 34C71C77B7A for ; Thu, 25 May 2023 07:33:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236139AbjEYHdt (ORCPT ); Thu, 25 May 2023 03:33:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57690 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229836AbjEYHdp (ORCPT ); Thu, 25 May 2023 03:33:45 -0400 Received: from mail11.truemail.it (mail11.truemail.it [IPv6:2001:4b7e:0:8::81]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 96AA4183; Thu, 25 May 2023 00:33:40 -0700 (PDT) Received: from francesco-nb.int.toradex.com (31-10-206-125.static.upc.ch [31.10.206.125]) by mail11.truemail.it (Postfix) with ESMTPA id 6314720B20; Thu, 25 May 2023 09:33:36 +0200 (CEST) Date: Thu, 25 May 2023 09:33:31 +0200 From: Francesco Dolcini To: Johannes Pointner Cc: Francesco Dolcini , Bagas Sanjaya , Andrew Lunn , Praneeth Bajjuri , Heiner Kallweit , Russell King , Eric Dumazet , Jakub Kicinski , Paolo Abeni , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Grygorii Strashko , Dan Murphy Subject: Re: DP83867 ethernet PHY regression Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 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. > > > > > > 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 = ; > > > ti,rx-internal-delay = ; > > > }; > > > }; > > > > > > > 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