From nobody Sun Feb 8 09:11:27 2026 Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) (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 E22262868BD for ; Mon, 3 Nov 2025 03:05:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762139149; cv=none; b=lkWyidfxUZsw58NJ6mtCxGgyK0vA5kx5pjTduZrL1r2OrucZaERmEGs/5JSAsC0Zk1nGVKS7QtwB/hLGFTxqc5D+YOr2W7AeYByuYbzmR15tQtpqJXz2TQby2cyn5j67YCRKfHrxm+UCcy621pkF58XsjjqUjqWeC6hf35BEHq8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762139149; c=relaxed/simple; bh=/s3k3gaQa5vELRzkRL0kZbmW5//OLC8cCCrARdlhhI8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=WxyX2/i0cQ5cClDCAODfHb+Ie5N4gj/ct3/eJNUnyD0KHXuAdsp9ft75gJhnTYYA4A0QTuiyF5nzm5bqSenyFBGAwlXbh8cVB06zCwmMztmKBpctmIuz4vlA6Rf+8ZTNEKOLy+HLRDBrARtgH3fPFwQ5QqugX3/u3PC4+ovw8/U= 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=L1UuWpou; arc=none smtp.client-ip=209.85.216.49 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="L1UuWpou" Received: by mail-pj1-f49.google.com with SMTP id 98e67ed59e1d1-340c39ee02dso1241079a91.1 for ; Sun, 02 Nov 2025 19:05:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762139146; x=1762743946; 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=+DZ/Hzt/Z4dyeSpA3JZAv4iA86Nxbb9HIqSS2XvFzQ8=; b=L1UuWpou9idiDQNUAp4gJzOxH0D7RIwIv/pL0jH01rbrktcGuunhnb/8WFOhTik/KP VledN+lZcxX9aZzQbeQ7xgIl3unai3VCYpCTm6+uQ6okuxk44JEC0Z0ImcA/PgC7uznJ eeZA8gfOspEAqFdPUW4iarxkQrbITcg8Gd6JE0pjzpPXwxgaBWOaC42zImamKiQDjd3d kc73Vjc6ekV0m6LlUvLGOikt/kk9dWGTOHhBbD3qoo3jxv/6cCJZVPNW0JQtOdSx5ahC IS2ihPAG7WQhRYzsDl5A1M4NjA4Y6C9qCGjtSzL7KYDHw0FnUEDoekmGTLidvRZi6eC/ N3zg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762139146; x=1762743946; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+DZ/Hzt/Z4dyeSpA3JZAv4iA86Nxbb9HIqSS2XvFzQ8=; b=oHqjre2j4mBKIS7uyF+z7Y9KjL5a35XxyZV7tzTyt+XU5++8TXxAH2IgQhINGQLzyW 3QtNar1S9IyE4xXuvQ3/RQdkFrLsF9aBx/IWgubgKu5wdu0c482VJK4Hp/oydOcUvw6n 2dqAmA8lHxVFyTtjkh6qnp3O/JYD46s793Ifh31mYD5jHj/S3SMZMye8QsIkAXAaa5le 5NFGg6F7eRsa+lB8jvlq41TfMzZpG48m0iRzwUs/CFA3ZyMTs3buRT+y5eUfvXeMGKcB AZBQRpGVfdU0sMaSHlUNAseOlBvJJrNfCLyFX11C6VPjD57YeMv1KDFGgGY0PwpEyrzg 0iaA== X-Forwarded-Encrypted: i=1; AJvYcCX2ba8w1bsBJvjqzhLguXluEcyDS3u475zlpVVlSoQ9acAkBYhL2cTJRmqB80tH2FSDdDCmcQkAJiKUnRQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yy3sfCr/agfsu079i1lfjpYE0kpZm33wk7m7ex8O4phjO6ieVhb IGwauajQqvnXp1puusnbuYwSpJXDymX86X5duRyJI8N6FNRjMY+dn3jn X-Gm-Gg: ASbGncvAJ3NGbR3Bp0RBqawgDqBudepi9+hVeceRos/ha8QXGmAxp3yjwFyDxDrzmOA YjKAJTN725t5Gf9wESJn4zP8JO3uxs9ndafEW2s8J52D32Rzi157WpuDRzyeCv02IVGV2eWHvKk YodYK2G/CP2fGRBPXBdsBimVqyWKnzPFBQxXCK33sIei/yYPUDDToKB3ZauF5YxEfox0TUh58U/ SRGecA+7YpNiWN940nK7DbBgEimQv10vmkWTzR586LRe6H56GWI7aXB18KExw3Fqr5A+xD4BYWm LdR75k0GaK3m8oIPETr4BCa1bKwT/hzw7FhtSnShk59zRTBBbV5TWoIWN/dLRXzr2iGbfCuAt8P Cdw03fSDEI8a1S20R/yVg1GjDTNLPy40jd7hhSnXXsQnqz7KQp8gZ1PewrXwNApwhQrRDIhwXho 3EBUClo+lhQw== X-Google-Smtp-Source: AGHT+IG+udK6Bhw4W8KPlkD75NTM1WqC0W+OR++Yhtjf/iYFIJkPzmpXbccgIuGWio8g01Hhjhz5ug== X-Received: by 2002:a17:90b:4a43:b0:340:c64d:38d3 with SMTP id 98e67ed59e1d1-340c64d3b78mr7086982a91.12.1762139146285; Sun, 02 Nov 2025 19:05:46 -0800 (PST) Received: from localhost ([2001:19f0:ac00:4eb8:5400:5ff:fe30:7df3]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-340d1a4a587sm5157684a91.3.2025.11.02.19.05.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 02 Nov 2025 19:05:46 -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 v6 1/3] dt-bindings: net: sophgo,sg2044-dwmac: add phy mode restriction Date: Mon, 3 Nov 2025 11:05:24 +0800 Message-ID: <20251103030526.1092365-2-inochiama@gmail.com> X-Mailer: git-send-email 2.51.2 In-Reply-To: <20251103030526.1092365-1-inochiama@gmail.com> References: <20251103030526.1092365-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..ce6fc458be61 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-txid + - rgmii-id + else: + properties: + phy-mode: + enum: + - rgmii + - rgmii-rxid + - rgmii-txid + - rgmii-id =20 unevaluatedProperties: false =20 --=20 2.51.2 From nobody Sun Feb 8 09:11:27 2026 Received: from mail-pf1-f175.google.com (mail-pf1-f175.google.com [209.85.210.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 5B4882882D7 for ; Mon, 3 Nov 2025 03:05:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762139152; cv=none; b=XlR1XqWprvttNJa79St5AYna4RyCqIuHADQ/GlpZ44+QR7NtCXXGScgDfJvMgSR60e3FgbZ8WjSpmNQ9CkEUi/Q2CYQcgzkI3fPLmWO0vkvyOeNxco+YV3Wgv++4sPsOf+qzyXn5xDr0kz5Bn0SBBBxt4ffBoxgxsp47KYoKVrI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762139152; c=relaxed/simple; bh=g1gjey22aj0deXr/Rxp5x8gbHU/r8O1Vjh1tF746E4g=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=TFLhaV3IdHSzs/7K2d+jnembxyih8YfiDHqQCt6+yCOPy8EmOv6YqQlJE3eDq9JyfkGgpJCLHKV/zJtMwzv08gGUJqQ0AMa6FYHENq9AtH9AEC0IPd58RjwD9OXtozIEGiI0pE48SYbFnRXQ3T+ezqqoA2dU7oeiwLJZZ71DRJE= 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=Bvo8UHVq; arc=none smtp.client-ip=209.85.210.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="Bvo8UHVq" Received: by mail-pf1-f175.google.com with SMTP id d2e1a72fcca58-780fc3b181aso2701827b3a.2 for ; Sun, 02 Nov 2025 19:05:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762139150; x=1762743950; 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=j4QTOT55+/ql6/pjv059GwSZ6Db5fZXYVpPWy9XubXk=; b=Bvo8UHVq6e3de225ALyFSiXW4frvs1o1QwmRDv/kIUjBU3KCFBJArZg948DlXvgH0e cIPOnsHAVrPDiitBmYZtfWD5plF0J+coDICJq5+0h5BPKrrZZ98Cpp+EFlcpxEddT2jl xRNWDAs4qFbkVCOZCt6S+1bv3PLejq4j7MoPaBCzPt/pDLPZi7zPBagHWxWCRjBg7pTS YCo6F07+KkOXF97rXEtnOSpg35rqFxj1gSRGDux56eeC3RqkJJ5JR7BOSyR8GQRCfMz7 D4008t6jJG1Al9r4mFYMM6cJcMkMeP5EyH8N9RSj7m4jl72Fnmoa/l7Xh74A9R/YcvLu c9Aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762139150; x=1762743950; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=j4QTOT55+/ql6/pjv059GwSZ6Db5fZXYVpPWy9XubXk=; b=IbbHaTcjUEUenXy/50KL5oPIene+UKSx5m56jjLs8vYx9efmu+xME4mT/iv7FxD1vf Exr3pop67fC5rQ8tN3AfZeyATXI+yPKtLBILO8wl1uUFvDTwwmZdiZrjVXlmKCzGzl5w HKZdUE7spaJB5hjMVdFLZxHxfN0rVMPq+x8YGRmEtDf3OYWUfqTdk8uI0kWLld2YvAx5 G2SAI8XYnmoa2+ZTeOlcTiP2q0oUx/LvFKpiK1ZS7JTCCdq30K5M3aD+RkXbrlHhK2lT N72gJ/TI0dPuV1BwWCWtn1ykJeg9qUG1/8kkJCoBa3fCQMtecClNDuPwsv6Q53KKQn87 y0CA== X-Forwarded-Encrypted: i=1; AJvYcCW8I5SXMcZkeVzOQlAFQEP7mGknWss1sPi9Z6D9cODYss/0Osdxi6+VZmbktFJs/F3Qigp69kRksHMVkTg=@vger.kernel.org X-Gm-Message-State: AOJu0Yyht3gF/a7OphZ9c7p+xS8mIZJDN29YJEyDAZaB7URqgaEfspNX iMm9e31KP1hb9fmX9bh0S5e8w2Pukba/C9QVCDXHrEvrzqsUEYfdGzlk X-Gm-Gg: ASbGncufiAD0r7UuQeHqNIP1MG0098o/wWPd8VH0ds93iwSQzs3vBoeCUxsD+wC5fFS oIgICrVWQGmO+bPGIg+gB0uvweQiCe2tV1/SqdYd4HMGZUgPVKw/AVJFsaqBk8gEH5Pt6L0GB3t dSi5YLHh3J+WmVQLQwB3Uq37kOz3yMtbNS8uI82dljo6Q0U67ZB6vrKkT5yQ+7AjdyRT5POFBF8 XeI8E7u54eLmhciwbISZ57ooRDx5WnrSi6ZumqCqzyM3vHDZLzTUF+t8N8pHYKoswNtj/8lL61D EnZlxwFPcJlu/58eW8jjl2JtDpiDyJE5SYZ1KZ68oWCgO59eAc0F2i8NiyKzw0PcWksMIA/UOxV RmDyg0GpeBgstPSeo2Ov/GiaIdJPdUPJ8SIj1/dwrCDwYz8sZj727zUbTrscQHK7XOzU18sKp3A 8= X-Google-Smtp-Source: AGHT+IHUj0n47h7V6n+yPrS3AH7Tk+MT/zDMbn/+1x+Z1nt4DmkG8sgKVizJiB0cJZx6/5G2TiyAow== X-Received: by 2002:a05:6a00:398e:b0:776:1c49:82f8 with SMTP id d2e1a72fcca58-7a777a489f7mr12266459b3a.8.1762139149548; Sun, 02 Nov 2025 19:05:49 -0800 (PST) Received: from localhost ([2001:19f0:ac00:4eb8:5400:5ff:fe30:7df3]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7a7db197335sm9410788b3a.47.2025.11.02.19.05.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 02 Nov 2025 19:05:49 -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 v6 2/3] net: phy: Add helper for fixing RGMII PHY mode based on internal mac delay Date: Mon, 3 Nov 2025 11:05:25 +0800 Message-ID: <20251103030526.1092365-3-inochiama@gmail.com> X-Mailer: git-send-email 2.51.2 In-Reply-To: <20251103030526.1092365-1-inochiama@gmail.com> References: <20251103030526.1092365-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 --- 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..4f258fb409da 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 Sun Feb 8 09:11:27 2026 Received: from mail-pf1-f175.google.com (mail-pf1-f175.google.com [209.85.210.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 43C4828D8D9 for ; Mon, 3 Nov 2025 03:05:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762139154; cv=none; b=HDZEku2femtAzzzTGCxfPqg1l/DQXmZydyKY5HDUJI+DV76Qw1wQjkpK8vdtzDmuiT1uEQ7I70RGFoAeCxeR71Tw5M2BbX9iFbQmiFxZJfNccOcAKFdqAPvPTCJa5ofJ9tzmytUyH5VUCH/gTkaWg96gcojVe7EL8v7eSnh6jTk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762139154; c=relaxed/simple; bh=rxp/NrNnXrKf8e0GBNNTRnLO6fRnsXQEhl3HcuPYlQ0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Rj3ylmAvItUJmA62GTqd2i7p9G04CQ68pPpIJIJauLu0GwJH/PIVPDjXmDoUK1PgxpG7/0fNtj/JMfAAggli/AmMFPxrCIn+1bfjxlBdE0GQ3KB0/N8QjBnf6qwS+vT/zYWw1DHctfAFomTlDvq+Lg5iQMkD7n5p8r34DA68bEA= 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=IlvnYkkq; arc=none smtp.client-ip=209.85.210.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="IlvnYkkq" Received: by mail-pf1-f175.google.com with SMTP id d2e1a72fcca58-7a59ec9bef4so4855390b3a.2 for ; Sun, 02 Nov 2025 19:05:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762139153; x=1762743953; 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=IlvnYkkqhNhe7zCxj4W/bFhvxGOJTm9KOXl42VVB2UwOorfnYlPO2YMYkUzAljsfUs fIRepEdk/YiVgxmz5Yuw6JtQvo/d6gpZl5AMV5EgGPLKgU57sKwpRMuypTGXlPE8mZcQ EhmUKfDzg02VjCa3/6Dyg9t7ASmyXSfV5iyzVKqqe+EvOFNtA8uRuOJs5UEdzBgX6J4I AiyA/AsxrVM3B8sI6ZTgQ0kSHXpweaMJHg/L1dghofKsjY8ifaScy/WYtyPemaMeNBwq nZ951iR1H9MY4HhBI2V3vu2kFbNvRAvG9KgQuuYGMRr1VgsLBvao66q0c4azgpmYSO3B GK/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762139153; x=1762743953; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=xpMkuoemEQ8nHGHR+sKpMED/PEl2v5+7S85Qkm8JY+4=; b=d9eDSkuMgzOpW1h7awjiA7/SgoUWoe80LkenLNZ4bPdddyVItkwTN8WLiX+UYrmb8F rGkUwJKEInyvEdnzpq0Z0HnEv7iPYZmYtimhh3rNFUsFaAry1sjBt6AyeeDr610gEb4k Gwapuz5yKNwypt9updcltA4O3fR6B6BpBEgtNL5vCT4H7hFoncxc1M2RS/cXyI+jOPHe /P5NtU4PUGfFj8dm+lhl986xxZPRRRZTOKAZNeryKMLn8+XojA9aOOfgvcpdhgQ5LZJm /IkLIlv7YwpTwZkN9sMGpXFCzS7t6+CVV98OftZDsc10b43QnGewpVO6T33ryx0pCJ6D U7rA== X-Forwarded-Encrypted: i=1; AJvYcCUO0fq23Tj8F6wsS66tLl0OfPat/Fd+JKF/nM/jCf+7WsBKsIJjQxh9EtYtQcSXSMO+fJmiLMmvaG5cRZM=@vger.kernel.org X-Gm-Message-State: AOJu0YxQQAE9YCAqNPC7anzFyrgDE0c0TwGCxmER+EJjnSzYo++sbLSC AT1OznFOI9jOQZfTfraiP8WjLqKVoSjaVyxEYByRuS7UiPJc+0kzyf6+ X-Gm-Gg: ASbGncudQ1/KFrT793Tsv4UNiRAKWk0Q6Hd6WNboAsYfhkGqQegWhXnZGwA7ap2Jtyp /fbO6nBY5my0pIbN2gdkq9r4xxWO2whT+arMZE+TB1e283vM9M4+F4LWAt6psX28ao8WKF+gP7t 0MRFiWMZn32gKtRxab5onj/NPnL0m/axR+sYyNiJlPl4bKXJIweLtJYwg9lcG3WSh3XRw/Z2w/j O+Vrb/A7x/dqQTM/j9PNnbprATdR1NkXLCIr6/1gPuEQtQie00pYxpEBqWVd1aNXWPsz9WUcdfc bd2GWJFkP4OCiUWrA1VaSF9ZiWgq4lgCv7vVPVvve85HdtgGHaASb+aeiKydfTIUbEYjfuuNcQ+ LuHH+BO8GQz6ClrJYrDpqE36nVKKmmwJzgg2C+ItFyf8N4u1CC9tPk0SiC8VmW+1Lkwysqr0nfZ 4= X-Google-Smtp-Source: AGHT+IHPm4B46oBMKEiDtF1pRQ9fXhJATCw1b8SJYuGAuFOpbmfcoaiK6106eJ2qyIrf/kfq6Jj0wQ== X-Received: by 2002:a05:6a00:2196:b0:7ab:4fce:fa34 with SMTP id d2e1a72fcca58-7ab4fcf3eccmr1842539b3a.1.1762139152609; Sun, 02 Nov 2025 19:05:52 -0800 (PST) Received: from localhost ([2001:19f0:ac00:4eb8:5400:5ff:fe30:7df3]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7a7d897c632sm9343229b3a.10.2025.11.02.19.05.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 02 Nov 2025 19:05:52 -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 v6 3/3] net: stmmac: dwmac-sophgo: Add phy interface filter Date: Mon, 3 Nov 2025 11:05:26 +0800 Message-ID: <20251103030526.1092365-4-inochiama@gmail.com> X-Mailer: git-send-email 2.51.2 In-Reply-To: <20251103030526.1092365-1-inochiama@gmail.com> References: <20251103030526.1092365-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 --- .../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