From nobody Fri Dec 19 18:56:24 2025 Received: from mail-pf1-f169.google.com (mail-pf1-f169.google.com [209.85.210.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 E7B94322C7D for ; Fri, 7 Nov 2025 11:17:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762514262; cv=none; b=pqajmeFVxS67fknIIdXLAG0Jqz+CogzPSCH3q/FOf5xZCm86nUkVN9ho/dVAexdQAVYve7Ud2T/gxOTcj6SYkCsdQ++7S/rLxo+W0IPSUZ9M7ZE1OkT3wAf+7MHwcIvJsPV7X1TcWzRgQoJ6F2uwzGFpfhWwUK6WLnibh1pqpCw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762514262; c=relaxed/simple; bh=/s3k3gaQa5vELRzkRL0kZbmW5//OLC8cCCrARdlhhI8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=gSmV5oDNbUGO7dzmWkAXpByKOGiazFeNWlLWJVRb/cqxcN2Zj9stYzNaAHoaHYz1MUZ0BSJetXjST/OQLX62M9xULEAHD+M+9mfQURFjzZCRoYdtwSoGtLlqv7aAoy69jrwrU5rVgAkaoz+uFdUHHIxnU6YlrR159mTvGQ76Y0s= 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=ezilsY/Q; arc=none smtp.client-ip=209.85.210.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="ezilsY/Q" Received: by mail-pf1-f169.google.com with SMTP id d2e1a72fcca58-781ea2cee3fso538614b3a.0 for ; Fri, 07 Nov 2025 03:17:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762514260; x=1763119060; 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=ezilsY/Qa3PiFl6X9LeVDH2A0a7gKBHbBqWs2cwo/aJ+cgr7wRiPQepenViWVBUEtk vjkmftqgYAgCuaY+EkhaBZ5ecBkbcrcQwq7hkCk7xkn+z2drBCXw5GQHEjCD6pmxxrvV zTdjM2Ybf6m2LxwalUHXdcvg0TPxSzlg8bi7LKDqxWqGpI4DvHHqWGcceRHwGzBIdcJo IMxwfFfhHQOJUnL8iVy3WLCsFafVTECyXxjUCrP2q0YXWP/kPd0HAB84lX9erwsXXj1U RJaUyDpl0E38VlrbWuhhlFzJxOBjoU+AzrN16J/AVf12tLi5Gr0BhH6QYRIbdtK/OXPx D7fg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762514260; x=1763119060; 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=+DZ/Hzt/Z4dyeSpA3JZAv4iA86Nxbb9HIqSS2XvFzQ8=; b=mPQ4oWXK1Kfu9UHZYm9AC/T1LyipRCQGDUNkKbJdp6u3OEIf4BEV/H2ofCJ8wH4EHc pheDpEeJEp9oVATnmEOzqECUGy+3t6IE8dJs+HFn4jsX8RmUYLMgKvees4eqIpvmWehy 3wRO7HX+xxU7V+6AXld+YMR4JCQxpcKFjQG/pE0z8vNs6h6NLQ6nWUAlc7mTV+5KH/IC RHIJvU+R9OCr580uUOiA/eKM0wOVhG6GEFBPk2+UiwGXqgutG4/CxCrxNE7oiXYLu5HH gZrAovyVgzr14JbutIuwZ5mDnwj5TGgskuy7O0BLK8EP5j/pIy4ijWhrON7zzdr299sH Lddw== X-Forwarded-Encrypted: i=1; AJvYcCWkyADLXL/X15NqqgAlil48XZpiZw/NNGbR6OZpNIggNNUU4JadcHi1m3Nd8AMUiZhF8CW8q1F+lOfG1lk=@vger.kernel.org X-Gm-Message-State: AOJu0YybMOwYSgOSQxyFegS6kz08ElZXkcihekMh8WHeCv74D94jQG3m vKKzBEVKkgjpwgwoLdZXGV1ZyWSD71HUITK/3HjY/YSUJHwrBM3mGrJU X-Gm-Gg: ASbGncuqofKNEykr7XXSajBiCeuCtv7UdaadHuO0OuurZysKyoN3vDG/r74thYXWf4P b6KVjHP0lzmxujzVF9Rqt1jxtdDPkJaEd1udS/OKTWdCi07wFkXYZNBFEXitFNLdV1BYB5EV8Pz dcMJ3tawqwr3wDwcLTtLL5KXq1q8F2Y/WLWmK87iNVqY4Gk46VTmuU0LeiWmtLXSl1t2eq2G1Wo gciXvCpdQWuASCl2wCm/1EAVuHxVXOYGlaMDH+okX3oVLTn2CgEwmuzaXP2OUYVIcod78x9mouT dDgNcHKzfCV1St6tiRJ8WPab1eEelJK9CA6g1+X2SIsNkd8NxJXFk4nynsto0CoTpskPwRwmT82 R68I9lupBdseZrHvin7jJKsRAuTakPNTUPfNNYA2Ah+UCsHmmWVDEqbw1pyeDSNNOewzoTib7JI c= X-Google-Smtp-Source: AGHT+IHjf5f+YuLvxkmcrd3cJvkmjsyY1yheeW5iHSKdbzLJ/p2M1xTgPY5ean6VA+ewJk0yolgl8w== X-Received: by 2002:a17:902:ec90:b0:24b:1625:5fa5 with SMTP id d9443c01a7336-297c03b66b9mr44655785ad.11.1762514260220; Fri, 07 Nov 2025 03:17:40 -0800 (PST) Received: from localhost ([2001:19f0:ac00:4eb8:5400:5ff:fe30:7df3]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-ba8ffe3616fsm5131381a12.19.2025.11.07.03.17.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 07 Nov 2025 03:17: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 , Conor Dooley Subject: [PATCH v7 1/3] dt-bindings: net: sophgo,sg2044-dwmac: add phy mode restriction Date: Fri, 7 Nov 2025 19:17:13 +0800 Message-ID: <20251107111715.3196746-2-inochiama@gmail.com> X-Mailer: git-send-email 2.51.2 In-Reply-To: <20251107111715.3196746-1-inochiama@gmail.com> References: <20251107111715.3196746-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 Fri Dec 19 18:56:24 2025 Received: from mail-pg1-f174.google.com (mail-pg1-f174.google.com [209.85.215.174]) (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 81C163254AA for ; Fri, 7 Nov 2025 11:17:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762514267; cv=none; b=tus1mJE5d0Fs5tHZnEH0QlaVUFxrD1hCkMa7yPc5DKV2Ukj+Mt1s3rncawtf8UINFtBGIdSaG7ytpGcZ16cuduQ7ecVPb+83s/BXRXz+ueq/Ah5dKEqCN2G00BLdvq0xF6hmJVBrZlPSn9I4efV0PFWwu5qwey9uR/YLACcHStU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762514267; c=relaxed/simple; bh=km+Q85CbXoWksNaZ7smPrMgV3IhcwRncYPUgD1dodvM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=gVCRu8Z33oKvke4lasfH044PoPXoI7fgw2Z/MF4cnSGWsrU19KZiUqAlcfLdTqEFuw+lQuu1uhOOrkV2aZySgmYWMgo6rbgevdgeQy4/EfnuwhK6EMbHSVHwtT8EWcMk7FXcsvbFv9ImxoPDU3JdNyU1uOkRQZ1ZIq6nbf6TdrM= 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=OBEc5ieD; arc=none smtp.client-ip=209.85.215.174 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="OBEc5ieD" Received: by mail-pg1-f174.google.com with SMTP id 41be03b00d2f7-ba488b064cbso448564a12.1 for ; Fri, 07 Nov 2025 03:17:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762514264; x=1763119064; 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=OBEc5ieDK0iYhyYel57RUAvFd1VF/1+Bgf/e3Ly5KuI0Sm4RJB2Ys+EFeYoa7rj8K1 0PTBpZe8g59t3RY4ScS6Y73B/VN/u65xMmOslSwfpupiwjXNnlzEGjF84kGQI1n5Z0iM W22elwXAbzgdxZqj10mdhri1l14yPZYsdlVIGypBPXplTKkN1Y1+eRDXkunZL39dt+dO CSYh4h7EUgdaH7D5Z2b22PwnRLKJkLWzSyaj35kZycfaG8HHrDCvXHpM+LHHENUT8UYd RDmBudfWsaKY/CdwT4q0yt95KyYLh6OxrsbrekGUjXe/Xq5UIrT0lg3q25r8XaTyF+WL m09A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762514264; x=1763119064; 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=jD+CHa1EDzjLV5S6jW0w6HxqyNy8/qKH3WUXUsoRWJhrj1ldf4Zy2FaA3NNV1NbKPa pY7eq1l8bKoh3bXrfQrBPxy4d5PQCVH6FDZAMWdnvu0Dp40TvkpPML+4h7zsMvxENG4w bXZ1bOonbGh1YC2l54EA9X+4O8xiPq/+SdpHy3lXoBQg6pmEkLOBM9jyloaENt53rt4H yjdrPcRTljrO8suLjxHPmUylNWk65xlS4qVjKCGsZNt+q9k/gpHscBAbi/7P7AyYJ9m6 sAIqSFuwP7B1TgZBskMnMrvs1fmNl2Se9ycU+MHUTKeDT/w+AWDbupDtvMVfFzDqmJAt 8hpQ== X-Forwarded-Encrypted: i=1; AJvYcCUq2es7Xygf95BUwhlUrBbjoB9cUKuIXg3h98XOv694yIKfSAbunruFBdyrVJaQI4iMXM5OW5bbbPUiyzY=@vger.kernel.org X-Gm-Message-State: AOJu0YxQo8hkWodsatvGmTQavzhF31jJeSoUheuSfe6dxFhsoejgeM3H xX3RxkhwEJHoKLi83Uqu0Ipw9WKhb/Re77lYXW+OwLITF5EooBLgznMt X-Gm-Gg: ASbGnct3CLbMOFEmbppQNdI5ZOGRgN5pWcCZPMGfB22jXfj2kLq5nUyg9PVAJQ2q0B3 ttrSELzfSVCDERcOO0G6lE1uXpxQyR9lgeIzpocbbi4MRz5PNrRA1+vaD9EeI8JNHmOPuDRxL7i lK+El9Hwl5H0A5xLc/s+wbSP34tRdn2j1RRjhLizyZeLqlZ71A4w6GG+uCoq7rOjstntEygwSax sGSZSsf1BY7ROPW4CUftBp338DsHLMnrPAer4VrbMzMxatPOSQ4SBRp9EjagOBMZpXoXUJ5+OAf Q6+ndSOF5+zb0+NRagBWpfrsF1Ikw0v24bHfA7pcz9En5fFQbt3WuyeF5VrZEnSM+teSTH8lpg0 Yepk3hO3JrGG7cRn/8SAIjj9RSt+F3oI6EBaVCNZEw6gIEZ2Ul+FRsk4fCJ2WtMjdn6BEG0TT0p Q= X-Google-Smtp-Source: AGHT+IGmhW4l2QYXug4vN9BCUJXlqsiwbMW15g9DF995bQ1tw6dyuhIw+sFYeLzZjXJTBAXyKbUeTA== X-Received: by 2002:a17:903:1aee:b0:295:9db1:ff2b with SMTP id d9443c01a7336-297c048e371mr36463155ad.57.1762514263694; Fri, 07 Nov 2025 03:17:43 -0800 (PST) Received: from localhost ([2001:19f0:ac00:4eb8:5400:5ff:fe30:7df3]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-297d766efe6sm5186215ad.49.2025.11.07.03.17.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 07 Nov 2025 03:17:43 -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 v7 2/3] net: phy: Add helper for fixing RGMII PHY mode based on internal mac delay Date: Fri, 7 Nov 2025 19:17:14 +0800 Message-ID: <20251107111715.3196746-3-inochiama@gmail.com> X-Mailer: git-send-email 2.51.2 In-Reply-To: <20251107111715.3196746-1-inochiama@gmail.com> References: <20251107111715.3196746-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..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:56:24 2025 Received: from mail-pl1-f176.google.com (mail-pl1-f176.google.com [209.85.214.176]) (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 AC91B325720 for ; Fri, 7 Nov 2025 11:17:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.176 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762514270; cv=none; b=LGKudKcB+mci2/2zwNTR5ClO2JqJbFGwAPphSf828CHfBTMqKP5qKkhPZdDp2b/n6dnN0dDIYYvl12Ik9UjwNzlnuluM3PvyLzOBF+r7LeM+kKqvb7zTwaMfVgNKa/uH7k0mMtt/BYFI3lQ6So999u7/lrRvhgO8MP+U2ogsH+I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762514270; c=relaxed/simple; bh=rxp/NrNnXrKf8e0GBNNTRnLO6fRnsXQEhl3HcuPYlQ0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Q4EVQpuiGdC/VFNnzebrdp/sMneq6F5BcxB/tUNTayaIsxcUAKsxh5uudquXmZHelmZBS1fqBuKu8KpKCE7HOH1gXYdKUBXFZ8eYT3wT+zNUHTAFu48GA6ZRe6CuWLwSC5h9pjGCUMBXDQB0j0DN31IXS5V2TagmGLV7jn2nHbA= 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=efBVLnS6; arc=none smtp.client-ip=209.85.214.176 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="efBVLnS6" Received: by mail-pl1-f176.google.com with SMTP id d9443c01a7336-294fb21b068so7603325ad.1 for ; Fri, 07 Nov 2025 03:17:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762514268; x=1763119068; 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=efBVLnS6SwbR+yWZnzHbX4fAk5sX0yw9rH7JB41ZLG5iKJIf1m9SyRWyehl3fhkUlh ZOhRo0z+ISXl0aAfHQXlkpcINoc+Be6vEhTsMoG7S5wC1tjfAlSbOOKw4VibmVT1hmsq F7Tjd4oY9fY/YbMNx7ZPbsaWh/beFjaWbyz04ljl0nmu9C2uJmTsWMwd02pnOqjiISpU KWxCVPWXmFpcS7EC1pkOWeomWVkr7yOQXOky9PoCXjR9Vc+Elzrxyq5MRQ23sA75Df2B 0WtFUmMd+JNDDEL8Ds0A3G5F+bVHVbfphvP5GMDeuTEtIRjJAe1y++Zmbl7eAMS/Xf/x FaxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762514268; x=1763119068; 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=E2oJ5sEO4AmVrr+Mz4G/lpqKtibVqKGel3kS8M1Tt2XbXTcoMA8uMBW42b//Z63U2/ ag129BEJv8bL0u7OTeo2S749zQl9ZGvVxoViOKX/q2LOwqYQph+eC690Y6rspOhOfbUN ILPCOkpheM+khkQBEMT8QRwTPC6cLUIycA5F3TtfbL/yxVBrxwrI62vBX7X8Zp6xpKge rU3VvBbyYLDTlhn6pIwvUHBeu/8C/e69yvaHB2D7t6g/REvKt+K4nC93L8Xbzm2mZVal eZpBHuJGROJAPnA/3dLUd9ceuocU5KBXEq0Af5tTObhp4nu6FaiLo28WRKDMc8IjIlSt aV3Q== X-Forwarded-Encrypted: i=1; AJvYcCWmancuc3ur/U9hXrhORFjur3cgRPuF4HJO8oW3G6EHGm22jOdufR+/AAPQndAKVCIdXoG0qtMFSKeBQYc=@vger.kernel.org X-Gm-Message-State: AOJu0YzJqcr5tVHlDAocidqIk9EQO0MSO6RW/6vwDwvI79zcMoSjtAej tYPjQWZ0q5eaVnl6yB05hZUkKusSdlmLloFvTfc81PeivQ+2cFS+cDz3 X-Gm-Gg: ASbGncte81Oje+igj+dKiEXr/xtxqX4rSESS+IznapwR8eBB3ArOn5XUU8GlIVfhYIH DEYkAsHMD8gDXbk/ocb1K5FCq+jws1L7RsygfZDqPHgFpK+F1vueXH4gF0blrysawKNAuqtvwbB RoOR3gNavuna6X8qBPh3ssx9L3V7Mslky038cJk8NlkODG3HNiSSwJcrLuBGPUrf8FMhQu57GvD P1AOj2YuaPkmUChH6tmssaxZJLB5QkUhYRxXR0u3+E6C496VZarWhyVabpt4YGGNHvWCn3PPDVK N0VZilUM/rkqKnOElT4zuZOZT6Q6D8GWcizMsiaMGSAxzG6krLg6HE8198QAnkus9oOsxKmHpP8 dgIOMwe4z1wfDh/282kMoEeaeU/41BmrDi55Z0Yd0kV1lYZ2gZafCQfiYGX0TO/vzYKCr2siksL 4= X-Google-Smtp-Source: AGHT+IH5sLTuwaNwygjS88Dd4DuKT5eyLF2e0aAe27R6LJvuFCPtCu+tqMNQVj8foqUaUxe+5POBzg== X-Received: by 2002:a17:902:f544:b0:295:9e4e:4092 with SMTP id d9443c01a7336-297c0485f18mr38236515ad.56.1762514267918; Fri, 07 Nov 2025 03:17:47 -0800 (PST) Received: from localhost ([2001:19f0:ac00:4eb8:5400:5ff:fe30:7df3]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2965096825esm58574245ad.3.2025.11.07.03.17.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 07 Nov 2025 03:17:47 -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 v7 3/3] net: stmmac: dwmac-sophgo: Add phy interface filter Date: Fri, 7 Nov 2025 19:17:15 +0800 Message-ID: <20251107111715.3196746-4-inochiama@gmail.com> X-Mailer: git-send-email 2.51.2 In-Reply-To: <20251107111715.3196746-1-inochiama@gmail.com> References: <20251107111715.3196746-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