From nobody Fri Dec 19 18:44:23 2025 Received: from mail-pg1-f175.google.com (mail-pg1-f175.google.com [209.85.215.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 13633254B19 for ; Fri, 14 Nov 2025 00:38:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763080720; cv=none; b=j5Ap1WW7AnPNS+0AVaZkcDXNScE7uTX4DrtxPLbkefiB9RuusXkg58nxF3WEyPyR4XLqptOwQ0QnlEUITrio6UV4v5IjeAF6JhwxXLCq8fdoe/6uZk6B+HlwoYnLzo5bOR9VM24tpJQWPT9CpUsuRWyfekWGVaXix/D1awPqyqo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763080720; c=relaxed/simple; bh=TvnpUFMm2ryBKJdRmgf47KJHDbXXufpqPGy+CeMvweg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Bgj1nBNxliRh6RdjD2i1FfxMJn9x6kizPldjRa+hMNIfKs58rhP6cWIKCvKcFtKCQpvQImFXOwect1zJGPhK4rH84ia+9c4nuYA3BYJRe8xkLbn7qJ+t8D8mRzS3XaasvU1NK0MXOsPYUoD35Gty66cTWn0faSy9qkbGd7leVUk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=RM+sA2br; arc=none smtp.client-ip=209.85.215.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="RM+sA2br" Received: by mail-pg1-f175.google.com with SMTP id 41be03b00d2f7-bc274b8ab7dso1065619a12.3 for ; Thu, 13 Nov 2025 16:38:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763080716; x=1763685516; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=C/tU3ToM4CkL60i1rTuRB0FRIV+HElBhBmwOezkh+nI=; b=RM+sA2brxBJwI77Y9mW6Ff2t0OHuWwVT3xqg+F7ZSsJpV4zMfHGasgGTdHK2GFCnUd WFuCvCD9z8fHlsevfJjDf0Y2/Sa+Uz84tgR9ZpgRKKwKzqPi2PuXz4wOCWnc4JN37Ry7 luZZnGj3ccpFKCRn1AdEKpRcPOpxFVVGVyNzJOSDtjIAI8sMVUFxc85zlSWzIGtJU9i3 QJpYZbORdD4d3VMIkHoDqvlkhzLv0DPfF+/wAH9Je8OeHQ8A8FTg/jfgCVKhOE7w+Hpn HcjMVWSCxMIMnTYtH+uayCQjXe61lTmZlbBVeLysMFGMGX3EPwfqNpeqrN9YVHhZqurS 0z+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763080716; x=1763685516; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=C/tU3ToM4CkL60i1rTuRB0FRIV+HElBhBmwOezkh+nI=; b=AwMYBBKXENC7TYwwOuEp59DtIHSNeadb3zplkzRYs3/2Tibd42pfBvek9tObyHi9tC +leAIiK+BCpQHofba3esQVgPEsHI+bRoIBYc1wXdyWIglPmvJA6TwJFgm8PW0CSPf8qi wPkPc/sYIxwnEVP3GQCBOs148jYBKBhrs7ESM33PLtcAA8Of624G4Da+6WLJ5+/npDZo CWPH4t3Ljc8rn+EsmUmiGDp6HKFbJYq/YHrBAxOiAvnKeN/qcdQutUt/B4+x5RIxui+U uIFsKhaGhJUJnyjglXEQXKekkUs9hsk1Reml3at7qiMNXQJTe+HcNejXl/Ju7tT4818m QdNA== X-Forwarded-Encrypted: i=1; AJvYcCVqDEylhmZCpOAAlVjbUNgUlr3336vqMTsIO9xEE/a/uqYysex41mS4kzhW/6OBCKCEXfE0e+M8iGGskvY=@vger.kernel.org X-Gm-Message-State: AOJu0YyPSssaL19M3wGPITnLMKtNmeX/TD7AGoeHcC3VzEHvkYm50y8T 1qiyD3F0NvjfkJ/9LCOBbH7FmRI84XqKuQotAkZzmYdZ2rodQcqPzOOF X-Gm-Gg: ASbGncs0eIAvR7gUGyIHBbUR0+2zgVlFJIKhvNPjFJKxBndnvdTv5ZNgcbnGuWZhXhZ rsEkIBnOFjk5YFANj9TnKaqR6hdcFmfQ3rmd4oiW8UpiI0dcXrjrxL3m9O6nzfQi3EuU1Oh4Tas b64oaGpQKfh/z7l0CWmv3aQQ88VSUArehMgAjw073+doIeDqNCFcnWPNYTRrF8V+D6zTYk1jJls JgP5JPkAn6gbjgfjzj6PWDLPp0UC5+zy4iYMJpFwFWeIwz2HCABbuFwG6BNOaesOiAa6oxGlyct rGNoWbpSiR5uI8R6sNgT/QDs1iLZEDYS6ht3hTQVVqNpN/2Wm2nT4EU0UTTDDcEiUyq78HO0oZI xMa5vYj+ybZZYxiJzJIL4x8ZprKgd+0PWm6NsPhJcJsP6ZJxEZms6qBh1LTCZ+KnAvCtzgKoHh0 Q= X-Google-Smtp-Source: AGHT+IHOi5i8OOkvh07viYVMPYkqSx80JGxGxStktEkqORfwNsnc52iYhiMNXrcmkKVdUboZXQ8H9w== X-Received: by 2002:a05:7022:ea51:b0:119:e56c:18ab with SMTP id a92af1059eb24-11b41504d44mr212238c88.19.1763080716287; Thu, 13 Nov 2025 16:38:36 -0800 (PST) Received: from localhost ([2001:19f0:ac00:4eb8:5400:5ff:fe30:7df3]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-11b06088604sm3636365c88.7.2025.11.13.16.38.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Nov 2025 16:38:35 -0800 (PST) From: Inochi Amaoto To: Han Gao , Icenowy Zheng , Vivian Wang , Yao Zi , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chen Wang , Inochi Amaoto , Maxime Coquelin , Alexandre Torgue , Heiner Kallweit , Russell King , "Russell King (Oracle)" Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org, sophgo@lists.linux.dev, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, Yixun Lan , Longbin Li , Conor Dooley Subject: [PATCH v8 1/3] dt-bindings: net: sophgo,sg2044-dwmac: add phy mode restriction Date: Fri, 14 Nov 2025 08:38:03 +0800 Message-ID: <20251114003805.494387-2-inochiama@gmail.com> X-Mailer: git-send-email 2.51.2 In-Reply-To: <20251114003805.494387-1-inochiama@gmail.com> References: <20251114003805.494387-1-inochiama@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" As the ethernet controller of SG2044 and SG2042 only supports RGMII phy. Add phy-mode property to restrict the value. Also, since SG2042 has internal rx delay in its mac, make only "rgmii-txid" and "rgmii-id" valid for phy-mode. Fixes: e281c48a7336 ("dt-bindings: net: sophgo,sg2044-dwmac: Add support fo= r Sophgo SG2042 dwmac") Signed-off-by: Inochi Amaoto Acked-by: Conor Dooley --- .../bindings/net/sophgo,sg2044-dwmac.yaml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Documentation/devicetree/bindings/net/sophgo,sg2044-dwmac.yaml= b/Documentation/devicetree/bindings/net/sophgo,sg2044-dwmac.yaml index ce21979a2d9a..e8d3814db0e9 100644 --- a/Documentation/devicetree/bindings/net/sophgo,sg2044-dwmac.yaml +++ b/Documentation/devicetree/bindings/net/sophgo,sg2044-dwmac.yaml @@ -70,6 +70,25 @@ required: =20 allOf: - $ref: snps,dwmac.yaml# + - if: + properties: + compatible: + contains: + const: sophgo,sg2042-dwmac + then: + properties: + phy-mode: + enum: + - rgmii-rxid + - rgmii-id + else: + properties: + phy-mode: + enum: + - rgmii + - rgmii-rxid + - rgmii-txid + - rgmii-id =20 unevaluatedProperties: false =20 --=20 2.51.2 From nobody Fri Dec 19 18:44:23 2025 Received: from mail-pg1-f169.google.com (mail-pg1-f169.google.com [209.85.215.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 940B5263C7F for ; Fri, 14 Nov 2025 00:38:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763080722; cv=none; b=CZHfAPfjTjyiOZkGiLqCLOhXRXUyZb+3T++A72ukIXze7706doCYU7CL6pq/MgLnelq4HH/KRc2V9ITzPHL/1xOX63joTrxL4Y6kPVbzU9FwZuus95DF5qEMVYpUTEA5i/P+K6IOZjBP6uZBm+zMKTlf1v/vLalNC1N4Y7IbGwE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763080722; c=relaxed/simple; bh=km+Q85CbXoWksNaZ7smPrMgV3IhcwRncYPUgD1dodvM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=TC4xc8xDA4CiWVUPUhFa326GRaWOL2e/qFCiy86R10R1frXZQG4U1q8ry94QBdLNSm6IHWz4RVaA2doxGSJ8QohzWfAyOfmFYLp7quHrv5tKj8ooq6/T4w4gMtmZYPcjB8DqR2iDTnxVOdnpTV5jyQh0QfTt4HpcRyO1dE08WZo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=eSeiBJmw; arc=none smtp.client-ip=209.85.215.169 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="eSeiBJmw" Received: by mail-pg1-f169.google.com with SMTP id 41be03b00d2f7-bc59a785697so665379a12.0 for ; Thu, 13 Nov 2025 16:38:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763080720; x=1763685520; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=OAEkeQ8lL8zgGt9X5ptAhWwpyBVXGyV+fHaoeQsAx0w=; b=eSeiBJmwADQaAmW2siWb1cNJo96MWfyAHUdaktEO063SmLgtyAafudRkVb960CPxJi pVKgBBjW97J/E59vcW25YN5LT+mnikqedkxCWsBHyfdb/SC4npMEvzw3s1P1s/Xmixa3 uySaO0/n2oPxCsO5S02XktaD/QBYbeV2wfiekuEJk1za5DGokL2Fd2opWpOrgEAzC7Km 5wlMyz+rkl+bZDctie3Hznv4neIVNouYHNP6XUUKMEr+2zEhtd6ibHq50RbE+PU8uzLo 2i3TGNapcxsjwbr3+5dYtt8PGIhKShkMQINER0ibvHeARgHv04PqI8VLXQzlpLhhEhq5 vR6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763080720; x=1763685520; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=OAEkeQ8lL8zgGt9X5ptAhWwpyBVXGyV+fHaoeQsAx0w=; b=XSVyn6Yey9GlxFnbTL+iOXXPpkgtL6u/1DlpZqiDzBKQ8z7FOXr8AVybhwgopsWAZb TbrfM/SM8k77LjwJHjucXR5kWHuQvPzUW1KYkDUoLwU/UfY15IBl0A41IYc978XWN4BE QX9ZRX8c3oziG+hxQ5R8EgQc1fQXsog+/8yLFw8UzCbNggEbx04NFur/eZcNr919FEdH 4ktmZpyXO77K9lUaTtpymh8eJgB/LR8hLQuOFmC9XAZPyV2+PBvAlRfmqjvnhiVH49lW SZxdJ5zoO9ICJgC3Ld7JnpeQxEV/8qEJEvzmla2oi2aIyXg2kV4mPeK6QU9hwuavta6V 1IVA== X-Forwarded-Encrypted: i=1; AJvYcCUmYvxE1hzgZpN/6SmTBWUj9vGSfUqfpUEXZVKNeQAUgzBaonPQj6dGx6d8fm7y7FVR/SjdEDhRnNBYXaU=@vger.kernel.org X-Gm-Message-State: AOJu0Yxw7nDGhg9q9OrBxnEsA73UVnEitcl65p2aZA5ozWDPUp+yxEuo ahJKPhLtDkb+vZFQKd4qFXEyAfISQ7zyvR3gk52BLSEPb0txxr4++u6i X-Gm-Gg: ASbGncvrBxpC9MkYB0sjWChaZXVxL9X8pAZ/4GSPuj/v6E20IxOiofYIfpcn6JnsdMq 3Q4i2OGDc8PsYOLR7TzdAcnF3H2ALNENGmpO0l2QtSIHqEf7Nqp2r09QqB7iIVI3ughiu6jIg8d yhv3ggCD3TFcpXtU6ujdJVLlEI/scgIqBtNuezBrzIIXcPromYuIIuR8AB3N475TaBXKpCds1df J/KqmVH4Pcs1/LAfeGwP0Zbm3tDDdJEX4d/DhsW6nUDBmf+0DNetGjm0UbaG884TF6GNTjEMZze BlkbnvIqGUhzEz2IHMIENS7qiqcWzjTmG38KkCHmHkhfgDfcYH5QihLn/tFhOzZV+ZiaYWoXrll MhLO4lMwv9s0qzJHte6U07Zqjxq4TQCmFUFWReYwx8t3diWiMh3iKKo5epbksCW9Tb/A/S2hEB6 VFa/hMdXMJWQ== X-Google-Smtp-Source: AGHT+IHhHMFOgdJTCCj2iz3xbNhHIo9j6lyjGd6SR7Dx1GmoSljn6NAypb01axUm/7zVz96HeKqrgg== X-Received: by 2002:a05:7022:6608:b0:11a:4b72:35e8 with SMTP id a92af1059eb24-11b40e81abamr546686c88.6.1763080719556; Thu, 13 Nov 2025 16:38:39 -0800 (PST) Received: from localhost ([2001:19f0:ac00:4eb8:5400:5ff:fe30:7df3]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-11b06088625sm3368287c88.8.2025.11.13.16.38.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Nov 2025 16:38:39 -0800 (PST) From: Inochi Amaoto To: Han Gao , Icenowy Zheng , Vivian Wang , Yao Zi , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chen Wang , Inochi Amaoto , Maxime Coquelin , Alexandre Torgue , Heiner Kallweit , Russell King , "Russell King (Oracle)" Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org, sophgo@lists.linux.dev, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, Yixun Lan , Longbin Li , Maxime Chevallier Subject: [PATCH v8 2/3] net: phy: Add helper for fixing RGMII PHY mode based on internal mac delay Date: Fri, 14 Nov 2025 08:38:04 +0800 Message-ID: <20251114003805.494387-3-inochiama@gmail.com> X-Mailer: git-send-email 2.51.2 In-Reply-To: <20251114003805.494387-1-inochiama@gmail.com> References: <20251114003805.494387-1-inochiama@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The "phy-mode" property of devicetree indicates whether the PCB has delay now, which means the mac needs to modify the PHY mode based on whether there is an internal delay in the mac. This modification is similar for many ethernet drivers. To simplify code, define the helper phy_fix_phy_mode_for_mac_delays(speed, mac_txid, mac_rxid) to fix PHY mode based on whether mac adds internal delay. Suggested-by: Russell King (Oracle) Signed-off-by: Inochi Amaoto Reviewed-by: Maxime Chevallier Reviewed-by: Simon Horman --- drivers/net/phy/phy-core.c | 43 ++++++++++++++++++++++++++++++++++++++ include/linux/phy.h | 3 +++ 2 files changed, 46 insertions(+) diff --git a/drivers/net/phy/phy-core.c b/drivers/net/phy/phy-core.c index 605ca20ae192..0c63e6ba2cb0 100644 --- a/drivers/net/phy/phy-core.c +++ b/drivers/net/phy/phy-core.c @@ -101,6 +101,49 @@ const char *phy_rate_matching_to_str(int rate_matching) } EXPORT_SYMBOL_GPL(phy_rate_matching_to_str); =20 +/** + * phy_fix_phy_mode_for_mac_delays - Convenience function for fixing PHY + * mode based on whether mac adds internal delay + * + * @interface: The current interface mode of the port + * @mac_txid: True if the mac adds internal tx delay + * @mac_rxid: True if the mac adds internal rx delay + * + * Return: fixed PHY mode, or PHY_INTERFACE_MODE_NA if the interface can + * not apply the internal delay + */ +phy_interface_t phy_fix_phy_mode_for_mac_delays(phy_interface_t interface, + bool mac_txid, bool mac_rxid) +{ + if (!phy_interface_mode_is_rgmii(interface)) + return interface; + + if (mac_txid && mac_rxid) { + if (interface =3D=3D PHY_INTERFACE_MODE_RGMII_ID) + return PHY_INTERFACE_MODE_RGMII; + return PHY_INTERFACE_MODE_NA; + } + + if (mac_txid) { + if (interface =3D=3D PHY_INTERFACE_MODE_RGMII_ID) + return PHY_INTERFACE_MODE_RGMII_RXID; + if (interface =3D=3D PHY_INTERFACE_MODE_RGMII_TXID) + return PHY_INTERFACE_MODE_RGMII; + return PHY_INTERFACE_MODE_NA; + } + + if (mac_rxid) { + if (interface =3D=3D PHY_INTERFACE_MODE_RGMII_ID) + return PHY_INTERFACE_MODE_RGMII_TXID; + if (interface =3D=3D PHY_INTERFACE_MODE_RGMII_RXID) + return PHY_INTERFACE_MODE_RGMII; + return PHY_INTERFACE_MODE_NA; + } + + return interface; +} +EXPORT_SYMBOL_GPL(phy_fix_phy_mode_for_mac_delays); + /** * phy_interface_num_ports - Return the number of links that can be carrie= d by * a given MAC-PHY physical link. Returns 0 if this is diff --git a/include/linux/phy.h b/include/linux/phy.h index 3c7634482356..0bc00a4cceb2 100644 --- a/include/linux/phy.h +++ b/include/linux/phy.h @@ -1813,6 +1813,9 @@ static inline bool phy_is_pseudo_fixed_link(struct ph= y_device *phydev) return phydev->is_pseudo_fixed_link; } =20 +phy_interface_t phy_fix_phy_mode_for_mac_delays(phy_interface_t interface, + bool mac_txid, bool mac_rxid); + int phy_save_page(struct phy_device *phydev); int phy_select_page(struct phy_device *phydev, int page); int phy_restore_page(struct phy_device *phydev, int oldpage, int ret); --=20 2.51.2 From nobody Fri Dec 19 18:44:23 2025 Received: from mail-pj1-f44.google.com (mail-pj1-f44.google.com [209.85.216.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A955D26FA6E for ; Fri, 14 Nov 2025 00:38:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763080725; cv=none; b=Ynn+JWRYjl91q6jRMW0QY+06mZN/VGhVsdNssduGL3I+tjebOpuTGNb5sHlcCLVINJrDL5j4c8/kXxkl/kqyKsXDc0na/VxgPMVBtUeK9GFhoXzMzXdq3+TEi8ed1gznqQZZpOtz54rSNWyEifN1KbwXPDKQoFxXb8Zpx8GW1+A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763080725; c=relaxed/simple; bh=rxp/NrNnXrKf8e0GBNNTRnLO6fRnsXQEhl3HcuPYlQ0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Zbshq1EuVyRAAASZTWP0yfYtW9h2WaDlal0O5+i4y9GdpX63c1M1ZKE5Eu86boISYM/dbjS/yA9Mmq4N6NuVHT6rUszeDo4KgmOgSwgZu7tSfxFNXBeeIXtCw5emYAwTuD4CdNiL4H1YiQF1xlO+xwJMsAifjjhbBQ6xY1AKZg4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=ZSZGeRAf; arc=none smtp.client-ip=209.85.216.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ZSZGeRAf" Received: by mail-pj1-f44.google.com with SMTP id 98e67ed59e1d1-343ee44d89aso1904575a91.2 for ; Thu, 13 Nov 2025 16:38:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763080723; x=1763685523; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=xpMkuoemEQ8nHGHR+sKpMED/PEl2v5+7S85Qkm8JY+4=; b=ZSZGeRAf2JLASbtROjIzWaYq9sNu4JejvsWnHk2DKY7fc1prl9yyfmCHjW8VC3JKTI +GJXCGMMRBdrglJi1d8cfPZq6cQ9Y0/EEgJ97Cv+UaLf4nKDUre8YDBo9b13XcDMn5UP hmM4Gl21JGh7jbOgMjjn0fgdfN0csbcf70PKmwIFKBI6/WH9qx5KjRYw4QdeZhG61lFR bDugT6ZYALrxMdin5htfBDixkTF77bIAeu7kg5XPnqsZB167sJwoepKPMKIHLE01+kye Dfz1Yrt7aD8fT5ujxDkMGjQafzs1hvXlpBjzKHRcZhXxwLT4TcEb6+a1vXS/KVk7BZ2l TEmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763080723; x=1763685523; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=xpMkuoemEQ8nHGHR+sKpMED/PEl2v5+7S85Qkm8JY+4=; b=TnMHs11q2x01s4tfJLO1XFkRHz0UdnxAw3w38yIvOvACn8fAQBZKOk/hafXDO35o7K 0/g2KgrucRchMaiCDAIpXQAMJZhYwNwBV14J9w9AIALMzOQpeQxJlDWtFxXHA21UGuWR AP3ncv72kR7E1u+RxK4EYF6X/NnCw+eY4HII2BvvDKzhppRVqEhCo3qnyjh8+4j9qesV TbkWN2LX+4q6eJMcI3K1dEZTNg1B5ZBDAf3dLAS6F9tBGpqKb0YLinDqU+RAO+3kslEu lQQ+JnOqHRAtrUlLPCcOOdbxjLam3gKxnFtYD5wc61Au+EPJgrkdT0T60hNyQ7aMcr9q Lx2A== X-Forwarded-Encrypted: i=1; AJvYcCV+1cRypsOUQSdVmuq4UFx6ixWLGouIqErSIdeGRBW1gzkhUJ0DF7x8JrzrSX1XU2Om+YvUq/hzqayLdk4=@vger.kernel.org X-Gm-Message-State: AOJu0Yz9kkWTP9ZwWe/EiMGxpqAi/Sf+hYvTr3gmvdacx1HRc5qc14r2 APQM5bRxMuu9Tt0etJhZSPM3ZnakjzQtKcN+FgzEV76gPGE0NT+n4jFx X-Gm-Gg: ASbGnct0/KdvoQUNnJeHgeBQWe1B9xPCT5D06Xnl2/Q1+RqkhoySdLk4f/KW9D8SRGi 7dG50xnML+5pqI8hCCBHQOX+z1wrDSR3SNW59nTzOlPv0/1TzdnExT4JwOlbn/FbNN1KLOxnf2D qpunZilsDzZFwyxmV252Q3FG6LBORG4Tn72HfyMhGpcw9bhnNnWqYBl6r8DWUj2IT+LX631tAc1 t20v+gB3Phn13Ueap+192WICapil2sUEKbz5SD3y9XgcquBfv1yIYl2hQXJICJyibsTNu/WIFrY iAlNyuL7XsNxhOZ2XDG1yvB3UNyd8qrz3srBOMTgAhvqrfuQbhhQAg1mE+jB2sCZH/D7YKkYhus cau44zynZk9pJiTPgfWaJ152l2mBznKdVhzco7dm/2Z5Ne7ELq+qbUnU3e8LIgheQUM8p8JN88s s= X-Google-Smtp-Source: AGHT+IHI/lUdW0Aaq91gtsiZA71Q/CcEnh/FJg4f8D3Tkw7Zsxdk4iz040Cwd2DXuBeB7xK+wipiHw== X-Received: by 2002:a05:693c:8019:b0:2a4:61d1:f433 with SMTP id 5a478bee46e88-2a4abaa29cbmr464993eec.16.1763080722822; Thu, 13 Nov 2025 16:38:42 -0800 (PST) Received: from localhost ([2001:19f0:ac00:4eb8:5400:5ff:fe30:7df3]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2a49da0662dsm4527148eec.2.2025.11.13.16.38.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Nov 2025 16:38:42 -0800 (PST) From: Inochi Amaoto To: Han Gao , Icenowy Zheng , Vivian Wang , Yao Zi , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chen Wang , Inochi Amaoto , Maxime Coquelin , Alexandre Torgue , Heiner Kallweit , Russell King , "Russell King (Oracle)" Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org, sophgo@lists.linux.dev, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, Yixun Lan , Longbin Li , Andrew Lunn Subject: [PATCH v8 3/3] net: stmmac: dwmac-sophgo: Add phy interface filter Date: Fri, 14 Nov 2025 08:38:05 +0800 Message-ID: <20251114003805.494387-4-inochiama@gmail.com> X-Mailer: git-send-email 2.51.2 In-Reply-To: <20251114003805.494387-1-inochiama@gmail.com> References: <20251114003805.494387-1-inochiama@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" As the SG2042 has an internal rx delay, the delay should be removed when initializing the mac, otherwise the phy will be misconfigurated. Fixes: 543009e2d4cd ("net: stmmac: dwmac-sophgo: Add support for Sophgo SG2= 042 SoC") Signed-off-by: Inochi Amaoto Tested-by: Han Gao Reviewed-by: Andrew Lunn Reviewed-by: Simon Horman --- .../ethernet/stmicro/stmmac/dwmac-sophgo.c | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sophgo.c b/drivers/n= et/ethernet/stmicro/stmmac/dwmac-sophgo.c index 3b7947a7a7ba..fcdda2401968 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sophgo.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sophgo.c @@ -7,11 +7,16 @@ =20 #include #include +#include #include #include =20 #include "stmmac_platform.h" =20 +struct sophgo_dwmac_data { + bool has_internal_rx_delay; +}; + static int sophgo_sg2044_dwmac_init(struct platform_device *pdev, struct plat_stmmacenet_data *plat_dat, struct stmmac_resources *stmmac_res) @@ -32,6 +37,7 @@ static int sophgo_sg2044_dwmac_init(struct platform_devic= e *pdev, static int sophgo_dwmac_probe(struct platform_device *pdev) { struct plat_stmmacenet_data *plat_dat; + const struct sophgo_dwmac_data *data; struct stmmac_resources stmmac_res; struct device *dev =3D &pdev->dev; int ret; @@ -50,11 +56,23 @@ static int sophgo_dwmac_probe(struct platform_device *p= dev) if (ret) return ret; =20 + data =3D device_get_match_data(&pdev->dev); + if (data && data->has_internal_rx_delay) { + plat_dat->phy_interface =3D phy_fix_phy_mode_for_mac_delays(plat_dat->ph= y_interface, + false, true); + if (plat_dat->phy_interface =3D=3D PHY_INTERFACE_MODE_NA) + return -EINVAL; + } + return stmmac_dvr_probe(dev, plat_dat, &stmmac_res); } =20 +static const struct sophgo_dwmac_data sg2042_dwmac_data =3D { + .has_internal_rx_delay =3D true, +}; + static const struct of_device_id sophgo_dwmac_match[] =3D { - { .compatible =3D "sophgo,sg2042-dwmac" }, + { .compatible =3D "sophgo,sg2042-dwmac", .data =3D &sg2042_dwmac_data }, { .compatible =3D "sophgo,sg2044-dwmac" }, { /* sentinel */ } }; --=20 2.51.2