From nobody Sun Feb 8 12:14:50 2026 Received: from mail-pf1-f172.google.com (mail-pf1-f172.google.com [209.85.210.172]) (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 1B3C62F5463 for ; Mon, 20 Oct 2025 09:56:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760954172; cv=none; b=uHX/T8sQTP8uUP1VYpzyn101mLfpTy2c99Uk2fh3XN572GfhpHxzfK+8IfYKbVfD0ed5JSkBmVi919C89gug0+8NLQ6/vf3z972UcQDpcgKvN99/6wbKW1C5RJFEvQ9uT7JeJnbUUEECnsxGd4eLv9kj8g2b5Lb5Zz1JbBjc0ek= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760954172; c=relaxed/simple; bh=PXseH4AXPA1u06jp3KYScqETJ9W5u1LbZmUsWPspIFM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=T5VBJWZci+zMUlJfyAvGBTPGGIGPo+37SHnMN19ZcV70sNvEJNCxQweCS7dkynUUPAScODlxFtoazF1LXB9TMq0N2zidTeZOt0P/UPos8iNi7ADIBEYK/7imGIG6Sp9dGIZfRWy1eGmuAFm2fn3MLLlno1sB22jC3D5bjrm54hc= 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=S3wT9zAQ; arc=none smtp.client-ip=209.85.210.172 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="S3wT9zAQ" Received: by mail-pf1-f172.google.com with SMTP id d2e1a72fcca58-794e300e20dso4186175b3a.1 for ; Mon, 20 Oct 2025 02:56:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760954169; x=1761558969; 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=GWcuoCKPdDJm2TuKaUOD3wYJ8UpWoogH56aNLChKmO0=; b=S3wT9zAQMi+TAUyMRr45kSakshbo0S2nqiXYEkUtq1KjmT6WXk8XUnrHqVWlRUs/Uj +BHJgwQ/S1+vEWbR5u8vtk3G8DgNghYEGGILbWUDC9TQMubqG+1RDQi3WZ/bZc0S7PCb 8yPqztyHAqox7xIo/khHwqso6gW1/+jASXVgOUUUGj4aLZrn0/YOEL/cPnSp2vgNHQc1 q53xYqsCICTMkA3VRfPhXkXQF7cXBjYVsnj3NIawaUQWPgb7QpnPoPg+4LxPlmkfGymW 9J6NVGTNPqY8xb8avkOU3a408lMV2lof5twtPuEXJaAJ7MpPuHmgnkuXwsdFyBYoqC2p ZxBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760954169; x=1761558969; 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=GWcuoCKPdDJm2TuKaUOD3wYJ8UpWoogH56aNLChKmO0=; b=XBLzu394A2n1vSx/M8I9vFnSlXvpkmuTerxqk/pwhboMKMp6116hUF0lruY/8zooXx WCKFbzjX/KE5MzqDbhrXyjbz1BrQGHPY4FWXw6JER/3jqQVPciJJlnYghdC4kviiICq4 lO5/jdvH+lQMvIJ0LtzxOlFobUVP1QDYgoZoN+gvCM3jvhhZ0A2KiKZ3kW7he0rYGAZz 8hG++R71xiAOUCifZilf92mhdt8T1Yz31ytamD7DMUatqI19h/IhODmsCxxQBnhvn5IR kylhI7SJUI2Ot7kTU9MukJ3nncJQ7sgT/UwHyU37NpiY8Aw8WFYj5WgdFauOI6u9Tv5P LvDA== X-Forwarded-Encrypted: i=1; AJvYcCUk05VlpbLgdhxVdqC761iJl23VcdiMYVaeM9skkHTjKrXQ8h4qW38B6P4lC/SzNAisOfYQwwHD+gZIFRg=@vger.kernel.org X-Gm-Message-State: AOJu0YzAjq7+efRgSN3aEsmdH06BaUPs7sRYGOZrP4yM7bgWpsKVFuIT A1NXa9HCk0QNO5trR516HGsOtrdK6HTvcXFywJu3UtxRx00h3eqRnNB8 X-Gm-Gg: ASbGncshGUNUYrVl6qC8QNq99tc6V7N+AuG/slmHjhNEY8ZiJaEKiDj7zWYRf13qSAQ IjmQVYWN7wtXQ5c2vAly4XzgJb476BguCfgmB+wb8ETpq7bhp+AbGPHBIRL/zA3MQkoCWfZ9xNf MdnR9pH+skE80+yaD43cxjh/6+S+uwy8UUIDvmrkouP82L5IMBoMNTXJwdeardZKGyDBwYdksaN pLN69xwDd3bF12jgeD3McXXTWla6Quz0hvfqAiZh+6lmdBUQSSHF4vA3WQJNPlmHq89pqmGmLk3 9uinIXgzjRQdgDtlPmjIbsqj7j0Evm5BH7P2yxNOAojGqKdUUE50/PvnPHrxq85G1qvR+yyaF0Z wsC6xiRbDcamlT45gu7x3KxwaxVxuKVDrrEQLrUogliUXi7o1dEezjo0Zfu0glFj2dXOGYcaU/K w= X-Google-Smtp-Source: AGHT+IGIQ+fpkFQuGh96PYvhkgcTsp4EgXDaVgp46X6ZalhlUpsQFY6hZLjZrBA81Ys4H3/NGCVNzA== X-Received: by 2002:a05:6a21:3382:b0:2ca:f345:5673 with SMTP id adf61e73a8af0-334a7a4b585mr15454180637.27.1760954169223; Mon, 20 Oct 2025 02:56:09 -0700 (PDT) Received: from localhost ([2001:19f0:ac00:4eb8:5400:5ff:fe30:7df3]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7a2300f254esm7819782b3a.45.2025.10.20.02.56.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Oct 2025 02:56:08 -0700 (PDT) From: Inochi Amaoto To: 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)" , Han Gao , Icenowy Zheng , Vivian Wang , Yao Zi 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 Subject: [PATCH v2 1/3] dt-bindings: net: sophgo,sg2044-dwmac: add phy mode restriction Date: Mon, 20 Oct 2025 17:54:57 +0800 Message-ID: <20251020095500.1330057-2-inochiama@gmail.com> X-Mailer: git-send-email 2.51.1.dirty In-Reply-To: <20251020095500.1330057-1-inochiama@gmail.com> References: <20251020095500.1330057-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. Signed-off-by: Inochi Amaoto --- .../bindings/net/sophgo,sg2044-dwmac.yaml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Documentation/devicetree/bindings/net/sophgo,sg2044-dwmac.yaml= b/Documentation/devicetree/bindings/net/sophgo,sg2044-dwmac.yaml index ce21979a2d9a..0f1523dc0e36 100644 --- a/Documentation/devicetree/bindings/net/sophgo,sg2044-dwmac.yaml +++ b/Documentation/devicetree/bindings/net/sophgo,sg2044-dwmac.yaml @@ -52,6 +52,13 @@ properties: interrupt-names: maxItems: 1 + phy-mode: + enum: + - rgmii + - rgmii-rxid + - rgmii-txid + - rgmii-id + resets: maxItems: 1 @@ -70,6 +77,16 @@ required: allOf: - $ref: snps,dwmac.yaml# + - if: + properties: + compatible: + contains: + const: sophgo,sg2042-dwmac + then: + phy-mode: + enum: + - rgmii-txid + - rgmii-id unevaluatedProperties: false -- 2.51.1.dirty From nobody Sun Feb 8 12:14:50 2026 Received: from mail-pj1-f41.google.com (mail-pj1-f41.google.com [209.85.216.41]) (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 6246D2F60B5 for ; Mon, 20 Oct 2025 09:56:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760954175; cv=none; b=KIdoQ1Kta4fvxdeXXq1JxlJj7rJt2Gylr8sErMAHJ5u8rJNKhI6aE9ZpfEXf9vOm0pkd97YNph4uYuHcJuX0elUPWB6hQRyMcuGFsYUFUBJhlocFM9NqtVnu5Iz8UbULSP3vvbdd5dIXqfMJaYmusC1+7gU3jtidAjJmdgCP8EU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760954175; c=relaxed/simple; bh=v+f2Vjc0v4EBJIBoDldEnMcWRnSy9HeOrciMh+mTn64=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=XWQt+E6ubWfr+S0VNgAdevtxaUvABMaTw0DSeq1nrjCR7OKvwj+GW0Z1SW3i3OfiZJAkDb136O8jV9+EZseq5gZOMvHZ2KkPk4q5+X48Nw88gDjsIocm6l/J8wNDvoSgclxTSJp2jCHYqtFMvkFwb3pPt4GJ65wHsVGQg0QbOU8= 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=cgSeHrpA; arc=none smtp.client-ip=209.85.216.41 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="cgSeHrpA" Received: by mail-pj1-f41.google.com with SMTP id 98e67ed59e1d1-33255011eafso3875092a91.1 for ; Mon, 20 Oct 2025 02:56:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760954173; x=1761558973; 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=NAetlB1rfruY8L6GWaLiiP+AhNOGwi30zR6SQ1TQ+GY=; b=cgSeHrpAsiYn9LkIb6KoFVjKjiK33xxVMRArAoFOirEQPfDLUsrx7QSYA1B0jc4dUw 5rZFmSQj+G2j9Ma3LZqd+a9KbRYUg5FqIOpctqwDRooc2f+7xUlu4mGkBcFynScqk+vt xc1fYhgFOryIpeW6f/WEVJkkZgRMW+dMGaugAd3nnfc1EKafFPcKJLwuLjCgMKKnKNhy ydaTrFE2EhIAF5gmSuK8lCxrbrsZSWCGrSJpZ1DEPpDaQN2o7djEDhIbpSI8Zx02iRH8 8xNImkaJW8GECvSQb7m384IS9V8Jbe0mHM/EZ2afzf+wd5hp/NLSQEhkMzodljLYIaP5 UuYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760954173; x=1761558973; 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=NAetlB1rfruY8L6GWaLiiP+AhNOGwi30zR6SQ1TQ+GY=; b=dQKUUFrprzvKoZyhNB0dOOCaF8LT7Yt1O59Ftg96s2He+rPXyf3ttMoQEmv4Ngx9bD Ph08Am+W/s3dIumQZhzQQIVvG4uCAJpHTVFfQttw9xux9XON0Muqp6eMnfNpwUtrxokS 61SYjaLfuwlr9kx0rkgsX2OjoyhZux7rCbgxHb7hqC2oCHBJU5D8kqYg/B82kOnc1ybs I3P0JQVCo3TCkGrc55TlRqYYwxVgGQooENx9nW1TJJalqPgSfMy1ZCoYRwNlhPuVSDot 5VO4zHqn2dwhhDMpefjP7jStu2Eosku5LZrtA0fTGxYPtQFdBQuZyz1QunlQNOZ5mRYY ifyg== X-Forwarded-Encrypted: i=1; AJvYcCXLUbKYCdGqcfWgY07u39kle8OgEeKwiYIlpTwRyYZ3t8MAMcUTL5GgLNTH74XSYXnd/ggf2+iZ+dx6W08=@vger.kernel.org X-Gm-Message-State: AOJu0YxO0EJ3UsaRXXaK4jQKYeKeTrZ+kqvcvG8Wz+4OXWu1Fznd032f xD4MlEBD2ydv2tn6b0wdMwDFIywW8JPaD4HW5IB13ZdB1uCktmFCw6um X-Gm-Gg: ASbGncvRWht7Ho0myMSFz0igV6ZtbVhW6KrmNOzOSf/wh+eCDjsefYBTi5uvoHHKIDg ONbpYoOOODzQOY7nWaI5jw9WQ0E+DLtCnikLXv4Hrp+ijQF4omwdKHLfUIlmHVLvdfx1AdSvRHZ 8BeKzbRrXdGGBV4/AriqP6DPb74b9m3Y+B5DZCxYYk47qHX8m4ptqdlMK/4rlWraB6d/hYKf56k dhvL1slq6clUufOJjf/7BGEtVg1+L/sdlyvGSqND5GB5Nlbd4Xs3lJa9AOvFWU481QOgt7sCsTY wn3SdVcyoT3HWrFciii/P9mnZeYLlNM++5wd9gpir9gqbNm1JndTuZwTbRd7n/eULk8DBQQEaSC 8q3sOIq+KtqD+9cdvLi3ellW3m1Whfu0Ug4z7A2ObYBQ/ynYf60ckfGRW3gp8RNGBnhrBUIm1LU /fTFs/RVtWMw== X-Google-Smtp-Source: AGHT+IE7zVwzQMhb5BY4ayD1uNx5wi44qB2+5gan5ZQtQHTnM1ourkvH3ZfDn2OiMchcyVMlnamnPg== X-Received: by 2002:a17:90a:ec8b:b0:32b:6145:fa63 with SMTP id 98e67ed59e1d1-33bcf860229mr19877507a91.4.1760954172663; Mon, 20 Oct 2025 02:56:12 -0700 (PDT) Received: from localhost ([2001:19f0:ac00:4eb8:5400:5ff:fe30:7df3]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b6a76b33bf3sm7265996a12.19.2025.10.20.02.56.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Oct 2025 02:56:12 -0700 (PDT) From: Inochi Amaoto To: 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)" , Han Gao , Icenowy Zheng , Vivian Wang , Yao Zi 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 Subject: [PATCH v2 2/3] net: phy: Add helper for fixing RGMII PHY mode based on internal mac delay Date: Mon, 20 Oct 2025 17:54:58 +0800 Message-ID: <20251020095500.1330057-3-inochiama@gmail.com> X-Mailer: git-send-email 2.51.1.dirty In-Reply-To: <20251020095500.1330057-1-inochiama@gmail.com> References: <20251020095500.1330057-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. Signed-off-by: Inochi Amaoto --- 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); +/** + * 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; } +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); -- 2.51.1.dirty From nobody Sun Feb 8 12:14:50 2026 Received: from mail-pg1-f181.google.com (mail-pg1-f181.google.com [209.85.215.181]) (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 C24AD2F6585 for ; Mon, 20 Oct 2025 09:56:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760954178; cv=none; b=I0lf4Y2dtpa+xp4faC/I42fH8wP5UO5oVwM3UzA1jzHQQJzCAf4+bg1U+UWJsHH4g0YC9VIbSF6iY6RTih9XAZobHvh2VNNv+EYcJrsAdK92SU1GfMbgOz+cbm6txKaUWK0zGjfptaA6zU2mEhMwxL83kGACMVSBJsnpLw4RmqI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760954178; c=relaxed/simple; bh=+B7PvhGg1S0PvwspMXETMgLYp/UFFAeeaKBgvPZ6eIc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=h/TESXbpLIRIC6Q1x+2hRjIhQKCyrRdJDIVQ3OuXhGuHZbkLGb3IEYvzm76J+FYMXB1+TAE1+pkn9I81CTGrSELKyRBOpTVBfXCCxIKjYLNLRgtgxHfAcyvryM6C05ji/xkz7xG24/iu0i41s5W593LLFnCYw37u0RtLFMnMDbI= 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=NhBYNuRv; arc=none smtp.client-ip=209.85.215.181 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="NhBYNuRv" Received: by mail-pg1-f181.google.com with SMTP id 41be03b00d2f7-b6a0a7f3a47so3886034a12.1 for ; Mon, 20 Oct 2025 02:56:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760954176; x=1761558976; 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=dZEu6atp1wquusXB2V3FIm0pgDgjjEvvFZHTGTlW15k=; b=NhBYNuRvjS2ScG4xVzpvUN7roYkGgOJyYjn9l2+JK+bSiYA8jBntGhLkbY8RyAVHMJ /JdOQt7VPya+9s11SXSKrTTgciV8fw7D4rD55Ls4xJjLAkOED82JTbxO7W3nHmxOTcPS mzHyouOZ8yry5MfWANo4VFJr7mPbDwaSlkgL95vMKwgYMiYUdhCFrLiHB3+nslapxwr2 btSHwsocopNwObOH4r4/sU1Rglwovq+jlYiEVd7SgPPMODYAPr9l2OrzcvIxeo3a7Avt JyTxTjiyigW/4djIfiHMLpyP3Oi6WMhQ5F7MX+SN7dfuTkFiGTcbvlCyn86Xsr5mL4JM nryA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760954176; x=1761558976; 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=dZEu6atp1wquusXB2V3FIm0pgDgjjEvvFZHTGTlW15k=; b=AhXUeDLpMBGdgUju7UaDTzmhmBegteeZTD7mV+PtZZUqeAyA/AK71F7k6K0nnC/UCI laqkjp64iyV6dh8M3mqTBzWsw0Im+OCBUqZs8ixSg8lQy6WgpMjsg94vjho4g3vYdPwK ErUR8uSlcekDHsi7REvJTNsNtO8DSzetf7yc//EtXleXlyVv4pgjuVqRGZiYFVK/CQbO VTHRiRknJZzrvFoW3C068XCrOn8fCGFaB+RMGrY4Ol/RvZ3CAxZMdDlzFe9+h34dhTqB 4vXPIcHN/kzi7my0uHOJzkryl2RJJexXkRISEH1Py/lE0HHE2LdBFK7/Hjd3bh1CsQ/2 YBwg== X-Forwarded-Encrypted: i=1; AJvYcCVrP/pjeOz9sszzKFFhmdh4Pe93qF5Jnj2izkaqKXX8Trh9m/nD1njGX5I4myU/hyfn1MUw+nwThDo3w9w=@vger.kernel.org X-Gm-Message-State: AOJu0YyjoaGMkuOZE2Mrpmgu4ey3FI/uyUrVOOV/pgHfQj8pJdiAYbGQ DJ9s6DRfurmJRVC3c+jTk+qsxaHc3PVeRy7pz5POk6OpZj+GvqYH+1xE X-Gm-Gg: ASbGncsLjCFWJX9hLAzAD0CWqT8OaI3SVrPfEpjddQiO27eHpDRddLvuG7obS1zExnL 8YFR7Df+Tv/W5vsfVnpoSWyiYU/mzsHDjaASP4nxbQRYn3qpuQa9fEbQDKJ7k4M99oO6sDfKIfL xHZxgitnI6m+x3SXZZVytoEz+6yh3WWaxJmVT+PTjav49o18jOmVTlsK3U4BhA2tG+UsL3MrWxC R2lpdqvScwwSicRzFMLe2kOKvv7cgHABtWraScxX+ZEEEfQLOpljAKUgDNOeQGIsHrxtDAKO9TT vPBuiybn7TOh34SE53Vg/BiSGHntLyRGeXb3auhBjoSE6tAi3/QcXoVeN1R0WDnI2d9YWAeJ4mz q1fz4FxiycoG3vMVkFNMjCRsSkmyi1GMzNH5e1UvmJlhEnbo5mtYRbiFNeqlHbgjEq109UMFeWk k= X-Google-Smtp-Source: AGHT+IGGbVMAvLRNPJzY/dwiHRiAXKBM0roNWAjS8uuWlxmmRK+1VU9M3wcXUApOTf5kLg4NLvhkzA== X-Received: by 2002:a17:902:eccb:b0:28e:80d7:662d with SMTP id d9443c01a7336-290cbb483demr161050105ad.58.1760954175971; Mon, 20 Oct 2025 02:56:15 -0700 (PDT) Received: from localhost ([2001:19f0:ac00:4eb8:5400:5ff:fe30:7df3]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-292471d5794sm74880555ad.53.2025.10.20.02.56.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Oct 2025 02:56:15 -0700 (PDT) From: Inochi Amaoto To: 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)" , Han Gao , Icenowy Zheng , Vivian Wang , Yao Zi 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 Subject: [PATCH v2 3/3] net: stmmac: dwmac-sophgo: Add phy interface filter Date: Mon, 20 Oct 2025 17:54:59 +0800 Message-ID: <20251020095500.1330057-4-inochiama@gmail.com> X-Mailer: git-send-email 2.51.1.dirty In-Reply-To: <20251020095500.1330057-1-inochiama@gmail.com> References: <20251020095500.1330057-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 remove when init 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 --- .../net/ethernet/stmicro/stmmac/dwmac-sophgo.c | 17 ++++++++++++++++- 1 file changed, 16 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..960357d6e282 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sophgo.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sophgo.c @@ -7,11 +7,16 @@ #include #include +#include #include #include #include "stmmac_platform.h" +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,20 @@ static int sophgo_dwmac_probe(struct platform_device *p= dev) if (ret) return ret; + 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); + return stmmac_dvr_probe(dev, plat_dat, &stmmac_res); } +static 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 */ } }; -- 2.51.1.dirty