| Message ID | 20220522133813.119729-2-michael@amarulasolutions.com |
|---|---|
| State | New |
| Headers |
Return-Path: <linux-amarula+bncBCXK73FY3AFRBSPZVCKAMGQELN3RSFA@amarulasolutions.com> X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-ed1-f69.google.com (mail-ed1-f69.google.com [209.85.208.69]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id 2D1AF3F05D for <linux-amarula@patchwork.amarulasolutions.com>; Sun, 22 May 2022 15:38:18 +0200 (CEST) Received: by mail-ed1-f69.google.com with SMTP id v1-20020a056402348100b0042b4442b954sf2622996edc.22 for <linux-amarula@patchwork.amarulasolutions.com>; Sun, 22 May 2022 06:38:18 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1653226698; cv=pass; d=google.com; s=arc-20160816; b=xvJ+7hkoCmg13shxWyhj0iOfom6i6F2RJ8m0/RBukaavILcCKBbMGBizzAW6tQsHe0 ZK7OXZj0GWi9w1+/jo7poDNQkkcn+DMNzVhQ4esGyWsbRtzte5LuXKbB1gqwppxKY+ul sOdOgYIGQwQg1OmBFLZ0IYMhrjqAWcaUgt1BM9hRWJe9G46z248lt8H+6uQGz452mxiy bi/bqxhsVlO4ipRTTAfwfPq0dW/Kp9CGuF8OU2zf086U71w3CRhPtdI6UDbklwrh6xA3 bEMTGiXC5agQl1w6BDjihNxqvE5z/awTg4LXYQiJWmdLtsWn6UAzd69A/o7j5+mLUJ7k KKLg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=UamjYqGMyMeqth+iaNne0gu/O+pnqWGxn7SpZk7tTtY=; b=Q1kq7YFe9oqbpyLTqFflGaTot/4soojUS5pNO9bFM3K/HXC/OGB2+WJXbx9SHmFSuD AKAiG5ccucp5vW7bx58mVWSpcSZP4dT5KADk/KfMEcDuq13+R4q92lQ1engTkuVOihJv CHZmj5aaggbPV5LHXChnkVu2pctheIuY/rPheVegBKcQ8/R+7LnhqimqsezvsR8brHck 7pjXoHX2ICiOP6kcDPFtws8Pvh/2qI+C9GM8kuASHs77cjahSqlJfO2UX47KTLxVMw4p O6N5Nm0UrpPrbiK8JiHs+kHWLUv75yAUAYYm4WbH0Ll36sOKU8Ri43Q21P9KmfG8MiEx R2hw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=PDCJN7Ak; spf=pass (google.com: domain of michael@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=michael@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:x-original-sender:x-original-authentication-results :precedence:mailing-list:list-id:list-post:list-help:list-archive :list-unsubscribe; bh=UamjYqGMyMeqth+iaNne0gu/O+pnqWGxn7SpZk7tTtY=; b=k7dMnzidoLBVSYefrsMwdArvG+r7/wm/e9renz9Vdj9Zy5M3lGD8O0TyqTmK81x0+w uAd3uTKeQcFmvpEiMQfTgZD0aRqEMR2zuyvX3MkHoOORLF2m3aaxi+cJL3kGE7QoD6X0 aN9vBixF6McPlzfE89X1OeR+qLKgx3033fc58= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:x-original-sender :x-original-authentication-results:precedence:mailing-list:list-id :x-spam-checked-in-group:list-post:list-help:list-archive :list-unsubscribe; bh=UamjYqGMyMeqth+iaNne0gu/O+pnqWGxn7SpZk7tTtY=; b=2zCsvWNhB/CiusHwMKv0neMqQOMTaRZ6Vf1UDWlxPlAy9IxPMCQ2SVCL2KdghSvIQO 0nL1ew0czXQIXz3qteeTz5XN6QmxkXTj0Ymk6mnCAvCFrXm+vG61iMYV4471EJsVWi19 T+lgWB5Iy6Vz+iyBAM1+H5XvIsSJspkkR7OJUFTPfmf3Fu/agL/yGoqBqPS4mt2dxzvV MV9TTTT8F9ccwFJhILJb5b5qGgMBbKnI6/gZy6zinLywXFUWGWyA8gARoH2o0vFBxno8 hzU8J0deMHKwOptNjUGgF5+RCFD+YQMowuNDz0r3123FdYEUJAr+d0QuzBPOIp0Z0TOP dawg== X-Gm-Message-State: AOAM533Mxqj9rSUZVYfitkwHsoUGUelOHQky6iIobXZKH5BXAqOFpi4/ gaSTAoCZQJdmjtJ6KY6VlXyMESWT X-Google-Smtp-Source: ABdhPJxJ/ukf/Qu5qO6cUZBPsGaoW4+P7H9BeaLEBINjJp1b+o+MTh9LCLYrJQGCypCSjdb9yjymBA== X-Received: by 2002:a17:906:58c9:b0:6fd:f4fe:800a with SMTP id e9-20020a17090658c900b006fdf4fe800amr15596450ejs.285.1653226697915; Sun, 22 May 2022 06:38:17 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com Received: by 2002:a05:6402:2741:b0:41f:7eee:e393 with SMTP id z1-20020a056402274100b0041f7eeee393ls867809edd.3.gmail; Sun, 22 May 2022 06:38:16 -0700 (PDT) X-Received: by 2002:a05:6402:5205:b0:42b:2678:998a with SMTP id s5-20020a056402520500b0042b2678998amr12750923edd.250.1653226696655; Sun, 22 May 2022 06:38:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1653226696; cv=none; d=google.com; s=arc-20160816; b=wPlEQzK6RArBK27nNT8Yy5xwOZj6dq63qKc9a0n4Zljv8LmuCR9KTCBibfwx/bGVpq ylOeGgZmCjCx3mH0icpkQUx6n7Eeq9V9s/utACUsiQcc30BedGOyve6X3BEF9PJYOF7J 2mUimFlU3tI8sKeKDqKOK7YoVgZSNSvwyUks683KhPNNMoSZqwycGJ4TEmdg3trxxNuo puo2DT+mbHtXL5mdKTeNunUgUW19i98v0XG0tR6Dw7Ejte1FiiTWIWFz1G1cWFE4E2+O uzBa10cTFG+7aEpaKWViCy/zCXtOBhKyXqmX8SYYi13chfMb2JruzauZ2gjJxi8a58mm uLXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=W7dWwUxUlimu0TIAMmn2GLJbuH1VGuNPXRNJig9fkcw=; b=UINi0NzKDFJcEOeN3pIKI1//ObAy/D1u4DsHTdWOxI0bli/Dm2yHgmd7o1Q20QZTwM F8eSTTxxpDB2GWw2o4kvaLGBz+aDUHZvQ+dmDXXRJNz1FybcLKPtskKgxLkm36LUWaQ4 sY2Epn+CcNo2dTq/ddPEiu4OeqyNX+l8caLrGXUdq9xi0bqk+qmZKnpMXIjx3lpv5hN0 PVqKyIeokI8LsC+ebN7RFH19+erYVY61zHk40vIldcSouJU+W3LHRAxjVzUaBYrYBs0F X75RiUE2cofLRcuVEAl6jnuGz4cnh5XiT5DDTm0fP2406wjvHjLM3pj37m9GBX9UT0TY aU5w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=PDCJN7Ak; spf=pass (google.com: domain of michael@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=michael@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id e1-20020a170906648100b006e08aeba14esor5797290ejm.31.2022.05.22.06.38.16 for <linux-amarula@amarulasolutions.com> (Google Transport Security); Sun, 22 May 2022 06:38:16 -0700 (PDT) Received-SPF: pass (google.com: domain of michael@amarulasolutions.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; X-Received: by 2002:a17:906:9b96:b0:6f5:cdd:9bf2 with SMTP id dd22-20020a1709069b9600b006f50cdd9bf2mr16130334ejc.364.1653226696365; Sun, 22 May 2022 06:38:16 -0700 (PDT) Received: from panicking.amarulasolutions.com (host-80-21-24-253.business.telecomitalia.it. [80.21.24.253]) by smtp.gmail.com with ESMTPSA id md17-20020a170906ae9100b006feaf472637sm2696906ejb.53.2022.05.22.06.38.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 22 May 2022 06:38:15 -0700 (PDT) From: Michael Trimarchi <michael@amarulasolutions.com> To: Tommaso Merciai <tommaso.merciai@amarulasolutions.com> Cc: linux-amarula@amarulasolutions.com, Alberto Bianchi <alberto.bianchi@amarulasolutions.com> Subject: [PATCH 2/3] net: phy: DP83822: enable rgmii/rmmi mode according to phy interface mode Date: Sun, 22 May 2022 15:38:12 +0200 Message-Id: <20220522133813.119729-2-michael@amarulasolutions.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220522133813.119729-1-michael@amarulasolutions.com> References: <20220522133813.119729-1-michael@amarulasolutions.com> MIME-Version: 1.0 X-Original-Sender: michael@amarulasolutions.com X-Original-Authentication-Results: mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=PDCJN7Ak; spf=pass (google.com: domain of michael@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=michael@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com Content-Type: text/plain; charset="UTF-8" Precedence: list Mailing-list: list linux-amarula@amarulasolutions.com; contact linux-amarula+owners@amarulasolutions.com List-ID: <linux-amarula.amarulasolutions.com> X-Spam-Checked-In-Group: linux-amarula@amarulasolutions.com X-Google-Group-Id: 476853432473 List-Post: <https://groups.google.com/a/amarulasolutions.com/group/linux-amarula/post>, <mailto:linux-amarula@amarulasolutions.com> List-Help: <https://support.google.com/a/amarulasolutions.com/bin/topic.py?topic=25838>, <mailto:linux-amarula+help@amarulasolutions.com> List-Archive: <https://groups.google.com/a/amarulasolutions.com/group/linux-amarula/> List-Unsubscribe: <mailto:googlegroups-manage+476853432473+unsubscribe@googlegroups.com>, <https://groups.google.com/a/amarulasolutions.com/group/linux-amarula/subscribe> |
| Series |
[1/3] net: phy: DP83822: Clean up config_init code
|
|
Commit Message
Michael Trimarchi
May 22, 2022, 1:38 p.m. UTC
RMII/RGMII mode can be enable from dp83822 straps, and also writing bit 9 and bit 5 of register 0x17 - RMII and Status Register (RCSR). When phy_interface_is_rgmii rgmii mode must be enabled, same for contrary, this prevents malconfigurations of hw straps. If bit 9 is 0 the RMII/MII mode is determinated by bit 5. References: - https://www.ti.com/lit/gpn/dp83822i p66 Signed-off-by: Tommaso Merciai <tommaso.merciai@amarulasolutions.com> Co-developed-by: Michael Trimarchi <michael@amarulasolutions.com> Suggested-by: Alberto Bianchi <alberto.bianchi@amarulasolutions.com> Tested-by: Tommaso Merciai <tommaso.merciai@amarulasolutions.com> --- drivers/net/phy/dp83822.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-)
Comments
On Sun, May 22, 2022 at 03:38:12PM +0200, Michael Trimarchi wrote: > RMII/RGMII mode can be enable from dp83822 straps, and also writing bit 9 and > bit 5 of register 0x17 - RMII and Status Register (RCSR). > When phy_interface_is_rgmii rgmii mode must be enabled, same for > contrary, this prevents malconfigurations of hw straps. If bit 9 is 0 > the RMII/MII mode is determinated by bit 5. > > References: > - https://www.ti.com/lit/gpn/dp83822i p66 > > Signed-off-by: Tommaso Merciai <tommaso.merciai@amarulasolutions.com> > Co-developed-by: Michael Trimarchi <michael@amarulasolutions.com> > Suggested-by: Alberto Bianchi <alberto.bianchi@amarulasolutions.com> > Tested-by: Tommaso Merciai <tommaso.merciai@amarulasolutions.com> > --- > drivers/net/phy/dp83822.c | 15 ++++++++++++++- > 1 file changed, 14 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/phy/dp83822.c b/drivers/net/phy/dp83822.c > index c344b8ffaf3c..89887a05f23d 100644 > --- a/drivers/net/phy/dp83822.c > +++ b/drivers/net/phy/dp83822.c > @@ -94,7 +94,9 @@ > #define DP83822_WOL_INDICATION_SEL BIT(8) > #define DP83822_WOL_CLR_INDICATION BIT(11) > > -/* RSCR bits */ > +/* RCSR bits */ > +#define DP83822_RMII_MODE_EN BIT(5) > +#define DP83822_RGMII_MODE_EN BIT(9) > #define DP83822_RX_CLK_SHIFT BIT(12) > #define DP83822_TX_CLK_SHIFT BIT(11) > > @@ -403,6 +405,17 @@ static int dp83822_config_init(struct phy_device *phydev) > if (err) > return err; > } > + > + phy_set_bits_mmd(phydev, DP83822_DEVADDR, > + MII_DP83822_RCSR, DP83822_RGMII_MODE_EN); Hi Michael, Can you clarify this peace of code pls: ---------------------------------------------------------------------------------------- > + } else { > + value = DP83822_RGMII_MODE_EN; > + if phy mode is rmii, value is != rmii? > + if (phydev->interface == PHY_INTERFACE_MODE_RMII) > + value != DP83822_RMII_MODE_EN; This clear rgmii_en and rmii_en and after set value > + > + phy_modify_mmd(phydev, DP83822_DEVADDR, MII_DP83822_RCSR, > + DP83822_RGMII_MODE_EN | DP83822_RMII_MODE_EN, value); > } ----------------------------------------------------------------------------------------- I have some doubt about this. I'm confuse sorry. Thanks, Tommaso > > if (dp83822->fx_enabled) { > -- > 2.25.1 >
Hi On Tue, May 24, 2022 at 9:56 AM Tommaso Merciai <tommaso.merciai@amarulasolutions.com> wrote: > > On Sun, May 22, 2022 at 03:38:12PM +0200, Michael Trimarchi wrote: > > RMII/RGMII mode can be enable from dp83822 straps, and also writing bit 9 and > > bit 5 of register 0x17 - RMII and Status Register (RCSR). > > When phy_interface_is_rgmii rgmii mode must be enabled, same for > > contrary, this prevents malconfigurations of hw straps. If bit 9 is 0 > > the RMII/MII mode is determinated by bit 5. > > > > References: > > - https://www.ti.com/lit/gpn/dp83822i p66 > > > > Signed-off-by: Tommaso Merciai <tommaso.merciai@amarulasolutions.com> > > Co-developed-by: Michael Trimarchi <michael@amarulasolutions.com> > > Suggested-by: Alberto Bianchi <alberto.bianchi@amarulasolutions.com> > > Tested-by: Tommaso Merciai <tommaso.merciai@amarulasolutions.com> > > --- > > drivers/net/phy/dp83822.c | 15 ++++++++++++++- > > 1 file changed, 14 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/net/phy/dp83822.c b/drivers/net/phy/dp83822.c > > index c344b8ffaf3c..89887a05f23d 100644 > > --- a/drivers/net/phy/dp83822.c > > +++ b/drivers/net/phy/dp83822.c > > @@ -94,7 +94,9 @@ > > #define DP83822_WOL_INDICATION_SEL BIT(8) > > #define DP83822_WOL_CLR_INDICATION BIT(11) > > > > -/* RSCR bits */ > > +/* RCSR bits */ > > +#define DP83822_RMII_MODE_EN BIT(5) > > +#define DP83822_RGMII_MODE_EN BIT(9) > > #define DP83822_RX_CLK_SHIFT BIT(12) > > #define DP83822_TX_CLK_SHIFT BIT(11) > > > > @@ -403,6 +405,17 @@ static int dp83822_config_init(struct phy_device *phydev) > > if (err) > > return err; > > } > > + > > + phy_set_bits_mmd(phydev, DP83822_DEVADDR, > > + MII_DP83822_RCSR, DP83822_RGMII_MODE_EN); > > Hi Michael, > Can you clarify this peace of code pls: > > ---------------------------------------------------------------------------------------- > > + } else { > > + value = DP83822_RGMII_MODE_EN; > > + > This drop in v2 > if phy mode is rmii, value is != rmii? > > > + if (phydev->interface == PHY_INTERFACE_MODE_RMII) > > + value != DP83822_RMII_MODE_EN; > > This clear rgmii_en and rmii_en and after set value As I said this shoule be if (phydev->interface == PHY_INTERFACE_MODE_RMII) value = DP83822_RMII_MODE_EN; > > > + > > + phy_modify_mmd(phydev, DP83822_DEVADDR, MII_DP83822_RCSR, > > + DP83822_RGMII_MODE_EN | DP83822_RMII_MODE_EN, value); > > } Michael > ----------------------------------------------------------------------------------------- > > I have some doubt about this. I'm confuse sorry. > > Thanks, > Tommaso > > > > > if (dp83822->fx_enabled) { > > -- > > 2.25.1 > > > > -- > Tommaso Merciai > Embedded Linux Engineer > tommaso.merciai@amarulasolutions.com > __________________________________ > > Amarula Solutions SRL > Via Le Canevare 30, 31100 Treviso, Veneto, IT > T. +39 042 243 5310 > info@amarulasolutions.com > www.amarulasolutions.com
On Tue, May 24, 2022 at 10:19:27AM +0200, Michael Nazzareno Trimarchi wrote: > Hi > > On Tue, May 24, 2022 at 9:56 AM Tommaso Merciai > <tommaso.merciai@amarulasolutions.com> wrote: > > > > On Sun, May 22, 2022 at 03:38:12PM +0200, Michael Trimarchi wrote: > > > RMII/RGMII mode can be enable from dp83822 straps, and also writing bit 9 and > > > bit 5 of register 0x17 - RMII and Status Register (RCSR). > > > When phy_interface_is_rgmii rgmii mode must be enabled, same for > > > contrary, this prevents malconfigurations of hw straps. If bit 9 is 0 > > > the RMII/MII mode is determinated by bit 5. > > > > > > References: > > > - https://www.ti.com/lit/gpn/dp83822i p66 > > > > > > Signed-off-by: Tommaso Merciai <tommaso.merciai@amarulasolutions.com> > > > Co-developed-by: Michael Trimarchi <michael@amarulasolutions.com> > > > Suggested-by: Alberto Bianchi <alberto.bianchi@amarulasolutions.com> > > > Tested-by: Tommaso Merciai <tommaso.merciai@amarulasolutions.com> > > > --- > > > drivers/net/phy/dp83822.c | 15 ++++++++++++++- > > > 1 file changed, 14 insertions(+), 1 deletion(-) > > > > > > diff --git a/drivers/net/phy/dp83822.c b/drivers/net/phy/dp83822.c > > > index c344b8ffaf3c..89887a05f23d 100644 > > > --- a/drivers/net/phy/dp83822.c > > > +++ b/drivers/net/phy/dp83822.c > > > @@ -94,7 +94,9 @@ > > > #define DP83822_WOL_INDICATION_SEL BIT(8) > > > #define DP83822_WOL_CLR_INDICATION BIT(11) > > > > > > -/* RSCR bits */ > > > +/* RCSR bits */ > > > +#define DP83822_RMII_MODE_EN BIT(5) > > > +#define DP83822_RGMII_MODE_EN BIT(9) > > > #define DP83822_RX_CLK_SHIFT BIT(12) > > > #define DP83822_TX_CLK_SHIFT BIT(11) > > > > > > @@ -403,6 +405,17 @@ static int dp83822_config_init(struct phy_device *phydev) > > > if (err) > > > return err; > > > } > > > + > > > + phy_set_bits_mmd(phydev, DP83822_DEVADDR, > > > + MII_DP83822_RCSR, DP83822_RGMII_MODE_EN); > > > > Hi Michael, > > Can you clarify this peace of code pls: > > > > ---------------------------------------------------------------------------------------- > > > + } else { > > > + value = DP83822_RGMII_MODE_EN; > > > + > > > This drop in v2 > > > if phy mode is rmii, value is != rmii? > > > > > + if (phydev->interface == PHY_INTERFACE_MODE_RMII) > > > + value != DP83822_RMII_MODE_EN; > > > > This clear rgmii_en and rmii_en and after set value > > As I said this shoule be > if (phydev->interface == PHY_INTERFACE_MODE_RMII) > value = DP83822_RMII_MODE_EN; Sorry Michael, I forgot. v2 Need some rework or can I review it? Thanks, Tommaso > > > > > + > > > + phy_modify_mmd(phydev, DP83822_DEVADDR, MII_DP83822_RCSR, > > > + DP83822_RGMII_MODE_EN | DP83822_RMII_MODE_EN, value); > > > } > > Michael > > > ----------------------------------------------------------------------------------------- > > > > I have some doubt about this. I'm confuse sorry. > > > > Thanks, > > Tommaso > > > > > > > > if (dp83822->fx_enabled) { > > > -- > > > 2.25.1 > > > > > > > -- > > Tommaso Merciai > > Embedded Linux Engineer > > tommaso.merciai@amarulasolutions.com > > __________________________________ > > > > Amarula Solutions SRL > > Via Le Canevare 30, 31100 Treviso, Veneto, IT > > T. +39 042 243 5310 > > info@amarulasolutions.com > > www.amarulasolutions.com > > > > -- > Michael Nazzareno Trimarchi > Co-Founder & Chief Executive Officer > M. +39 347 913 2170 > michael@amarulasolutions.com > __________________________________ > > Amarula Solutions BV > Joop Geesinkweg 125, 1114 AB, Amsterdam, NL > T. +31 (0)85 111 9172 > info@amarulasolutions.com > www.amarulasolutions.com
Hi Yes thrre is this error of |= to = Michael On Tue, May 24, 2022 at 10:23 AM Tommaso Merciai <tommaso.merciai@amarulasolutions.com> wrote: > > On Tue, May 24, 2022 at 10:19:27AM +0200, Michael Nazzareno Trimarchi wrote: > > Hi > > > > On Tue, May 24, 2022 at 9:56 AM Tommaso Merciai > > <tommaso.merciai@amarulasolutions.com> wrote: > > > > > > On Sun, May 22, 2022 at 03:38:12PM +0200, Michael Trimarchi wrote: > > > > RMII/RGMII mode can be enable from dp83822 straps, and also writing bit 9 and > > > > bit 5 of register 0x17 - RMII and Status Register (RCSR). > > > > When phy_interface_is_rgmii rgmii mode must be enabled, same for > > > > contrary, this prevents malconfigurations of hw straps. If bit 9 is 0 > > > > the RMII/MII mode is determinated by bit 5. > > > > > > > > References: > > > > - https://www.ti.com/lit/gpn/dp83822i p66 > > > > > > > > Signed-off-by: Tommaso Merciai <tommaso.merciai@amarulasolutions.com> > > > > Co-developed-by: Michael Trimarchi <michael@amarulasolutions.com> > > > > Suggested-by: Alberto Bianchi <alberto.bianchi@amarulasolutions.com> > > > > Tested-by: Tommaso Merciai <tommaso.merciai@amarulasolutions.com> > > > > --- > > > > drivers/net/phy/dp83822.c | 15 ++++++++++++++- > > > > 1 file changed, 14 insertions(+), 1 deletion(-) > > > > > > > > diff --git a/drivers/net/phy/dp83822.c b/drivers/net/phy/dp83822.c > > > > index c344b8ffaf3c..89887a05f23d 100644 > > > > --- a/drivers/net/phy/dp83822.c > > > > +++ b/drivers/net/phy/dp83822.c > > > > @@ -94,7 +94,9 @@ > > > > #define DP83822_WOL_INDICATION_SEL BIT(8) > > > > #define DP83822_WOL_CLR_INDICATION BIT(11) > > > > > > > > -/* RSCR bits */ > > > > +/* RCSR bits */ > > > > +#define DP83822_RMII_MODE_EN BIT(5) > > > > +#define DP83822_RGMII_MODE_EN BIT(9) > > > > #define DP83822_RX_CLK_SHIFT BIT(12) > > > > #define DP83822_TX_CLK_SHIFT BIT(11) > > > > > > > > @@ -403,6 +405,17 @@ static int dp83822_config_init(struct phy_device *phydev) > > > > if (err) > > > > return err; > > > > } > > > > + > > > > + phy_set_bits_mmd(phydev, DP83822_DEVADDR, > > > > + MII_DP83822_RCSR, DP83822_RGMII_MODE_EN); > > > > > > Hi Michael, > > > Can you clarify this peace of code pls: > > > > > > ---------------------------------------------------------------------------------------- > > > > + } else { > > > > + value = DP83822_RGMII_MODE_EN; > > > > + > > > > > This drop in v2 > > > > > if phy mode is rmii, value is != rmii? > > > > > > > + if (phydev->interface == PHY_INTERFACE_MODE_RMII) > > > > + value != DP83822_RMII_MODE_EN; > > > > > > This clear rgmii_en and rmii_en and after set value > > > > As I said this shoule be > > if (phydev->interface == PHY_INTERFACE_MODE_RMII) > > value = DP83822_RMII_MODE_EN; > > Sorry Michael, > I forgot. v2 Need some rework or can I review it? > > Thanks, > Tommaso > > > > > > > > + > > > > + phy_modify_mmd(phydev, DP83822_DEVADDR, MII_DP83822_RCSR, > > > > + DP83822_RGMII_MODE_EN | DP83822_RMII_MODE_EN, value); > > > > } > > > > Michael > > > > > ----------------------------------------------------------------------------------------- > > > > > > I have some doubt about this. I'm confuse sorry. > > > > > > Thanks, > > > Tommaso > > > > > > > > > > > if (dp83822->fx_enabled) { > > > > -- > > > > 2.25.1 > > > > > > > > > > -- > > > Tommaso Merciai > > > Embedded Linux Engineer > > > tommaso.merciai@amarulasolutions.com > > > __________________________________ > > > > > > Amarula Solutions SRL > > > Via Le Canevare 30, 31100 Treviso, Veneto, IT > > > T. +39 042 243 5310 > > > info@amarulasolutions.com > > > www.amarulasolutions.com > > > > > > > > -- > > Michael Nazzareno Trimarchi > > Co-Founder & Chief Executive Officer > > M. +39 347 913 2170 > > michael@amarulasolutions.com > > __________________________________ > > > > Amarula Solutions BV > > Joop Geesinkweg 125, 1114 AB, Amsterdam, NL > > T. +31 (0)85 111 9172 > > info@amarulasolutions.com > > www.amarulasolutions.com > > -- > Tommaso Merciai > Embedded Linux Engineer > tommaso.merciai@amarulasolutions.com > __________________________________ > > Amarula Solutions SRL > Via Le Canevare 30, 31100 Treviso, Veneto, IT > T. +39 042 243 5310 > info@amarulasolutions.com > www.amarulasolutions.com
On Tue, May 24, 2022 at 10:24:45AM +0200, Michael Nazzareno Trimarchi wrote: > Hi > > Yes thrre is this error of |= to = Thanks for your time Michael, I'll wait v3. Tommaso > > > Michael > > On Tue, May 24, 2022 at 10:23 AM Tommaso Merciai > <tommaso.merciai@amarulasolutions.com> wrote: > > > > On Tue, May 24, 2022 at 10:19:27AM +0200, Michael Nazzareno Trimarchi wrote: > > > Hi > > > > > > On Tue, May 24, 2022 at 9:56 AM Tommaso Merciai > > > <tommaso.merciai@amarulasolutions.com> wrote: > > > > > > > > On Sun, May 22, 2022 at 03:38:12PM +0200, Michael Trimarchi wrote: > > > > > RMII/RGMII mode can be enable from dp83822 straps, and also writing bit 9 and > > > > > bit 5 of register 0x17 - RMII and Status Register (RCSR). > > > > > When phy_interface_is_rgmii rgmii mode must be enabled, same for > > > > > contrary, this prevents malconfigurations of hw straps. If bit 9 is 0 > > > > > the RMII/MII mode is determinated by bit 5. > > > > > > > > > > References: > > > > > - https://www.ti.com/lit/gpn/dp83822i p66 > > > > > > > > > > Signed-off-by: Tommaso Merciai <tommaso.merciai@amarulasolutions.com> > > > > > Co-developed-by: Michael Trimarchi <michael@amarulasolutions.com> > > > > > Suggested-by: Alberto Bianchi <alberto.bianchi@amarulasolutions.com> > > > > > Tested-by: Tommaso Merciai <tommaso.merciai@amarulasolutions.com> > > > > > --- > > > > > drivers/net/phy/dp83822.c | 15 ++++++++++++++- > > > > > 1 file changed, 14 insertions(+), 1 deletion(-) > > > > > > > > > > diff --git a/drivers/net/phy/dp83822.c b/drivers/net/phy/dp83822.c > > > > > index c344b8ffaf3c..89887a05f23d 100644 > > > > > --- a/drivers/net/phy/dp83822.c > > > > > +++ b/drivers/net/phy/dp83822.c > > > > > @@ -94,7 +94,9 @@ > > > > > #define DP83822_WOL_INDICATION_SEL BIT(8) > > > > > #define DP83822_WOL_CLR_INDICATION BIT(11) > > > > > > > > > > -/* RSCR bits */ > > > > > +/* RCSR bits */ > > > > > +#define DP83822_RMII_MODE_EN BIT(5) > > > > > +#define DP83822_RGMII_MODE_EN BIT(9) > > > > > #define DP83822_RX_CLK_SHIFT BIT(12) > > > > > #define DP83822_TX_CLK_SHIFT BIT(11) > > > > > > > > > > @@ -403,6 +405,17 @@ static int dp83822_config_init(struct phy_device *phydev) > > > > > if (err) > > > > > return err; > > > > > } > > > > > + > > > > > + phy_set_bits_mmd(phydev, DP83822_DEVADDR, > > > > > + MII_DP83822_RCSR, DP83822_RGMII_MODE_EN); > > > > > > > > Hi Michael, > > > > Can you clarify this peace of code pls: > > > > > > > > ---------------------------------------------------------------------------------------- > > > > > + } else { > > > > > + value = DP83822_RGMII_MODE_EN; > > > > > + > > > > > > > This drop in v2 > > > > > > > if phy mode is rmii, value is != rmii? > > > > > > > > > + if (phydev->interface == PHY_INTERFACE_MODE_RMII) > > > > > + value != DP83822_RMII_MODE_EN; > > > > > > > > This clear rgmii_en and rmii_en and after set value > > > > > > As I said this shoule be > > > if (phydev->interface == PHY_INTERFACE_MODE_RMII) > > > value = DP83822_RMII_MODE_EN; > > > > Sorry Michael, > > I forgot. v2 Need some rework or can I review it? > > > > Thanks, > > Tommaso > > > > > > > > > > > + > > > > > + phy_modify_mmd(phydev, DP83822_DEVADDR, MII_DP83822_RCSR, > > > > > + DP83822_RGMII_MODE_EN | DP83822_RMII_MODE_EN, value); > > > > > } > > > > > > Michael > > > > > > > ----------------------------------------------------------------------------------------- > > > > > > > > I have some doubt about this. I'm confuse sorry. > > > > > > > > Thanks, > > > > Tommaso > > > > > > > > > > > > > > if (dp83822->fx_enabled) { > > > > > -- > > > > > 2.25.1 > > > > > > > > > > > > > -- > > > > Tommaso Merciai > > > > Embedded Linux Engineer > > > > tommaso.merciai@amarulasolutions.com > > > > __________________________________ > > > > > > > > Amarula Solutions SRL > > > > Via Le Canevare 30, 31100 Treviso, Veneto, IT > > > > T. +39 042 243 5310 > > > > info@amarulasolutions.com > > > > www.amarulasolutions.com > > > > > > > > > > > > -- > > > Michael Nazzareno Trimarchi > > > Co-Founder & Chief Executive Officer > > > M. +39 347 913 2170 > > > michael@amarulasolutions.com > > > __________________________________ > > > > > > Amarula Solutions BV > > > Joop Geesinkweg 125, 1114 AB, Amsterdam, NL > > > T. +31 (0)85 111 9172 > > > info@amarulasolutions.com > > > www.amarulasolutions.com > > > > -- > > Tommaso Merciai > > Embedded Linux Engineer > > tommaso.merciai@amarulasolutions.com > > __________________________________ > > > > Amarula Solutions SRL > > Via Le Canevare 30, 31100 Treviso, Veneto, IT > > T. +39 042 243 5310 > > info@amarulasolutions.com > > www.amarulasolutions.com > > > > -- > Michael Nazzareno Trimarchi > Co-Founder & Chief Executive Officer > M. +39 347 913 2170 > michael@amarulasolutions.com > __________________________________ > > Amarula Solutions BV > Joop Geesinkweg 125, 1114 AB, Amsterdam, NL > T. +31 (0)85 111 9172 > info@amarulasolutions.com > www.amarulasolutions.com
diff --git a/drivers/net/phy/dp83822.c b/drivers/net/phy/dp83822.c index c344b8ffaf3c..89887a05f23d 100644 --- a/drivers/net/phy/dp83822.c +++ b/drivers/net/phy/dp83822.c @@ -94,7 +94,9 @@ #define DP83822_WOL_INDICATION_SEL BIT(8) #define DP83822_WOL_CLR_INDICATION BIT(11) -/* RSCR bits */ +/* RCSR bits */ +#define DP83822_RMII_MODE_EN BIT(5) +#define DP83822_RGMII_MODE_EN BIT(9) #define DP83822_RX_CLK_SHIFT BIT(12) #define DP83822_TX_CLK_SHIFT BIT(11) @@ -403,6 +405,17 @@ static int dp83822_config_init(struct phy_device *phydev) if (err) return err; } + + phy_set_bits_mmd(phydev, DP83822_DEVADDR, + MII_DP83822_RCSR, DP83822_RGMII_MODE_EN); + } else { + value = DP83822_RGMII_MODE_EN; + + if (phydev->interface == PHY_INTERFACE_MODE_RMII) + value != DP83822_RMII_MODE_EN; + + phy_modify_mmd(phydev, DP83822_DEVADDR, MII_DP83822_RCSR, + DP83822_RGMII_MODE_EN | DP83822_RMII_MODE_EN, value); } if (dp83822->fx_enabled) {