From nobody Fri Sep 25 20:48:29 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4DBFE53447E for ; Tue, 8 Sep 2026 14:58:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788879497; cv=none; b=Yt4uyxfyOxboMSq09/PIZflad45cssMfinE3cjA0vwmDy+jMeaa4BazXjDHd+F65nJkmPclrVDnkiyv703a/54F5Tf8lYnvnvUur2cviv+a0PrIId09sEwmlBB7leyGh8Qm1OONv1oXMIPCXLmR0U8e2NrTn/JrEfVk1cpiPRSY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788879497; c=relaxed/simple; bh=jjMtp5SqAas4zIIzp6l5IEc/YbwGv5zChtMnC787rmU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=T+CGXVDK6xlxB9Xj/0FEcOrQ40HpwSaR0txsZpbbI4ECB9IFkDHmfSTa0qH8BMBv6p2/U9vXv6G5z7hkA8rdAQvua8bLRYJbl89eBYOHwwEyoD4KobpsXPdC4kMjemg5zbZY53dtXYbAAl5tOBkugxbcNZI4jZ65tt5AgebnWUk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=kTCIk8j3; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=YP4Sb+Ld; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="kTCIk8j3"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="YP4Sb+Ld" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 688EjBg63835519 for ; Tue, 8 Sep 2026 14:57:59 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 1B1oa6NldI29ome8JkAuhcCrVCMdRvD2y8volZucecU=; b=kTCIk8j3aHSmnyqY 9b9gAQZQARWVR3bSRn/kfttx9qeVk826CqCyiJd6aRp1CZxK//jlGlUhPXPPIy2A aaiiqRq/66s/ABM+d/LJjRY5eyqbmvwns0JFx6u0RUhMxE45AFN06bhLhWzxo22M mVLWczys72gHIPS793OZ+o4ATDbtATe+mSW1aB5GcgP5QZ/QGXumCoLMAKcFau2F 2kf/ks5UlsmIbBiISLBy33wz8b80JHwLe9FtVYGxTshU9RX2DuSqaapuTmFcn2hf PYKZLnfB54w6+Z3ljGEg+wx0pThcjPftNaGb7B+emkgfjsIl3ToB5sYGMZowR8BU oL66XA== Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gjfp49ca2-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 08 Sep 2026 14:57:59 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-93915f50a5cso1122313585a.1 for ; Tue, 08 Sep 2026 07:57:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1788879479; x=1789484279; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=1B1oa6NldI29ome8JkAuhcCrVCMdRvD2y8volZucecU=; b=YP4Sb+LdFUXo6gzKB1Wg+l6/u13ncd0fSaakuFS/uM1DMDnpRpGaw/lU5zzrIJ5RlZ S46dePPNJCxgDDC7BIWCCN9M/gCbtD7P5tcgCw5XVGEXdMFyzR23JUiA3FaFG4ctUJ0w LBaFbogFfa+8gAheXCkLmnczs6M2A28ir/VlQ2gLpa3EeGteS2kM31YQGYQSRTQ4ofcc oEKLtLIClYCNHQM7okhZ2mOTczuWhY/SsxjQAmd3wk31NfIZSV/KZjAAg8wgXh8Ujgv1 q18EZa9Z3RhLpzO7DMLTzzijY0HX4Lmp7G+Cx5XDh+h0F62ssus3RT39Pgve3aRJ12Bs enlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788879479; x=1789484279; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=1B1oa6NldI29ome8JkAuhcCrVCMdRvD2y8volZucecU=; b=PzQKb/LkuimhVJD26Kw6BvE4Vb/uBK69+p93phGuFqT5QUxMp7OD5IoEhFHKSqpTpg prHd5nONpUAKEgMkT0K5ylhKpFogV3b/C1K1Kur6uPirMAeb+2vZWfgy+C06y+CVLtmv b7LQYn8zpIChVUaCwH58lAXDefZCuur4EHYrRqlf3KG/K6qucWNF3G2OJ0dpqyjH0LQD uqhzPHQOh3ilnq+Ynu8DRPXfpYUjXvIYKTUJT2XmwjUxjwIHysQbt/NIRpaL57zrKil2 RpJivpP56pP5Vs292eaIL138k062IHjxl+5bURyrbuYycD1s/b+uacn+PpT4/fqn7bMS RUgA== X-Forwarded-Encrypted: i=1; AKwUvByaAtWJCc3cETNacKp3c1ru/h3d9sEXos/Qy9BPucqI+UShKM2UY0tucGcebnayNp0iC/61oZkGyz7FAIA=@vger.kernel.org X-Gm-Message-State: AFuF++ndABVVVdTGBlHDJIHo1OlSd8nw7HtNBGI3X55n96b2M+TfnPvI ZSqvawReDRCSiXxyPVTElr2XhpxwUSGsJyNbQzQelWskB62OZKKD0UJN3aAa3YWbHStrfbI6e73 JC6bHWUNPcJQPgJ/Gpc1FQzAafVe7zE9FJ3GQWvQNinJshpthn02PZloUxu52SFXzitzuX9hPRN Q= X-Gm-Gg: AYBFou3/SccUMfle4LPoEjGy4ARwFCZd2vP8Z+TVWCvzWc8fG1kWDAHw5IioDbMI/lr 0o/RlabunubknMBjcp7U5NqHREbr4cim1oyu3mhVzMW8SUr4i8CgntnmT/GEuRtGKOv2fIoPyZd 6dDSbW6lv+KBUlT+mX8UGbITov4rWppzkDUDUra0k8QRtY/wh4CUJhICqhIojWv8v8C6YnwiwOQ ClU3zKuT0qI3hi3cd1yghOyK6nHwlnXuX7KyyihPXZ5J2PTgeP65yZNgBpGW1bFCGpfqprafcI2 bASPwqoLAtzQqb2mhN30d3Lj8I2rqxSt1nbLhTIEB/zQSU+qEKMPaSuY6HnSN84GX9T/0kWiDl3 VzUdssVaZcqwUacLdXTAJMkRKP82V X-Received: by 2002:a05:620a:1a20:b0:939:72cb:baee with SMTP id af79cd13be357-93972cbbc65mr2826563485a.37.1788879478613; Tue, 08 Sep 2026 07:57:58 -0700 (PDT) X-Received: by 2002:a05:620a:1a20:b0:939:72cb:baee with SMTP id af79cd13be357-93972cbbc65mr2826558885a.37.1788879478118; Tue, 08 Sep 2026 07:57:58 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:79a2:f118:df09:fe51]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485958f1493sm25191276f8f.37.2026.09.08.07.57.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Sep 2026 07:57:57 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Sep 2026 16:57:20 +0200 Subject: [PATCH net-next v14 01/10] net: phy: aquantia: fix system interface type not updated in forced mode Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260908-qcom-sa8255p-emac-v14-1-ec212b747a7d@oss.qualcomm.com> References: <20260908-qcom-sa8255p-emac-v14-0-ec212b747a7d@oss.qualcomm.com> In-Reply-To: <20260908-qcom-sa8255p-emac-v14-0-ec212b747a7d@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Maxime Coquelin , Alexandre Torgue , Vinod Koul , Giuseppe Cavallaro , Chen-Yu Tsai , Jernej Skrabec , Neil Armstrong , Kevin Hilman , Jerome Brunet , Shawn Guo , Fabio Estevam , Jan Petrous , s32@nxp.com, Mohd Ayaan Anwar , Romain Gantois , Geert Uytterhoeven , Magnus Damm , Maxime Ripard , Christophe Roullier , Bartosz Golaszewski , Radu Rendec Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, Drew Fustini , linux-sunxi@lists.linux.dev, linux-amlogic@lists.infradead.org, linux-mips@vger.kernel.org, imx@lists.linux.dev, linux-renesas-soc@vger.kernel.org, linux-rockchip@lists.infradead.org, sophgo@lists.linux.dev, linux-riscv@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski , stable@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1751; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=jjMtp5SqAas4zIIzp6l5IEc/YbwGv5zChtMnC787rmU=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqoCJmPqi3DXcwZqfQ9RcuBKffaeQOMu23z59wG LbX6KLmIzSJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaqAiZgAKCRAFnS7L/zaE w1eOD/920zuLA7hi4Qy2IBRHuh66/6fGvU4CJZXZ8ZD4vI93p4NDs9EDRQ2eK5JZND/M39YL/eh 52J1KMNflNj2rwdO9wtNiwHM8YO6NzJZZlpUa7Ak0jx20M07KgXAKYNawKRHhswKAmt3gb8Sv0U 7R2lyCi5bWTavJEKJLgNvmjrfEnQWTW86v2Qe12MS6XLkR0c7km8NpFwNMTRxMnxHTDgYNFwP2/ lznNBSoSePeij/ML6f9oklu10rRg9FOzx+41xkEE2odLqbSjDCVGlgIOBX0oJQo+RXjakYifphY sGn+nbC+Y0cJXEFw+YPWaN4TO8N7EZjKgatj0E/AX5y5S0CGtri1J31C8NxIAlYMjV1buvk+m49 qfUC1djmfabNtSorBXWHn6eIotETAu7110pwW1SXS8sJEZqYSaM+UHB6N+CEshJFHnSrEVXaT/2 x3/y1w97VKXb0+Uev2Wg+1Y7ZmG8lYpdBpbSo4D/ZwbxN92vpw2leV1EfoEopMdH5pVNVUEWzby 50E9cOb6Xut9TWCp47vnDqWbHrGxpYV+SIhgiE8LQjji3khnrOkZ8Ew8fUysP7pgCSfo9+8xS5d APT5j7JXhq/tpsKe9Ow2mrNTveRI7gaS19Aug2BWjajK9kK4xY3fNdUsZfMg4w1pP1+U86iGb2u Hwcchsr19M05kMA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=Qu9uG1yd c=1 sm=1 tr=0 ts=6aa02277 cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=mooR1oPkU_hlknJbmfEA:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 X-Proofpoint-ORIG-GUID: 96y3mGko_a065wQs5WQUVuOVtvcysR2Z X-Proofpoint-GUID: 96y3mGko_a065wQs5WQUVuOVtvcysR2Z X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTA4MDE2MSBTYWx0ZWRfX3oCIRXpPM3bR Ll/uLYhDN800KAZYvF+UYuNbJlcUEaiXl3tRniBRmxyXrW+DSRZCgsERFk1hxYBbV2zNAp75jZA W/uIMSt5u+SQZYqrONqI++twL0WTNyYlssrNoI3f7Z7EvTv3vvzXTmrB1fRo0GtL3CEwNBddbHz AUoA9V1zIJhM622NwiRA+AdlS5FDg2BqGIPfBUz/+eefVbMqtsHIF3mzW14mzcSvjsOal4IXrMp hdI0zxnSylMo5w0YD3Aj51MgHaaxJXxaDJUNlVKlrHvsJOjuLYbiBEYhaiZ4/8YTpGLF32scbgW mxRx8iRO/PeEAy73TPGrZTmdnO34AaGGhWeAnCJAUF6AN0LY+aT/8nL/yi1I2TV7h6idi546wXe EsLPu9LffPBYCHDok2FkMiyh2dvsswJNlkMBtHT5vx5GDBC0+2ZeleKgpdAiyETsJuOq9xi97z0 CyuDiqNmVsZaobmJ0NQ== X-Proofpoint-Spam-Info: AW1haW4tMjYwOTA4MDE2MSBTYWx0ZWRfX6skZp6FtA9QX Kq9IJYHkhp6rR3IW3obz12QGPCAyEXrNzcXwRMHbS5aqHoIkPis6qt2pUS1vS/+QUQQtZWvYrUG XTZaRvDIXK1Fa8nLo4IbJlFHYAncVNw= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-08_03,2026-09-08_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 priorityscore=1501 adultscore=0 spamscore=0 bulkscore=0 lowpriorityscore=0 impostorscore=0 malwarescore=0 phishscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2609080161 aqr_gen1_read_status() decodes the MDIO_PHYXS_VEND_IF_STATUS register to determine which SerDes interface the PHY is currently using on its system side and stores the result in phydev->interface. phylink relies on this value to configure the MAC. The autoneg =3D=3D AUTONEG_DISABLE check is not correct: MDIO_PHYXS_VEND_IF_STATUS is set by the PHY firmware based on the negotiated link speed, not based on whether autoneg was used to reach it. When the link comes up at 1G in forced mode, the register correctly reads SGMII, but the early return prevents phydev->interface from being updated. It stays at whatever value it held before (typically 2500BASE-X from the initial autoneg run), so phylink configures the MAC for the wrong interface and the link cannot come up. Remove the autoneg guard so that the system interface type is always decoded when the link is up. Cc: stable@vger.kernel.org Fixes: 110a2432c520 ("net: phy: aquantia: add downshift support") Signed-off-by: Bartosz Golaszewski --- drivers/net/phy/aquantia/aquantia_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/phy/aquantia/aquantia_main.c b/drivers/net/phy/aqu= antia/aquantia_main.c index e95d391a6dc233879ae1fb2a97758b3df9600ce5..b720e4e9028cc20823297e8bbd2= 39121aeafa09f 100644 --- a/drivers/net/phy/aquantia/aquantia_main.c +++ b/drivers/net/phy/aquantia/aquantia_main.c @@ -544,7 +544,7 @@ static int aqr_gen1_read_status(struct phy_device *phyd= ev) if (ret) return ret; =20 - if (!phydev->link || phydev->autoneg =3D=3D AUTONEG_DISABLE) + if (!phydev->link) return 0; =20 /* The status register is not immediately correct on line side link up. --=20 2.47.3 From nobody Fri Sep 25 20:48:29 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4DD8B53B5ED for ; Tue, 8 Sep 2026 14:58:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788879505; cv=none; b=CZ5PxA2dPnQ2R/s6epRcuwf/qfhTYMnOXC0Nj2tj3FgaFhHZP/w2Mtc/qMMhLa6QtiYhy3owAninUUhUvYOaBHOwm2ZNupw+yhw/7DJE/dlC+kGdl27ZwWxMMl9LS4gx99ujrh8/po+B4b6XulOzzMUr9ptIwK9lhhY/2da/dDg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788879505; c=relaxed/simple; bh=BfrbL1Fwh6l+Z6nIdrB6wR8juwiurOHR3kGeK2lY/yQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=bhidIeah6u4G2YP1OCUVJOA7jqC8c5qrm8ZEiPC9rkaRm4OG3cgWEqRlQu//kgQq1XzEIGLams5vL9SiG5iqk9iiIjxW8qF1Wbb9lgk/UDqx7My66i2P8CW7arn4AMmXsy8Xzhi9eXZR1ZHWJSWBrM36gvswAhjpYW2c+SG2Uyg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=Tx0KeTIt; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=O2wVT0Ax; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="Tx0KeTIt"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="O2wVT0Ax" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 688Ej0Ta2770439 for ; Tue, 8 Sep 2026 14:58:02 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= EswjIYLr1e96wvciUd6ySjqcZdj8RdoKtvkdKwUdjN0=; b=Tx0KeTIt0AOxpg1Z EI3PzlCzkOxqx31uyixTbn5VZ2vcGP/cfKpWNggL11BX4NRpgK3vbuttK23ugi0P NyK6aVgGqPjJ7NsQboVYsOnhrRYuQ1NHtARXej7cmss8eLdezFM46FUs0+MjtPBk lq/RBD/byupgRAGykXT1bysneTIruSD7pLgaDdp0jviV5s1VXXxlknoh8jV946TY tG+Zyz/RU7xT3FuZZxbsCksFjbU32dy8LKZZDMV4Ek3RI/bbB7BPAOX2hEq8ErGK l0vmqKSFncRg9gCyJfhC5UlNZY/RrgviL65EDkjGaKQCGCXOdIRwzsTu4HMv+zr+ mFiP2Q== Received: from mail-vs1-f71.google.com (mail-vs1-f71.google.com [209.85.217.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gjcvuj6ky-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 08 Sep 2026 14:58:02 +0000 (GMT) Received: by mail-vs1-f71.google.com with SMTP id ada2fe7eead31-737d34a0dc8so3650037137.1 for ; Tue, 08 Sep 2026 07:58:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1788879481; x=1789484281; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=EswjIYLr1e96wvciUd6ySjqcZdj8RdoKtvkdKwUdjN0=; b=O2wVT0AxwK0CTVqFXMDURnYvs5NfpdquQRC0YtIgapBRL5uCYZuN5jcabI/oArvffx hgCgiJRDjuZ1ajOqAiNcpLdNhpxzbqmKTnp1chjaPeAh6R3GbNYLsYtLRBH5Qv7iq9HM 7KCGPI+ZpSvwJwDC7ut45xS5Iiyb/c4Aq/jzGhZ9C3TGZxsU/nryc6v4zlAO99UFqZes /pF0L5ENdRFkWl7dDaebT3dHvDM+xLfkPLyzQ3MFsrAIkSWGuKoiJqOXpKEeycpbDykb w/1wi7z+92s/dMmMPQAmsNlwKQFc5bMrjTE4sLPCrnayBghfT72BXK2YnTOeIimzDqsU 79mQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788879481; x=1789484281; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=EswjIYLr1e96wvciUd6ySjqcZdj8RdoKtvkdKwUdjN0=; b=oArLwaczYaoJVx76NwzDoRsZsNbspLCZwPPgTVAnhtmpkzI9IlIHe/rDIDXusLUoxh 134hThCv5UPN91pgtyLDyOlnztohittoHYuvEgOuCJ9ewmw03FNFYhJMTztmJxVm6VRR S6JWEPJuz95j2OyVL4i5Mjpy3U63nxDt+rUUt0TrmDCJbAprPUVqqTy+DQguQzHr05JY CABSD2Hns8n9vNGFtdVkKqPmKxg+PIbjEHKIiM6I5orrXHI894rhsoHE/hVsaZ7dfh14 opmzAwc9fjCDDeYyeKcC62WJbxkycqE9UL5HY2Ue1BB2XGw2HyZHSTKyz1vUC5Ewd/XC 9+aw== X-Forwarded-Encrypted: i=1; AKwUvBzVOI4IhvjbgblHtk7mNDp6VJkopTHDwZ11Ig/xwokpk/y8A6YafXR0G/AQXxJ38rkJHJ88FerGonlW9cM=@vger.kernel.org X-Gm-Message-State: AFuF++l/Wo5vhs/cxSafQnl3+1/+OgVb/VADPj18cJY5RK/WsiWkQOfe v5GWU1BX3WVgV30UQfSy7vRiJINqN8xg/dQTPntk1KZtQoV8VwCdippSb5+a1WTnOinQSQMN800 fvxv2FErVtUtFf/B2oAd4/iTZlVmnYMcwvj2EDywIWZQw9zpjQtDbQ+5oiT+xINhPKYM= X-Gm-Gg: AYBFou3ue5oabP7m1MYVr4D198a7yqjnzJJoJ2yNgjKUGouM5F/r5uARvEh3gV2hyCX Ml2yc4BXCAm3M17aDMCoE/RdL32jdiEjHQRedU88k1fQWcl6BghEOc15Dp1xs9ToU/ZS5svIdfO h6Jv7vmLLLMYBIFSG8cCLTum2ik759KpktdZGeLCo/g26fv/jlbwVkasoh2+bCrIHf5p+GznKVb /2kEhh2KuIjjOyjocQja5+KvAGgaMsT5R9VVJgfFC8LMs1WhVfns5TxN+3doKJLQKZugt7JFSzO KmjFyje0bJqHSXw3czNVXq4p0yVNK9XTfQoBWr8BzKIdftJpmf1U3mmfh9L50YPwDWG7hxuD/J8 0NUAyzX30cDIQ8dDO+/u4A/RNan0+ X-Received: by 2002:a05:6102:290a:b0:785:f288:c23 with SMTP id ada2fe7eead31-78a4a918bdfmr12691803137.3.1788879481286; Tue, 08 Sep 2026 07:58:01 -0700 (PDT) X-Received: by 2002:a05:6102:290a:b0:785:f288:c23 with SMTP id ada2fe7eead31-78a4a918bdfmr12691786137.3.1788879480827; Tue, 08 Sep 2026 07:58:00 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:79a2:f118:df09:fe51]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485958f1493sm25191276f8f.37.2026.09.08.07.57.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Sep 2026 07:57:59 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Sep 2026 16:57:21 +0200 Subject: [PATCH net-next v14 02/10] dt-bindings: phy: document the serdes PHY on sa8255p Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260908-qcom-sa8255p-emac-v14-2-ec212b747a7d@oss.qualcomm.com> References: <20260908-qcom-sa8255p-emac-v14-0-ec212b747a7d@oss.qualcomm.com> In-Reply-To: <20260908-qcom-sa8255p-emac-v14-0-ec212b747a7d@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Maxime Coquelin , Alexandre Torgue , Vinod Koul , Giuseppe Cavallaro , Chen-Yu Tsai , Jernej Skrabec , Neil Armstrong , Kevin Hilman , Jerome Brunet , Shawn Guo , Fabio Estevam , Jan Petrous , s32@nxp.com, Mohd Ayaan Anwar , Romain Gantois , Geert Uytterhoeven , Magnus Damm , Maxime Ripard , Christophe Roullier , Bartosz Golaszewski , Radu Rendec Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, Drew Fustini , linux-sunxi@lists.linux.dev, linux-amlogic@lists.infradead.org, linux-mips@vger.kernel.org, imx@lists.linux.dev, linux-renesas-soc@vger.kernel.org, linux-rockchip@lists.infradead.org, sophgo@lists.linux.dev, linux-riscv@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski , Krzysztof Kozlowski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1956; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=BfrbL1Fwh6l+Z6nIdrB6wR8juwiurOHR3kGeK2lY/yQ=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqoCJnajTItqWRiT6SMc37O+jx/iYaFaHW4w2Xx saScv6vyGKJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaqAiZwAKCRAFnS7L/zaE w++tD/0fr2YRZr6C7h4q6iPVWjh2HNSX4GV9MKYWKIYBmYFejDYaJEFc4h98X4UjI5Rw1vfad+B /EYWEucAMPhKHZQqcKRsmq9VqmbfcIFXrFVI8rRRuHhLp0IWaXYIIeSecT7Uu2Lbj1tDFgUII95 juhVAMKcY2pDV4SasZOyYAKEBo49uQrVuTG74OWjZ/F0bPqy+RzfXqcnavEpTBzq/DKS0KYKsvh FeOll87EJdwRuJmIgANys9iKZRuag6wHKvdzv+6cJnSE2TrRlL5waOQAyiQ/Z6t6YUF/gQVJXX+ iQZRwGUMtY7eJdwLS8X/2MZF8gMzIYh9Lct/RKik0ZNiHpTc7mc+Vs3kwj96kscXCK12u2XXMIF 9ueQLpXb3y/gm8jDFwekh+uZ0j5ZUnUnKsDLZxuF0iVNjQFbZuJPf81dcBV4f14ddUdOpBKz8qv 2EaOTsJ/6GqT/YBtlLSJKA74dZtPs4DDosX6jcqJ9Ujrn8+gJnhOFp5Jq32nMVYe1Qx9BKaliPM X8fJX1IUax5vBGTEiueUd0MyoDwfm5Ps5zAFCVrhgD9Pi06qFACTxu5z4+WIl0YDKnY0NaqjX0a LEYtyDlUEFpDHJUuaR5ridtl4gfyUa+f0oQOCFnR0C27C4ixRpilc3ub3jVoBu5XUvvy1Iw3DJS 1Is5ebpQSqIVC/g== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=ePkjSnp1 c=1 sm=1 tr=0 ts=6aa0227a cx=c_pps a=P2rfLEam3zuxRRdjJWA2cw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=gEfo2CItAAAA:8 a=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=wENndLYK2PIMvs9AUu4A:9 a=QEXdDO2ut3YA:10 a=ODZdjJIeia2B_SHc_B0f:22 a=sptkURWiP4Gy88Gu7hUp:22 X-Proofpoint-GUID: 7yHNGP1uipwBZk3H7SNQqjztxV0UJJC6 X-Proofpoint-ORIG-GUID: 7yHNGP1uipwBZk3H7SNQqjztxV0UJJC6 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTA4MDE2MSBTYWx0ZWRfXxiIhfw9VgQB9 OGSWjRx0NnFlb7lpO94LC+WugV+j3U4Q76sVkoNnW9DWpCwS1EdcW8B6yvswrEHlI5mhfUzME2k fkDZSLAtDVa3xDAzWUaFtIQQ4OcCQ1dEUdsF524I++wHUq4N2GC+18Sg5/lb6bYZQXrRBKwaY49 fQbT1782x11RhVtmji4ZEaNMW5500t9xYmvUexaOvMbYtVVGuVbORzFody90ggzVnFIyltlrYG1 wEsKyaRDp+0ectwMYWtHqWs4lK/qpv6488AghSrC8TLWYuIntAaCnjDUosMEMnET2OGQkrXr3U9 sGtdDaaElAYCvX3HaRnbvUAxmC9G7nNtxO0IRhAe4c/YXrmEofMxbU93QHJV6QBqe3nSQpfmQlV qxXIfSJ1+P0XjnPczPthvtL/qFKVm0HP+mbvvA3QOgZqfNlbX8eB0ZjRCsCOo6rI4sJChDjvoya rBsMtvPRIR15EXlg+0Q== X-Proofpoint-Spam-Info: AW1haW4tMjYwOTA4MDE2MSBTYWx0ZWRfX3pP/hYMO5dg2 D9801C1bDsU6nYkbgBLXArHClecMd0GkHMsch5h/V7e8n3nELbFQn3Y8FlXSybe0vEykUTHtNmL 7KieSeXhCkNMWCZeNALl9LWHH81Vl5E= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-08_03,2026-09-08_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 malwarescore=0 clxscore=1015 suspectscore=0 priorityscore=1501 impostorscore=0 phishscore=0 adultscore=0 lowpriorityscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2609080161 Describe the SGMII/SerDes PHY present on the Qualcomm sa8255p platforms. This is essentially the same hardware as sa8775p rev3 but the PHY is managed by firmware over SCMI. Reviewed-by: Krzysztof Kozlowski Signed-off-by: Bartosz Golaszewski --- .../bindings/phy/qcom,sa8255p-dwmac-sgmii-phy.yaml | 50 ++++++++++++++++++= ++++ 1 file changed, 50 insertions(+) diff --git a/Documentation/devicetree/bindings/phy/qcom,sa8255p-dwmac-sgmii= -phy.yaml b/Documentation/devicetree/bindings/phy/qcom,sa8255p-dwmac-sgmii-= phy.yaml new file mode 100644 index 0000000000000000000000000000000000000000..9e846e381555514bb32177f884a= bf0cf2c942948 --- /dev/null +++ b/Documentation/devicetree/bindings/phy/qcom,sa8255p-dwmac-sgmii-phy.ya= ml @@ -0,0 +1,50 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/phy/qcom,sa8255p-dwmac-sgmii-phy.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm SerDes/SGMII ethernet PHY controller (firmware managed) + +maintainers: + - Bartosz Golaszewski + +description: + The SerDes PHY sits between the MAC and the external PHY and provides + separate Rx Tx lines. + +properties: + compatible: + const: qcom,sa8255p-dwmac-sgmii-phy + + reg: + items: + - description: serdes + + power-domains: + maxItems: 1 + + power-domain-names: + maxItems: 1 + + "#phy-cells": + const: 0 + +required: + - compatible + - reg + - "#phy-cells" + - power-domains + - power-domain-names + +additionalProperties: false + +examples: + - | + phy@8901000 { + compatible =3D "qcom,sa8255p-dwmac-sgmii-phy"; + reg =3D <0x08901000 0xe10>; + #phy-cells =3D <0>; + power-domains =3D <&scmi7_dvfs 0>; + power-domain-names =3D "serdes"; + }; --=20 2.47.3 From nobody Fri Sep 25 20:48:29 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EE48F5592FD for ; Tue, 8 Sep 2026 14:58:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788879504; cv=none; b=IhQEIWEfSrdH2AjgNY+oJPJNosIDkW58p2cJeoEIR+vg1gIazhZBobrBsTzkVC/92DqqCEzc5vJxm2lZ8DHILcQNItzPIsO8IIzN7Y9ZkMj2xRXk90iAnftxu2yzmJa0la/su3EiBKnH1FDPhmOQDDQtU8FM/eehXSAsfC98CQ4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788879504; c=relaxed/simple; bh=qHUlRmmCEFH0pekvHNTdxOkuBUAknchAtPGzvZSdAVA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=fjujlY0Av9nl1iQ/yB5jnYmc3fV3Jj6hV2QCzBWvecahO9LhQb7+hQLPgK6to/BOpX33b+gRIh5TBKqMyxDPf5PMcCGgm2O1nT89O75i8XEk9gp1YBJd8uuLsZaX/8jITAtpSVX9V42w8Rbv0foJAmIWkSKDLDe4lpqwjzOF2hc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=OX8DgjxH; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=SLTU00xq; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="OX8DgjxH"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="SLTU00xq" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 688Ej4bF2639616 for ; Tue, 8 Sep 2026 14:58:05 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= seUOJdBEpaaK2UmSYK4aVK9u6IT6FpqMeeYKLF/OBic=; b=OX8DgjxHIzM1T1JJ LsJn3a+0v6E1Nn3El6WzTEIPiTBZIkN1jiSzHXMW9puHwPTibwRHhohuK+IYB+L3 6hv9Ffcv09Tj68PcK6t03UXQSUjZykW9D90A4CblNMe1iE9HbHzEle4CyEgKTqgF y1hHd0F1yJOCmbXBmIXBPjZw/vfKlNf4ivwmHP8BJ78BfABPUqVD8Kq9DhoT00dg tcvYusAFp4atnM829GtYqGVqz1/IEZnJVjvOudXDjsfiFaE0lbiZno87R3VS9o0o 00ln7PbWBFjOrRtcL6125WMatVYXpoYO4Od3Yd0z5DEEqYJMocdHGmPUwFv2E0y+ 4UGCKg== Received: from mail-vs1-f71.google.com (mail-vs1-f71.google.com [209.85.217.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gjjvugjw3-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 08 Sep 2026 14:58:05 +0000 (GMT) Received: by mail-vs1-f71.google.com with SMTP id ada2fe7eead31-744e80385dbso983581137.1 for ; Tue, 08 Sep 2026 07:58:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1788879484; x=1789484284; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=seUOJdBEpaaK2UmSYK4aVK9u6IT6FpqMeeYKLF/OBic=; b=SLTU00xqNQy0/p36Ixryy14tzp5PycryUJ499T6zQskFccQQBEC2Pn/Ysq9ErK/+vr FxwFUB8qkMCI7wEWxDPWur1ipozJovLsG5OCSxLCnYvBD2hutX4GUSnhdt37D+aa7WLa MX0gTKIbNzspEDf6BkAG77+kFMcycp68EmOTv20TAwsjNp0ZPCALfXjAeFNao3mbRgeh 7thPKrecZFNGjllKb48XFOXpwGU37vzk3xOkSSyZWP20ZT1iC3vd5effFrE+hhev2DDi LeugMf92UPvsHX26TstVmZDYNl7sJQst5K+AC4fcA3Jg4YXwYzeVGsHQctCcvSWtDrds Ym4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788879484; x=1789484284; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=seUOJdBEpaaK2UmSYK4aVK9u6IT6FpqMeeYKLF/OBic=; b=E+FGNcp3fPVm1qlV59Ukn3IW8cGCNWSpUZlSGB3tUHZKcXRNg8p8k5gUjhRu2NvHP5 U3wmub4NUAPUbTEel7aH/o088ahoQCrCT/GGEwXENK3ToDERcIvjXN/SJoes+ZLXNv2J xx8XJRdIBg9c8PLU47F0Rq8C4Uj6KmVm86eLRwYGYcwfiVxGoYIQa1gw5WdYvArNSeJq s0CDNr5eTp0CBm4/2UpDBg3qTWK/BXYVKFW2LleogzWTN7LklCcMTiiQ6/sgDY+uPkEI hWyrBuJhZN9QnBzGmhmMZfT9Qp9yabK9cjomPbopIiOicjN5H1wSdYkYjf4+NRtA3WO/ bwkA== X-Forwarded-Encrypted: i=1; AKwUvBxAgTeXuJCHsgxBUyAB3Yv0PSJX3mgTnrj6iQ8IYgCHV5Cd38oLWSFCIkZNM6RFifOo6sIXkAZJ3oaSQ0o=@vger.kernel.org X-Gm-Message-State: AFuF++md6rxWUA5cBqfRgjVO8ONoWFVqGsFbZsupRzPxkn1CAk6dOC7g HIOMmh5oK9Em+P2IfhsV/W+IxRL26229QZSSJzSFTuH9hNbIsYec0DH9Mvjm8J0MYSoEIcbZmyl QJMM6sg0ZA6NbmsugU2lFuiJ53w7sOW7FjQwWxn15Jj1ZzvIWYs43rGC9WPGZmLOpiIQ= X-Gm-Gg: AYBFou2yKA4smY3rmOak7Od0O9R4fFnmUlpIgceHce9nMt9Sjp6dwgYNPy7+BBflslw IGwYKJTzikoUj9gShtDIPoPsHpU1A+x3APAN3GK/+lpKToRGzOX3bWp259ZopT/wqI7M4xhnBgZ xh5FSvecLqRWPvMBhCxu4INQzE6MBxq2me3jdONGtn3GRz7umarw1oMerP0feIBZr/tgjVQgghZ ZkJrEuXq0VejKEMEhXExX0U/mYavRSdxoTSVI2Vwk0d4k2+VvKXYXUmM02AZnG1HvbbsFRzeFED LBQY9SdTwrWWQ0KliI+JF/x2XUvO5wbnHXcJpOaBwCOY/Vto+iA5sp49IKAMt9t5w2ult77Gl/v 6tNsCBgH9q71jnsow2B5GltheoKnz X-Received: by 2002:a05:6102:f83:b0:784:94dd:5389 with SMTP id ada2fe7eead31-78a4a9ae110mr10773710137.13.1788879484395; Tue, 08 Sep 2026 07:58:04 -0700 (PDT) X-Received: by 2002:a05:6102:f83:b0:784:94dd:5389 with SMTP id ada2fe7eead31-78a4a9ae110mr10773647137.13.1788879483779; Tue, 08 Sep 2026 07:58:03 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:79a2:f118:df09:fe51]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485958f1493sm25191276f8f.37.2026.09.08.07.58.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Sep 2026 07:58:02 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Sep 2026 16:57:22 +0200 Subject: [PATCH net-next v14 03/10] phy: qcom: add the SGMII SerDes PHY driver for SCMI systems Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260908-qcom-sa8255p-emac-v14-3-ec212b747a7d@oss.qualcomm.com> References: <20260908-qcom-sa8255p-emac-v14-0-ec212b747a7d@oss.qualcomm.com> In-Reply-To: <20260908-qcom-sa8255p-emac-v14-0-ec212b747a7d@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Maxime Coquelin , Alexandre Torgue , Vinod Koul , Giuseppe Cavallaro , Chen-Yu Tsai , Jernej Skrabec , Neil Armstrong , Kevin Hilman , Jerome Brunet , Shawn Guo , Fabio Estevam , Jan Petrous , s32@nxp.com, Mohd Ayaan Anwar , Romain Gantois , Geert Uytterhoeven , Magnus Damm , Maxime Ripard , Christophe Roullier , Bartosz Golaszewski , Radu Rendec Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, Drew Fustini , linux-sunxi@lists.linux.dev, linux-amlogic@lists.infradead.org, linux-mips@vger.kernel.org, imx@lists.linux.dev, linux-renesas-soc@vger.kernel.org, linux-rockchip@lists.infradead.org, sophgo@lists.linux.dev, linux-riscv@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=5706; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=qHUlRmmCEFH0pekvHNTdxOkuBUAknchAtPGzvZSdAVA=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqoCJpUSAwXwYqyImVUA8IHz/qZBphfJZmEFMBI m2ZW2y5mMiJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaqAiaQAKCRAFnS7L/zaE w2PhD/0as5tliI1sEyOitt3o+EQ4kh5yKkHvigZwetzwKxwOQu6f+gUa12Gh+Ov7edkBjpD8a3W iMbZlHnG5eKnGJphgRMMitIfM6T1OqsPv3r/O8N1svmU7Rnjt9BKaKy2gFDaSMZlQaDjydAgS6j JYGoCCNyQ+zCdEngS0hE6Zvmnr4rSRrbfCDwvRzmtSBQdHIb+EObCBfDhDX7BBvh62DlJ72wZ4L yvB9fnZW6tAxBufOOQHqH/V5a/dNykdyNGGZAUrx282uTWyK3n1U0h6I6D+/arZmPVEcA+0xZsc 7IZ/11r8niZPcNCiTmwZYaDEPtMje17Lje0Mr60FjT/v2RDxI2BBrbqbN6/TRLvZUiOTtPevFNZ Z/W6AynG1j/kuo+oHLCYJ8lAKTu/qO1pMySExNkmWs9WffnDG6MjTRvOkZbuYPf+aJS8SFURcwO 8k5H7KcrHhWLZUEC5iJR7ISWqq4mzZKosEGkxYHgjeN92zl1TGoaUT3PcrxO7mEmwRB1CGLPGQI nmnOTQGLAg/g6kGs8U2xA4zsmXCtvgWv8GpJu0oyKlpfr4r7Q3fR9j93fekRA0I/CXonYf69tsW 3YOfCWEAIgWWJ0OkY1gq6xWcUoMPC/21vMVDfEHSUNAZrZUct1D9thR41qNiPt5fNoLohNF1w0y HAXMirb7OBtMCBQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: Yh2tFuaw-p0aFqfz3XRAaZoeCwpb0REz X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTA4MDE2MSBTYWx0ZWRfX4xQHiT7AdFVA uk6G0m11y6s66aFYYloxzWg7nuWsXf3JA+yG6+irCxCFWRO2ENC574jgYo/TWjz+H7fqor5ecoz rCBZGucdKKFp/b0jPHkgamMGDvs/oKwUMI45oNoq2pFvMhByqbWOltXBfY8iW5z4q8mg0T0wpKj tZR+ly346KDHgaxTnS/w6omKZhftSWKnVnqgPPO7Vjaa2Iaoq5qrg4GISFvx1yID3qXbrNYgBT+ r5Jku+nqyYswH58BOZTa/zVV67EmQInfNyihPwPrPHaJ1YihBcQsAGxVHqEO4KBWVcdUiy6km1d EDWcIKvtNgDh9KzNY0YqCf78QbojLKLO8Bsufqkoul1ObAi0wZnA6dgsBa4JNAZkFk4PyxMuR/t pxvgmEl0NDVW1VW8AMwaJqdko8IxKpUf1Fceev8FWh+lyGYE7kJFyduh0m8gT3ZzKUHVNGL6Iqq VHeVHVY7tRlVs5I0Miw== X-Proofpoint-Spam-Info: AW1haW4tMjYwOTA4MDE2MSBTYWx0ZWRfXxsXDgVe9yIx9 HVPHpz5cWH3ippqYxBg17QNOkOKnPuBTv2V9iu4bfUTCYzlJXSQauJWHARsA7tXMriyLghRdqak 624AfbyJ26WGt5Lt9UjP5bc2wGPWqNU= X-Proofpoint-ORIG-GUID: Yh2tFuaw-p0aFqfz3XRAaZoeCwpb0REz X-Authority-Analysis: v=2.4 cv=X8hi7mTe c=1 sm=1 tr=0 ts=6aa0227d cx=c_pps a=P2rfLEam3zuxRRdjJWA2cw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=_Lfrdvl5uC9KR1EAoRcA:9 a=QEXdDO2ut3YA:10 a=ODZdjJIeia2B_SHc_B0f:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-08_03,2026-09-08_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 adultscore=0 spamscore=0 clxscore=1015 priorityscore=1501 suspectscore=0 impostorscore=0 phishscore=0 malwarescore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2609080161 Implement support for the firmware-managed SGMII/SerDes PHY present on Qualcomm platforms. Do this as a separate driver from the HLOS-managed variant as they don't share almost any code. Signed-off-by: Bartosz Golaszewski --- drivers/phy/qualcomm/Kconfig | 11 +++ drivers/phy/qualcomm/Makefile | 1 + drivers/phy/qualcomm/phy-qcom-sgmii-eth-scmi.c | 115 +++++++++++++++++++++= ++++ 3 files changed, 127 insertions(+) diff --git a/drivers/phy/qualcomm/Kconfig b/drivers/phy/qualcomm/Kconfig index d910a5d1a1ac3ad77599e72c3f4a3b2aebd02dbf..677662f642e42f6ed969fa281d1= 61ff185be9ae4 100644 --- a/drivers/phy/qualcomm/Kconfig +++ b/drivers/phy/qualcomm/Kconfig @@ -242,3 +242,14 @@ config PHY_QCOM_SGMII_ETH help Enable this to support the internal SerDes/SGMII PHY on various Qualcomm chipsets. + +config PHY_QCOM_SGMII_ETH_SCMI + tristate "Qualcomm DWMAC SGMII SerDes/PHY driver (firmware managed)" + depends on OF && (ARCH_QCOM || COMPILE_TEST) + select GENERIC_PHY + select PM + select PM_GENERIC_DOMAINS + help + Enable this to support the internal SerDes/SGMII PHY on Qualcomm + chipsets where the SerDes hardware (clocks and registers) is owned + by the firmware. diff --git a/drivers/phy/qualcomm/Makefile b/drivers/phy/qualcomm/Makefile index 8bf887d58ee4a65687216dd91a6592da7941ace2..4972009b217e39ad3d19300e5b7= dede4e88feca4 100644 --- a/drivers/phy/qualcomm/Makefile +++ b/drivers/phy/qualcomm/Makefile @@ -26,3 +26,4 @@ obj-$(CONFIG_PHY_QCOM_USB_SS) +=3D phy-qcom-usb-ss.o obj-$(CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2)+=3D phy-qcom-snps-femto-v2.o obj-$(CONFIG_PHY_QCOM_IPQ806X_USB) +=3D phy-qcom-ipq806x-usb.o obj-$(CONFIG_PHY_QCOM_SGMII_ETH) +=3D phy-qcom-sgmii-eth.o +obj-$(CONFIG_PHY_QCOM_SGMII_ETH_SCMI) +=3D phy-qcom-sgmii-eth-scmi.o diff --git a/drivers/phy/qualcomm/phy-qcom-sgmii-eth-scmi.c b/drivers/phy/q= ualcomm/phy-qcom-sgmii-eth-scmi.c new file mode 100644 index 0000000000000000000000000000000000000000..ae961975dcd87555d458ca49109= 2622366e58127 --- /dev/null +++ b/drivers/phy/qualcomm/phy-qcom-sgmii-eth-scmi.c @@ -0,0 +1,115 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + * + * Firmware-managed variant of the Qualcomm DWMAC SGMII SerDes/PHY driver. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static int qcom_dwmac_sgmii_phy_scmi_validate(struct phy *phy, enum phy_mo= de mode, + int submode, + union phy_configure_opts *opts) +{ + if (mode !=3D PHY_MODE_ETHERNET) + return -EINVAL; + + switch (submode) { + case PHY_INTERFACE_MODE_SGMII: + case PHY_INTERFACE_MODE_1000BASEX: + case PHY_INTERFACE_MODE_2500BASEX: + return 0; + default: + return -EINVAL; + } +} + +static int qcom_dwmac_sgmii_phy_scmi_set_mode(struct phy *phy, enum phy_mo= de mode, + int submode) +{ + struct device *dev =3D phy->dev.parent; + unsigned int perf_state; + int ret; + + ret =3D qcom_dwmac_sgmii_phy_scmi_validate(phy, mode, submode, NULL); + if (ret) + return ret; + + perf_state =3D (submode =3D=3D PHY_INTERFACE_MODE_2500BASEX) ? + SPEED_2500 : SPEED_1000; + + return dev_pm_genpd_set_performance_state(dev, perf_state); +} + +static const struct phy_ops qcom_dwmac_sgmii_phy_scmi_ops =3D { + .set_mode =3D qcom_dwmac_sgmii_phy_scmi_set_mode, + .validate =3D qcom_dwmac_sgmii_phy_scmi_validate, + .owner =3D THIS_MODULE, +}; + +static void qcom_dwmac_sgmii_phy_scmi_runtime_disable(void *data) +{ + struct device *dev =3D data; + + pm_runtime_disable(dev); +} + +static int qcom_dwmac_sgmii_phy_scmi_probe(struct platform_device *pdev) +{ + struct device *dev =3D &pdev->dev; + struct phy_provider *provider; + struct phy *phy; + int ret; + + /* + * Enable runtime PM on the provider before creating the PHY so that the + * PHY core enables runtime PM on the PHY device too. The single SCMI + * power domain has already been attached to this device by the driver + * core, so runtime PM votes propagate to firmware through the genpd + * device link. No register or clock access is done here - firmware owns + * the SerDes. + */ + pm_runtime_enable(dev); + + ret =3D devm_add_action_or_reset(dev, qcom_dwmac_sgmii_phy_scmi_runtime_d= isable, dev); + if (ret) + return ret; + + phy =3D devm_phy_create(dev, NULL, &qcom_dwmac_sgmii_phy_scmi_ops); + if (IS_ERR(phy)) + return dev_err_probe(dev, PTR_ERR(phy), "failed to create the phy\n"); + + provider =3D devm_of_phy_provider_register(dev, of_phy_simple_xlate); + if (IS_ERR(provider)) + return dev_err_probe(dev, PTR_ERR(provider), + "failed to register the PHY provider\n"); + + return 0; +} + +static const struct of_device_id qcom_dwmac_sgmii_phy_scmi_of_match[] =3D { + { .compatible =3D "qcom,sa8255p-dwmac-sgmii-phy" }, + { } +}; +MODULE_DEVICE_TABLE(of, qcom_dwmac_sgmii_phy_scmi_of_match); + +static struct platform_driver qcom_dwmac_sgmii_phy_scmi_driver =3D { + .probe =3D qcom_dwmac_sgmii_phy_scmi_probe, + .driver =3D { + .name =3D "qcom-dwmac-sgmii-phy-scmi", + .of_match_table =3D qcom_dwmac_sgmii_phy_scmi_of_match, + }, +}; +module_platform_driver(qcom_dwmac_sgmii_phy_scmi_driver); + +MODULE_DESCRIPTION("Qualcomm DWMAC SGMII PHY driver (firmware managed)"); +MODULE_AUTHOR("Bartosz Golaszewski "= ); +MODULE_LICENSE("GPL"); --=20 2.47.3 From nobody Fri Sep 25 20:48:29 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 113B95540A9 for ; Tue, 8 Sep 2026 14:58:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788879507; cv=none; b=LAWS1gJ0LtwzDfsP2U52nqMp/yqocpuBIhvkk7oaxTCk9EbIEttolqn41NI3Yj/231OS6uVePWAyKhOM8ptOHZHPuv/BQyPyBKCkPuQDAR0fbx6zBM1HgeN+mNo/SIYTWPMidB+amAn0ZYgv8ekPssjyLGPkrvPzi55yp6YIne4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788879507; c=relaxed/simple; bh=j1WLX+ZlSOGFcUpJ4uNGjnKE4foLCAEOi4G75aUhMIk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=HNwijjAUVUw0NhyqArcwbmhDY7vbh09iyiSi9UME5YDvbNFDo++KaZ4g9jTfmuiiLioBKreXIs6Bde1tz5lbrb8AeM6/LbxGEEy1sX+Pgrn4J4o08HvGyeFIWZSM5a9Ul0STsVWzfJVk2pVMBKjU1bd4wsNKvoClD099g3WoGZE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=p2nmHY1v; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=B8PPeenR; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="p2nmHY1v"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="B8PPeenR" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 688EjJKr3627549 for ; Tue, 8 Sep 2026 14:58:10 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= hdFBBTyUw7iYWdIlsqWmErw1NIwY/fSMMuq3VNBOrao=; b=p2nmHY1vRqjAwM5J jbe9uETCdmy5Xbtpk9E/NHsCwVBLKp99KUjkM98251Nxs3k3O8L6Emc83XQymz7F YzBU+H1LbD5FD9NOWIt1MUzJjGG+lCrgQKbPZVHygHykagQmPEFFMVfvi00yHE/w HQmEoRHkPbEmoIyL4CvzCkfTA9Fv6cecdz1vkC8vV+VlHPta/1D8kcghBxQLF5eH wEAH8ANnkOFo+6cNfsEQrDdceM1WBI60yHu2jMqcCWF79p3NX3gfmoZGAB1MDAUm /fv2bO2wznVKy2GJhaJEN6YkLVZfWr2C4fuGKq11NIP+tIJlr7ZkI0CQnikytXYw 5BgTPQ== Received: from mail-ua1-f69.google.com (mail-ua1-f69.google.com [209.85.222.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gjcv7j7se-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 08 Sep 2026 14:58:10 +0000 (GMT) Received: by mail-ua1-f69.google.com with SMTP id a1e0cc1a2514c-980682ebf05so434558241.3 for ; Tue, 08 Sep 2026 07:58:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1788879489; x=1789484289; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=hdFBBTyUw7iYWdIlsqWmErw1NIwY/fSMMuq3VNBOrao=; b=B8PPeenR1iw5d0x5s06FbHGv5z2n3NF0AFCTEp1DkBfmF8ctWkQMYMjrPorBV3MSYM XvS/OpMhOR7iQYdIb6g6R3MKZZPKuixJ1D/5sYcvhELmZQ3/O0spKkxHLpBFNtz5uEW0 32KIM7O3mxDh/611+tYdCzBHwcSn7DX37Fn8PGOJTQ3PRbxBabzOfvcPMooh7lQZ2Sm1 OnPKWlUiDKfTynjPNPv79xZ2yU7jDbubxSdHWxI/CSBSZq28MVpscGAOt/XuB1Wy7ZeT yHOIHXbVDgCNnPlyrUrFy4ewt/ZfDStYybcSiyLjJtGHKgVycwtgKg9D0nuH2CSjRTAj bSfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788879489; x=1789484289; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=hdFBBTyUw7iYWdIlsqWmErw1NIwY/fSMMuq3VNBOrao=; b=C8STdSaRt9oM16S8N+sgsUHFWcCxkZSDr87Kqbsn54aUutPdPBlyePNkjfQYAydusd cYYkzrJPv/lwHYsVJo9w7vtU8TTPY8Sy+YFBlIRy/0xWLVsOhSyIm51C0w4U3byAm1cg ycdnhsve1yEpO1GBUwmOC3g1ZutSgG275mLJTP5j1QftEBy5MlLoURaDj9+nLwzTNy/a JtGqtH/MK6RGE/BaulOcWWLlo0AJoVtL0CXWU8pJGb3m+DGT6lF4wRbDmhmKwaM7Qge9 upEIoglxknxKJomalO+q4LeBQTGNgTx/fGw4U3I0gts82SmoE99wcYI+OEb8Rulwdx3M ufqw== X-Forwarded-Encrypted: i=1; AKwUvByM4be5uD5kEJnmesXZoKqn/BI2z4lfRIhkdhziyn49rajlWpCbI8lg6icwmFQkseN7mdIo0reAB+olX9g=@vger.kernel.org X-Gm-Message-State: AFuF++mV2pHc1JdsWCaDbt07nVkTrW8WluAYPgjPw5dAyXe8w5A6Dvo6 BQd3ManxNXUMDGKA89Iuuk7Qv/483d9ntyI2huxf5tCi8zH/9wiwKkAuABnKPiuWlFPaYyECdwt 0rdYbtKF3K+3HkBytVhXMm3VL69bzyXGbkp7CptQr/m3um6lARSKvUvTCYnoDIOUt41Y= X-Gm-Gg: AYBFou0TxNitS3Kp4VR6PPUAe/TpqaxPt2DDaG1rVljqLEpv9fse5GDOUEo+IDYif0F C6M7mMzQd4foAnmKLcqM2pjDQV7JDQIvLNCTv7fry5IPVVpvGh0AeKnawkYg+M/mJjWrfKxr1Ke 7KKe+g+LD0w8ne7VbUcB189w1zULEYnvsKKgdXXp6B5+l8O4aqATdyK1kBPfWf+e/gn4h1/GkZK j6PeZGXuctRY4CgKoiQXV5a+s7S54czUWrwNGa281izzeExHRBwCdZ6331M+E55QjKonHeNgKyj 8Q2UBr/scD9iVD312jg/49Pk7OINbU1XcH4EbM0KK2QEsqHFI3XwWf34kISxEuAthy15A3VrlY5 PYdZXc548BtwvKOz4ZxHD83OOVCPU X-Received: by 2002:a05:6102:8684:20b0:789:100e:3d1c with SMTP id ada2fe7eead31-78a5ddfc65bmr6017912137.5.1788879488996; Tue, 08 Sep 2026 07:58:08 -0700 (PDT) X-Received: by 2002:a05:6102:8684:20b0:789:100e:3d1c with SMTP id ada2fe7eead31-78a5ddfc65bmr6017841137.5.1788879488275; Tue, 08 Sep 2026 07:58:08 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:79a2:f118:df09:fe51]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485958f1493sm25191276f8f.37.2026.09.08.07.58.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Sep 2026 07:58:07 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Sep 2026 16:57:23 +0200 Subject: [PATCH net-next v14 04/10] dt-bindings: net: qcom: document the ethqos device for SCMI-based systems Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260908-qcom-sa8255p-emac-v14-4-ec212b747a7d@oss.qualcomm.com> References: <20260908-qcom-sa8255p-emac-v14-0-ec212b747a7d@oss.qualcomm.com> In-Reply-To: <20260908-qcom-sa8255p-emac-v14-0-ec212b747a7d@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Maxime Coquelin , Alexandre Torgue , Vinod Koul , Giuseppe Cavallaro , Chen-Yu Tsai , Jernej Skrabec , Neil Armstrong , Kevin Hilman , Jerome Brunet , Shawn Guo , Fabio Estevam , Jan Petrous , s32@nxp.com, Mohd Ayaan Anwar , Romain Gantois , Geert Uytterhoeven , Magnus Damm , Maxime Ripard , Christophe Roullier , Bartosz Golaszewski , Radu Rendec Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, Drew Fustini , linux-sunxi@lists.linux.dev, linux-amlogic@lists.infradead.org, linux-mips@vger.kernel.org, imx@lists.linux.dev, linux-renesas-soc@vger.kernel.org, linux-rockchip@lists.infradead.org, sophgo@lists.linux.dev, linux-riscv@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski , Martin Blumenstingl , Krzysztof Kozlowski , Lad Prabhakar X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=19551; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=hM8DrJx3cgikF2RsyQ02jNliyXSUpQgKDksFfA3ujXI=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqoCJqZFUTPPfqu8XVrNr38FhF5lFdfcmnVuqiM G07tuzYQUaJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaqAiagAKCRAFnS7L/zaE wyVtD/4jrKJBDxrRjSkASzdrSlL06+Fvdl0nFxQph5S+s+Hx84htQFKsgVWjHGIWK8l0AuSroSD MDZlidfgdtfjM3J2p5gAOcZD+7h5Eu2qXCsY+HfH/hibT5yndlmrrc0dFls4L4+ZS0koOvaVXb+ aXu7UEMAvRfjg+2E5USrsX2ippScGjOi7wcmcONeX83yPGPFIDJqnWzURsyenG/DxH9GBTR6psX 67vfhLACO8oqulI5hv7F5dM6LodeH17Xsz4Oi+0lVcQH/BmwYlzZA5fH3U5fbK3YZNGLIGt7pur A6FYh+CS3pTZmTWzGZ6a7rgYPHmPtncQEVcz/GaCB13yrSwPDoJttIbtxOjbCsaSZDujMkyBHsz /GJNp+A0d19VFfEL+QNlgxi9R3F584TzPBXcYDeLk9okPvfdyG5le3vahZl7RI3vshF6WVv0RC9 6ETI029PaWpHfAVnFTS1mSUpG/BwklLjy1KetsW053aEYzrYqKyxYqbMAVkZzfPVkh851/J6VlD OWc/wyfWGW8CeX7qPn197Mw/RN8atBIeT+CDtiboPfMoLlzGYhYlNTZh/ADwyylz2CO14zPEDiu 3I9HuTQqY2H3TDmtwagZHBndaz1mkyxaduniS1Nbk0W9cL0Z6X/wyAVSUQZEPI3+N9nDp4WrU3w Uiy0eA6HUPYd7fQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=CMEamxrD c=1 sm=1 tr=0 ts=6aa02282 cx=c_pps a=UbhLPJ621ZpgOD2l3yZY1w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=gEfo2CItAAAA:8 a=KKAkSRfTAAAA:8 a=mK_AVkanAAAA:8 a=EUspDBNiAAAA:8 a=yC-0_ovQAAAA:8 a=P-IC7800AAAA:8 a=VwQbUJbxAAAA:8 a=GKXZHVDtzPw5QJjWUvEA:9 a=QEXdDO2ut3YA:10 a=TOPH6uDL9cOC6tEoww4z:22 a=sptkURWiP4Gy88Gu7hUp:22 a=cvBusfyB2V15izCimMoJ:22 a=3gWm3jAn84ENXaBijsEo:22 a=d3PnA9EDa4IxuAV0gXij:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTA4MDE2MCBTYWx0ZWRfX3UM6+G1/QNvz Aa6oDDS1lCkpXEBiTNy/NaISnU+xfgg7CZvDUdoDQrmYivloS7Lsa5V9wxhZZUMsmszfQlBrrBH x85dMmMNo+6ldgan7U1OL8cvVtz56mU= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTA4MDE2MCBTYWx0ZWRfX2CvaOBiKHyd+ kCuLTCKHBwZjoEX+Y3v82TvA8Olm6LhqV7XBm+HVjV3sb7To82ohEswHMHrZMjCHfkWv4CIa2qA ggOzEhBBq0uAH3YBvJBeltzC4P09MORKrv0F/OTfV5z4LX40PWPkMEmhgd9l4Gev6tqHsxn0HGz u/jZW1xedEqI330xZmo/ITmxuqIfJ+1003G8swEjiaJKFngbPW9qVZkqCMd9DVFW3zcYT8bdEjj uMrKsemoCVIsxIccnOPbmlK3SIGVodcZpmJ/WvYBT00SrL0R5ilSF40knKOqLZkKCGCyk9YkGBE wF4QL5VzEGr1CXnZsbHbN7IlDWYDyVsxcL7ZQJMkNE4U1yeF4wDi/UZQT2lft+GPIKwqFniScEQ bM8c0KzKDwIa7TWd0SiseKodxJa3n65dXu+kpnZ9xBKPkUeA4082CsRGxmItne5EksVt682IPta zdffRKuiDWJoxZU1sew== X-Proofpoint-ORIG-GUID: cEKFncFb4M0pwS3aB3Vt0skR3Ua5wjAZ X-Proofpoint-GUID: cEKFncFb4M0pwS3aB3Vt0skR3Ua5wjAZ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-08_03,2026-09-08_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 phishscore=0 clxscore=1015 priorityscore=1501 bulkscore=0 spamscore=0 suspectscore=0 adultscore=0 malwarescore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2609080160 From: Bartosz Golaszewski Describe the firmware-managed variant of the QCom DesignWare MAC. As the properties here differ a lot from the HLOS-managed variant, lets put it in a separate file. Since we need to update the maximum number of power domains, let's update existing bindings referencing the top-level snps,dwmac.yaml and limit their maxItems for power-domains to 1. Signed-off-by: Bartosz Golaszewski Reviewed-by: Martin Blumenstingl Reviewed-by: Krzysztof Kozlowski Reviewed-by: Lad Prabhakar Reviewed-by: Romain Gantois # For RZ/N1 Signed-off-by: Bartosz Golaszewski --- .../bindings/net/allwinner,sun7i-a20-gmac.yaml | 3 + .../bindings/net/altr,socfpga-stmmac.yaml | 3 + .../bindings/net/amlogic,meson-dwmac.yaml | 3 + .../devicetree/bindings/net/eswin,eic7700-eth.yaml | 3 + .../devicetree/bindings/net/intel,dwmac-plat.yaml | 3 + .../bindings/net/loongson,ls1b-gmac.yaml | 3 + .../bindings/net/loongson,ls1c-emac.yaml | 3 + .../bindings/net/nuvoton,ma35d1-dwmac.yaml | 3 + .../devicetree/bindings/net/nxp,dwmac-imx.yaml | 3 + .../devicetree/bindings/net/nxp,lpc1850-dwmac.yaml | 3 + .../devicetree/bindings/net/nxp,s32-dwmac.yaml | 3 + .../devicetree/bindings/net/qcom,ethqos.yaml | 3 + .../bindings/net/qcom,sa8255p-ethqos.yaml | 107 +++++++++++++++++= ++++ .../devicetree/bindings/net/renesas,rzn1-gmac.yaml | 3 + .../bindings/net/renesas,rzv2h-gbeth.yaml | 3 + .../devicetree/bindings/net/rockchip-dwmac.yaml | 3 + .../devicetree/bindings/net/snps,dwmac.yaml | 5 +- .../bindings/net/sophgo,cv1800b-dwmac.yaml | 3 + .../bindings/net/sophgo,sg2044-dwmac.yaml | 3 + .../devicetree/bindings/net/spacemit,k3-dwmac.yaml | 3 + .../bindings/net/starfive,jh7110-dwmac.yaml | 3 + .../devicetree/bindings/net/stm32-dwmac.yaml | 3 + .../devicetree/bindings/net/tesla,fsd-ethqos.yaml | 3 + .../devicetree/bindings/net/thead,th1520-gmac.yaml | 3 + .../bindings/net/toshiba,visconti-dwmac.yaml | 3 + MAINTAINERS | 1 + 26 files changed, 181 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/net/allwinner,sun7i-a20-gmac= .yaml b/Documentation/devicetree/bindings/net/allwinner,sun7i-a20-gmac.yaml index 23e92be33ac8609a16db530782989caed22a5730..b12632545673b2ad0148a677f45= a7447309a43cd 100644 --- a/Documentation/devicetree/bindings/net/allwinner,sun7i-a20-gmac.yaml +++ b/Documentation/devicetree/bindings/net/allwinner,sun7i-a20-gmac.yaml @@ -40,6 +40,9 @@ properties: description: PHY regulator =20 + power-domains: + maxItems: 1 + required: - compatible - reg diff --git a/Documentation/devicetree/bindings/net/altr,socfpga-stmmac.yaml= b/Documentation/devicetree/bindings/net/altr,socfpga-stmmac.yaml index db93436c96fa6a3f18da5337c484887b1856eb36..eb41291a1f6582b6d7a6b472d40= 86b7c200d1dfe 100644 --- a/Documentation/devicetree/bindings/net/altr,socfpga-stmmac.yaml +++ b/Documentation/devicetree/bindings/net/altr,socfpga-stmmac.yaml @@ -158,6 +158,9 @@ properties: - description: offset of the control register - description: shift within the control register =20 + power-domains: + maxItems: 1 + patternProperties: "^mdio[0-9]$": type: object diff --git a/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml= b/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml index 5c91716d1f21e617543b03c5a90b993f8aee053c..9c9cc3ef384da0270489c21b342= 6572ea46d9499 100644 --- a/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml +++ b/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml @@ -158,6 +158,9 @@ properties: interrupt-names: const: macirq =20 + power-domains: + maxItems: 1 + required: - compatible - reg diff --git a/Documentation/devicetree/bindings/net/eswin,eic7700-eth.yaml b= /Documentation/devicetree/bindings/net/eswin,eic7700-eth.yaml index ba49fd6a086cb92777310bc9e38efe1b3ccd2f7e..b79058b36d704fabb14f2df3c01= fe9bfaefdf8a9 100644 --- a/Documentation/devicetree/bindings/net/eswin,eic7700-eth.yaml +++ b/Documentation/devicetree/bindings/net/eswin,eic7700-eth.yaml @@ -120,6 +120,9 @@ properties: - description: Optional offset of register controlling TXD delay - description: Optional offset of register controlling RXD delay =20 + power-domains: + maxItems: 1 + required: - compatible - reg diff --git a/Documentation/devicetree/bindings/net/intel,dwmac-plat.yaml b/= Documentation/devicetree/bindings/net/intel,dwmac-plat.yaml index 62c1da36a2b5a29290e5e01be87c48158c4adf89..e41851931b947559c89b0cd6f47= 56f71046f9594 100644 --- a/Documentation/devicetree/bindings/net/intel,dwmac-plat.yaml +++ b/Documentation/devicetree/bindings/net/intel,dwmac-plat.yaml @@ -47,6 +47,9 @@ properties: interrupt-names: const: macirq =20 + power-domains: + maxItems: 1 + required: - compatible - clocks diff --git a/Documentation/devicetree/bindings/net/loongson,ls1b-gmac.yaml = b/Documentation/devicetree/bindings/net/loongson,ls1b-gmac.yaml index c4f3224bad387b87a5b4a3049dabd75f2c4bd42f..c9a131b8d8304c41559a416b324= df749c0a87d14 100644 --- a/Documentation/devicetree/bindings/net/loongson,ls1b-gmac.yaml +++ b/Documentation/devicetree/bindings/net/loongson,ls1b-gmac.yaml @@ -66,6 +66,9 @@ properties: - mii - rgmii-id =20 + power-domains: + maxItems: 1 + required: - compatible - reg diff --git a/Documentation/devicetree/bindings/net/loongson,ls1c-emac.yaml = b/Documentation/devicetree/bindings/net/loongson,ls1c-emac.yaml index 99001b940b8361f69bb917617f857ee99f4b3fa5..49db18423dd807683b9bb297978= f5da8ea6cee3d 100644 --- a/Documentation/devicetree/bindings/net/loongson,ls1c-emac.yaml +++ b/Documentation/devicetree/bindings/net/loongson,ls1c-emac.yaml @@ -65,6 +65,9 @@ properties: - mii - rmii =20 + power-domains: + maxItems: 1 + required: - compatible - reg diff --git a/Documentation/devicetree/bindings/net/nuvoton,ma35d1-dwmac.yam= l b/Documentation/devicetree/bindings/net/nuvoton,ma35d1-dwmac.yaml index ab18702e53f9b4800a366febba1a6cf3eba173a4..5301fe64e98b8da843c1c14c7e4= b28653b1095fd 100644 --- a/Documentation/devicetree/bindings/net/nuvoton,ma35d1-dwmac.yaml +++ b/Documentation/devicetree/bindings/net/nuvoton,ma35d1-dwmac.yaml @@ -69,6 +69,9 @@ properties: items: - const: stmmaceth =20 + power-domains: + maxItems: 1 + phy-mode: enum: - rmii diff --git a/Documentation/devicetree/bindings/net/nxp,dwmac-imx.yaml b/Doc= umentation/devicetree/bindings/net/nxp,dwmac-imx.yaml index e5db346beca9649be4f97727b78fda8973095912..b240c76e7dd5254d0c3752610c4= aa848a3c3d65b 100644 --- a/Documentation/devicetree/bindings/net/nxp,dwmac-imx.yaml +++ b/Documentation/devicetree/bindings/net/nxp,dwmac-imx.yaml @@ -83,6 +83,9 @@ properties: description: To select RMII reference clock from external. =20 + power-domains: + maxItems: 1 + required: - compatible - clocks diff --git a/Documentation/devicetree/bindings/net/nxp,lpc1850-dwmac.yaml b= /Documentation/devicetree/bindings/net/nxp,lpc1850-dwmac.yaml index 05acd9bc7616356e68090ebdd4df20e42f70dd7e..f61188ab0dbe3c0cec5b10f7a65= dfaff4dc3898f 100644 --- a/Documentation/devicetree/bindings/net/nxp,lpc1850-dwmac.yaml +++ b/Documentation/devicetree/bindings/net/nxp,lpc1850-dwmac.yaml @@ -51,6 +51,9 @@ properties: items: - const: stmmaceth =20 + power-domains: + maxItems: 1 + required: - compatible - reg diff --git a/Documentation/devicetree/bindings/net/nxp,s32-dwmac.yaml b/Doc= umentation/devicetree/bindings/net/nxp,s32-dwmac.yaml index 753a04941659b82b655dad1439ff66f8b37fa18b..fcad2274302d9cff36760184b74= 918a9835906f7 100644 --- a/Documentation/devicetree/bindings/net/nxp,s32-dwmac.yaml +++ b/Documentation/devicetree/bindings/net/nxp,s32-dwmac.yaml @@ -81,6 +81,9 @@ properties: - const: rx - const: ptp_ref =20 + power-domains: + maxItems: 1 + required: - clocks - clock-names diff --git a/Documentation/devicetree/bindings/net/qcom,ethqos.yaml b/Docum= entation/devicetree/bindings/net/qcom,ethqos.yaml index 423959cb928d945aa3e758a3c803d12bd61ec42b..ef520f8105773e22c0536ff419d= ad55fe316e1bd 100644 --- a/Documentation/devicetree/bindings/net/qcom,ethqos.yaml +++ b/Documentation/devicetree/bindings/net/qcom,ethqos.yaml @@ -86,6 +86,9 @@ properties: phy-names: const: serdes =20 + power-domains: + maxItems: 1 + required: - compatible - clocks diff --git a/Documentation/devicetree/bindings/net/qcom,sa8255p-ethqos.yaml= b/Documentation/devicetree/bindings/net/qcom,sa8255p-ethqos.yaml new file mode 100644 index 0000000000000000000000000000000000000000..5158481e5e5b0feed5b3dcd2cda= 2f593b7ff62e4 --- /dev/null +++ b/Documentation/devicetree/bindings/net/qcom,sa8255p-ethqos.yaml @@ -0,0 +1,107 @@ +# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/net/qcom,sa8255p-ethqos.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm Ethernet ETHQOS device (firmware managed) + +maintainers: + - Bjorn Andersson + - Konrad Dybcio + - Bartosz Golaszewski + +description: + dwmac based Qualcomm ethernet devices which support Gigabit + ethernet (version v2.3.0 and onwards) with clocks, interconnects, etc. + managed by firmware + +allOf: + - $ref: snps,dwmac.yaml# + +properties: + compatible: + const: qcom,sa8255p-ethqos + + reg: + maxItems: 2 + + reg-names: + items: + - const: stmmaceth + - const: rgmii + + interrupts: + items: + - description: Combined signal for various interrupt events + - description: The interrupt that occurs when HW safety error trigge= red + + interrupt-names: + items: + - const: macirq + - const: sfty + + power-domains: + minItems: 2 + maxItems: 2 + + power-domain-names: + items: + - const: core + - const: mdio + + phys: + maxItems: 1 + + phy-names: + items: + - const: serdes + + iommus: + maxItems: 1 + + dma-coherent: true + +required: + - compatible + - reg-names + - power-domains + - power-domain-names + +unevaluatedProperties: false + +examples: + - | + #include + + ethernet: ethernet@23040000 { + compatible =3D "qcom,sa8255p-ethqos"; + reg =3D <0x23040000 0x10000>, + <0x23056000 0x100>; + reg-names =3D "stmmaceth", "rgmii"; + + iommus =3D <&apps_smmu 0x120 0x7>; + + interrupts =3D , + ; + interrupt-names =3D "macirq", "sfty"; + + dma-coherent; + + snps,tso; + snps,pbl =3D <32>; + rx-fifo-depth =3D <16384>; + tx-fifo-depth =3D <16384>; + + phy-handle =3D <ðernet_phy>; + phy-mode =3D "2500base-x"; + + snps,mtl-rx-config =3D <&mtl_rx_setup1>; + snps,mtl-tx-config =3D <&mtl_tx_setup1>; + + power-domains =3D <&scmi8_pd 0>, <&scmi8_pd 1>; + power-domain-names =3D "core", "mdio"; + + phys =3D <&serdes1>; + phy-names =3D "serdes"; + }; diff --git a/Documentation/devicetree/bindings/net/renesas,rzn1-gmac.yaml b= /Documentation/devicetree/bindings/net/renesas,rzn1-gmac.yaml index 16dd7a2631abf6fb7dc8e0c90755ab1e81915b38..ed0d10a19ca4c47c05f6873c64b= 0537b90acd15a 100644 --- a/Documentation/devicetree/bindings/net/renesas,rzn1-gmac.yaml +++ b/Documentation/devicetree/bindings/net/renesas,rzn1-gmac.yaml @@ -44,6 +44,9 @@ properties: phandle pointing to a PCS sub-node compatible with renesas,rzn1-miic.yaml# =20 + power-domains: + maxItems: 1 + required: - compatible =20 diff --git a/Documentation/devicetree/bindings/net/renesas,rzv2h-gbeth.yaml= b/Documentation/devicetree/bindings/net/renesas,rzv2h-gbeth.yaml index c8f76c8e75843e8375ce968d33e125feeb78f999..1c084aafa8f78f4640262ee88c6= 4697a7259c089 100644 --- a/Documentation/devicetree/bindings/net/renesas,rzv2h-gbeth.yaml +++ b/Documentation/devicetree/bindings/net/renesas,rzv2h-gbeth.yaml @@ -154,6 +154,9 @@ properties: Documentation/devicetree/bindings/net/pcs/renesas,rzn1-miic.yaml# (Refer RZ/T2H portion in the DT-binding file) =20 + power-domains: + maxItems: 1 + required: - compatible - reg diff --git a/Documentation/devicetree/bindings/net/rockchip-dwmac.yaml b/Do= cumentation/devicetree/bindings/net/rockchip-dwmac.yaml index 80c252845349c4533deff85b052157984d0e2f23..3ec3f6dc2a125908ba98f20b112= 0311de8967954 100644 --- a/Documentation/devicetree/bindings/net/rockchip-dwmac.yaml +++ b/Documentation/devicetree/bindings/net/rockchip-dwmac.yaml @@ -123,6 +123,9 @@ properties: phy-supply: description: PHY regulator =20 + power-domains: + maxItems: 1 + required: - compatible - clocks diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml b/Docume= ntation/devicetree/bindings/net/snps,dwmac.yaml index 2449311c6d28ed3fbf8c92526ce8b872900653f4..d3aff1df3070d1b22198766ee2e= 0131dcf925287 100644 --- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml +++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml @@ -72,6 +72,7 @@ properties: - nuvoton,ma35d1-dwmac - nxp,s32g2-dwmac - qcom,qcs404-ethqos + - qcom,sa8255p-ethqos - qcom,sa8775p-ethqos - qcom,sc8280xp-ethqos - qcom,sm8150-ethqos @@ -185,7 +186,8 @@ properties: - const: ahb =20 power-domains: - maxItems: 1 + minItems: 1 + maxItems: 2 =20 mac-mode: $ref: ethernet-controller.yaml#/properties/phy-connection-type @@ -630,6 +632,7 @@ allOf: - ingenic,x1830-mac - ingenic,x2000-mac - qcom,qcs404-ethqos + - qcom,sa8255p-ethqos - qcom,sa8775p-ethqos - qcom,sc8280xp-ethqos - qcom,sm8150-ethqos diff --git a/Documentation/devicetree/bindings/net/sophgo,cv1800b-dwmac.yam= l b/Documentation/devicetree/bindings/net/sophgo,cv1800b-dwmac.yaml index b89456f0ef830991135bd17626da98661429596c..e78cbf594c695204040a53ab1e3= 67daa9e12246b 100644 --- a/Documentation/devicetree/bindings/net/sophgo,cv1800b-dwmac.yaml +++ b/Documentation/devicetree/bindings/net/sophgo,cv1800b-dwmac.yaml @@ -49,6 +49,9 @@ properties: reset-names: const: stmmaceth =20 + power-domains: + maxItems: 1 + required: - compatible - reg diff --git a/Documentation/devicetree/bindings/net/sophgo,sg2044-dwmac.yaml= b/Documentation/devicetree/bindings/net/sophgo,sg2044-dwmac.yaml index e8d3814db0e94fdcd0f3ab2a9fa8bab972a97ab5..845e2c67d20037496bb1eec6eb7= 3c99cde74e944 100644 --- a/Documentation/devicetree/bindings/net/sophgo,sg2044-dwmac.yaml +++ b/Documentation/devicetree/bindings/net/sophgo,sg2044-dwmac.yaml @@ -52,6 +52,9 @@ properties: interrupt-names: maxItems: 1 =20 + power-domains: + maxItems: 1 + resets: maxItems: 1 =20 diff --git a/Documentation/devicetree/bindings/net/spacemit,k3-dwmac.yaml b= /Documentation/devicetree/bindings/net/spacemit,k3-dwmac.yaml index 678eccf044f975eb0bed16e7052532e5f19502db..9e0fb995327a925f7c488e5d990= 563b4f92cd644 100644 --- a/Documentation/devicetree/bindings/net/spacemit,k3-dwmac.yaml +++ b/Documentation/devicetree/bindings/net/spacemit,k3-dwmac.yaml @@ -56,6 +56,9 @@ properties: reset-names: const: stmmaceth =20 + power-domains: + maxItems: 1 + spacemit,apmu: $ref: /schemas/types.yaml#/definitions/phandle-array items: diff --git a/Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.ya= ml b/Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml index fdcc61c65f87d1dc15a17b9486cde032ffa7798b..c424e77973921e1f9f18135c310= 6f1c270c9ac87 100644 --- a/Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml +++ b/Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml @@ -75,6 +75,9 @@ properties: The argument one is the offset of phy mode selection, the argument two is the shift of phy mode selection. =20 + power-domains: + maxItems: 1 + required: - compatible - reg diff --git a/Documentation/devicetree/bindings/net/stm32-dwmac.yaml b/Docum= entation/devicetree/bindings/net/stm32-dwmac.yaml index 987254900d0da7aab81237f20b1540ad8a17bd21..29b878079ff0c1a0ef95fc63f20= 35f478ee039b2 100644 --- a/Documentation/devicetree/bindings/net/stm32-dwmac.yaml +++ b/Documentation/devicetree/bindings/net/stm32-dwmac.yaml @@ -121,6 +121,9 @@ properties: minItems: 1 maxItems: 2 =20 + power-domains: + maxItems: 1 + required: - compatible - clocks diff --git a/Documentation/devicetree/bindings/net/tesla,fsd-ethqos.yaml b/= Documentation/devicetree/bindings/net/tesla,fsd-ethqos.yaml index dd7481bb16e59982c26c1a54ae82b8cff85fdfe0..ad635529d676ed6b752ab3bde51= 52d5cbddcb519 100644 --- a/Documentation/devicetree/bindings/net/tesla,fsd-ethqos.yaml +++ b/Documentation/devicetree/bindings/net/tesla,fsd-ethqos.yaml @@ -67,6 +67,9 @@ properties: - rgmii-rxid - rgmii-txid =20 + power-domains: + maxItems: 1 + required: - compatible - reg diff --git a/Documentation/devicetree/bindings/net/thead,th1520-gmac.yaml b= /Documentation/devicetree/bindings/net/thead,th1520-gmac.yaml index b3492a9aa4effa73fadf92a63a76ba8bb65a8769..c859f8bb5d582af8b8782f2f89a= b5e6ee3d7a46c 100644 --- a/Documentation/devicetree/bindings/net/thead,th1520-gmac.yaml +++ b/Documentation/devicetree/bindings/net/thead,th1520-gmac.yaml @@ -78,6 +78,9 @@ properties: items: - const: macirq =20 + power-domains: + maxItems: 1 + required: - clocks - clock-names diff --git a/Documentation/devicetree/bindings/net/toshiba,visconti-dwmac.y= aml b/Documentation/devicetree/bindings/net/toshiba,visconti-dwmac.yaml index f0f32e18fc8550e6f63b87b60a095972453836c9..efa39eab0256a1102b01872bd84= 8749788c9b4e8 100644 --- a/Documentation/devicetree/bindings/net/toshiba,visconti-dwmac.yaml +++ b/Documentation/devicetree/bindings/net/toshiba,visconti-dwmac.yaml @@ -48,6 +48,9 @@ properties: interrupt-names: const: macirq =20 + power-domains: + maxItems: 1 + required: - compatible - reg diff --git a/MAINTAINERS b/MAINTAINERS index 95227134bcc119b13f3cf0363e54fc06c5d1ea13..ef8ff498501def74aaea4775ca8= 8a578b9789135 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -22507,6 +22507,7 @@ L: netdev@vger.kernel.org L: linux-arm-msm@vger.kernel.org S: Maintained F: Documentation/devicetree/bindings/net/qcom,ethqos.yaml +F: Documentation/devicetree/bindings/net/qcom,sa8255p-ethqos.yaml F: drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c =20 QUALCOMM FASTRPC DRIVER --=20 2.47.3 From nobody Fri Sep 25 20:48:29 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 986D3258EF3 for ; Tue, 8 Sep 2026 14:58:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788879514; cv=none; b=UnwRedJHp5n57pMkvc1B1yXIb0As8z+vnn6i/uaHKXjKqBkgJmKY1wbZmPild2rV1Q9QfiRvI9z6kGmKqEeN+xaFDa8LG9fnVa7AFZDRGigxz8Eh9F1mCqkie9cBRErPtEE12NGJ8OEx59F4ydPVQCUTRipyYn/VBvSxLXCdFJM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788879514; c=relaxed/simple; bh=Rq+TDPdqhF6BqR973VgYSIdLvxRoWPIkY3OnfX0xzLQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GwAObL/FCcLsTXSIH1bNztUsyS3MfjhrPPzHARJ3JNgGxmU45ENNzvNzp7I8/zsFPRIWR/JfWCYLJH+baD53WsXS9ooYlGv3Qww5i3cA/4haW4BckNdfX1Wp9iJd77KuWO+H5epNaQFkZYSdmzhkTSSVuDOLxi7iOt+KEQNLRvE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=TlfY/+70; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=FVrAVDMN; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="TlfY/+70"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="FVrAVDMN" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 688Eivsj3298145 for ; Tue, 8 Sep 2026 14:58:15 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= RyU4Ifafpyh/FLtyPoayXjzPbwMU/X5o2UFaqrYzldE=; b=TlfY/+70lYPBwKfG 8C+dPQvcTQV5IWcBhMbPO3VQCQZbx9FGQlPPtyxXFmZ2ZPNkrjBxPpSwG8FxPQRX IkPviXWaBMs5F7rOTPVAklbcam91LZ5oLtPhuhV27it6Ai6880PRcG6CqxGaf9Ix kCawijrWOm5I+qk/2ewAvYYCZd175r699olAl6bWXKgp102LwYvOsdFY31olu5SZ Ug6q/2vRt+a5KBrUdSgr02i9M5w5Vbe13ToeJ2JPg2U2XESm5HdG5WY7tLgMbfgt hIgwfGrq5kBar8GOh6Be2mUM+m5MDsCFQGeVHzke756Waxuz8EejSIJxKkwieNvq qIa3sw== Received: from mail-vs1-f70.google.com (mail-vs1-f70.google.com [209.85.217.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gjhkj0wvx-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 08 Sep 2026 14:58:15 +0000 (GMT) Received: by mail-vs1-f70.google.com with SMTP id ada2fe7eead31-7475c666b20so4290385137.3 for ; Tue, 08 Sep 2026 07:58:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1788879495; x=1789484295; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=RyU4Ifafpyh/FLtyPoayXjzPbwMU/X5o2UFaqrYzldE=; b=FVrAVDMNwG2vjN3Ke48akVbUJ2vWR1vcQf+Ur5Pv2vh0EGsZGOqmPvABObyhBrDfdc QW2V305nMdH1ZNfl0lWDo7ycNpVpd6Uq3N9e//Tkn0qB0tLOB3w6o9uWnd9TDjgWrd9L 1MenvHt4CYIJwzPFLNZA14e8PLkLLk5C5ZyZpUoE6bWIfLdJfRWfoVZQDZVFfmwcEWQb MUlmCQMNr2K7fTbibDJTz6+9ZMprVKcJzinF89uhol+fAoKzA6xWTuAuXGtV8ibnHRRi 7hiV3Scgpqabot3U/3GDWtT1FiTdtclIwV4/JoxAH4r17Xl6aj+LHZhmn4klwrPQVXQ9 uxlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788879495; x=1789484295; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=RyU4Ifafpyh/FLtyPoayXjzPbwMU/X5o2UFaqrYzldE=; b=m57cXVHH3VmPoai9kYSybT898EdSXx19aIGC1W2k4jZq8QfKPVIRtKseLMy5QIxmsY Wt613z8UvCT1E18BhZ/WksuXsN/i3DwOcrvRnU1oDHfzNk4mqEW7Xp7zTKD2YKGNynB2 Av0ac+u5Ty7/7IkCuZwURXKA/G/inf/Tr0A3qocKhKEHCg1H20j7MmvzmcKlZe6FLCIa 6/hI0fTxIjnmCLLLfkEcgdmeUsNeXRAh1IozyIEzv1hXxzBJCyCppNC4/01iGGFACXn9 ZtTCg1+27DtzY2+vBrdjDoKc7XJiFEJg5DS4StxfRmmccT/sNdPEOv40bwsB63zqr4MI uVBg== X-Forwarded-Encrypted: i=1; AKwUvBz+9XGkJzBlKhzLJbiWN6Q4idX+CqtFuvBYMpqkghl6Bu/6QMFYyh0X1TYXxxVsmLti4w5R+ycYEjS2ip0=@vger.kernel.org X-Gm-Message-State: AFuF++mf553CPsSIS4Idzj1YW2vpLTqF52ZRZN5BCp+OIqY5soXunAm6 /4EDOzyNMXp/p1OBtXsnx6JDPcq4mF+9pG4ELw5YG7X/6xbdrkStE9X0Hf1Dd3wJ7Mm0plLKG5O Ib7LNey47S2q9SBDovi0dIxsSBoDLE0eDMZR8dXbcwgtSzk3M17c0lPGVrVUNcQxfyeQ= X-Gm-Gg: AYBFou3BlO1zWEpmo+TBLYGtXYSLhi2gd95q1AI3Mw+zHRbqIkek12oiLRjKNLwxJdR qn1/UBseh7WlXNCMMLCe1k8dIa5A/xbsGTUKSnVumLDS0dVfr/8uKTv2J4wGR2VwrAO+eMK84A1 rbwEfcndo/ww4x+h3npxmCBsdTzZ2aFrKhQU1BMU8FMUSRznmJMWddGLrDGQjo/XLh3fjSRnBY5 lJW/c7IOwC9wAfXq+F8X5A8j/CiBvoaW2kD+ztuYjeRsrPEzFfLe6ChyVz+W+JTSwU3Zck3dZWc Oc1CJ58h3Bhv2NF23pSWAwsPKP+BC/7tj4x1uYSvSdNxUbJhPfliCtmHUNQOOLnHfkYEZgDWjnF e5iJH9QbONy339dXU9sTcPJVhV7Le X-Received: by 2002:a05:6102:54a8:b0:785:c960:ff85 with SMTP id ada2fe7eead31-78a4a8e5299mr12862103137.7.1788879494524; Tue, 08 Sep 2026 07:58:14 -0700 (PDT) X-Received: by 2002:a05:6102:54a8:b0:785:c960:ff85 with SMTP id ada2fe7eead31-78a4a8e5299mr12862044137.7.1788879494031; Tue, 08 Sep 2026 07:58:14 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:79a2:f118:df09:fe51]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485958f1493sm25191276f8f.37.2026.09.08.07.58.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Sep 2026 07:58:10 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Sep 2026 16:57:24 +0200 Subject: [PATCH net-next v14 05/10] net: stmmac: qcom-ethqos: set serdes mode before powerup Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260908-qcom-sa8255p-emac-v14-5-ec212b747a7d@oss.qualcomm.com> References: <20260908-qcom-sa8255p-emac-v14-0-ec212b747a7d@oss.qualcomm.com> In-Reply-To: <20260908-qcom-sa8255p-emac-v14-0-ec212b747a7d@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Maxime Coquelin , Alexandre Torgue , Vinod Koul , Giuseppe Cavallaro , Chen-Yu Tsai , Jernej Skrabec , Neil Armstrong , Kevin Hilman , Jerome Brunet , Shawn Guo , Fabio Estevam , Jan Petrous , s32@nxp.com, Mohd Ayaan Anwar , Romain Gantois , Geert Uytterhoeven , Magnus Damm , Maxime Ripard , Christophe Roullier , Bartosz Golaszewski , Radu Rendec Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, Drew Fustini , linux-sunxi@lists.linux.dev, linux-amlogic@lists.infradead.org, linux-mips@vger.kernel.org, imx@lists.linux.dev, linux-renesas-soc@vger.kernel.org, linux-rockchip@lists.infradead.org, sophgo@lists.linux.dev, linux-riscv@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1365; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=Rq+TDPdqhF6BqR973VgYSIdLvxRoWPIkY3OnfX0xzLQ=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqoCJr2HJy3rNOohKIofZRC/HrZwZ9P0zZOWRXQ S51BxunZFiJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaqAiawAKCRAFnS7L/zaE w1OnEAC2YRnquSZ8wqTHNjfW4N3WzbgI3U5rbMQqt5bXxKUwgjLXrFzhBTY8uZA1Uu0+YoP08u1 hQ46nB7p89WKc1VrhJY1U3TBBxcnlyLqIkl2hqgHtf1fSMUN4qgDtlqVocrwtLo2m5B+ZkA+SNW BABXgXrQBkl+InavpYsVxDOsCYpsIkjcfcmemRkzzDrsydaAUlT8Ov9GJ2BYIOGg7WDuD4Rz+ik d+Y690KTRpYoKbThlgXcMVH24nuDtDCJNvpc1ldLVtyFga2uu6MbHTKv/6UbAFvDX+QPpMGFrAe Oy6Toa8Mi0W/hKPw3y8okYWSFMnIFgjaM4kxHqbSwGsaNVS0b+9EVcOCZtCExYoaUn9Pimgu3fT RtbsIwGW0KLpbisASrL4SCIbir8WO67kRTu+ghSfBbEDc6lZbBQ3rj1O2Of6YuerpwjRD3KvuGL ipmpqBLUgXTallF0viP/60sN8lmlCHK/P40dgJmAQqQDeJ8FPkbVhTaFywQtHpXvZqHlH8Z4PAu vYOZLTFTPtfeOKLdmOcry2ULa5ykPNwawmv9hfmoKv37Jms7ueFEvSgx6/1ZJOGmzQQ7BGMKch5 F+tv2Ty8o6jwM4rTrDx8+PYus1TZZCr5JRunxR90WQ1+tThTC+LYar9fGlOy+BPfOTWZf4VN7WF 5ZP/X8M2ZwFQnFg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTA4MDE2MSBTYWx0ZWRfX1PKnFBmA5NMM IqaQy48YnRC16X0PuhOx+N61Ibj5shvZxixL0o6c/+k+iYhe465ey66CXD8rx6KVIc6kytezEgF RpemnnW4oLNgQnEqRlByqNGs/86OmO8= X-Proofpoint-GUID: fxZ5dMRJ93WCueQBVOhvZVayj-s3GTRf X-Authority-Analysis: v=2.4 cv=VYjH+lp9 c=1 sm=1 tr=0 ts=6aa02287 cx=c_pps a=N1BjEkVkxJi3uNfLdpvX3g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=EUspDBNiAAAA:8 a=lIIuVyqIMTwqdMfQNTsA:9 a=QEXdDO2ut3YA:10 a=crWF4MFLhNY0qMRaF8an:22 X-Proofpoint-ORIG-GUID: fxZ5dMRJ93WCueQBVOhvZVayj-s3GTRf X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTA4MDE2MSBTYWx0ZWRfX6/mmmgaJCCSE dmiSISi1/z/7sHSKxgv4IZ9cQBf0T2iWe80eNt1pZDayt59Xhf1BO7zsFIHGneyHRDbgFE9SNx0 8Hrsu1a6HmsLywUoXFFdCY1S4ulbkcuqUwi9HyMlg4YllV0qOAYrxr9WuDtkNbRwXpDYFwivbEr Nf+kBEGEk2WtBhijIxoOcgyP6olxZnz5Y8l8b1tdG80IbgiJh4HITdtU+V+I7yzNQNWwbxzhDYa CENQa6CDgDysSzqNbpxN3eP12mLGfRCc9KnM27hZnj88B7MJKWWKutmi5eT3gXeQY+YyvTJHu1W BlmHCy/oFaIadFbPyLfwI0IUls6j+mxF4k3a/Fi+G4uoyFjvou+vV3xNfcMPnz7UGESOMqJj0kv +h/yTI88EDjZJfhAK6Iotosq+67DvIHDpP7BKJmFZSX9s1WhJVjTfCj9CDFBQRS62ToZfbO6Ki0 DmtzlGlBu/Lk8obuE8g== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-08_03,2026-09-08_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 malwarescore=0 bulkscore=0 phishscore=0 adultscore=0 priorityscore=1501 suspectscore=0 spamscore=0 impostorscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2609080161 Call phy_set_mode_ext() before phy_power_on() in qcom_ethqos_serdes_powerup(). This is harmless for existing users but on SCMI systems this is required for the PHY driver to select the right performance level - which translates to the link speed. This is done ahead of adding support for the firmware-managed EMAC on Qualcomm sa8255p. Signed-off-by: Bartosz Golaszewski --- drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c b/driv= ers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c index ac7d6d3e205a1ab5b391def879d6f1033a0961b6..47b70b5e706f221c01f1c0ae3b1= acafae6641165 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c @@ -601,10 +601,19 @@ static int qcom_ethqos_serdes_powerup(struct net_devi= ce *ndev, void *priv) if (ret) return ret; =20 + ret =3D phy_set_mode_ext(ethqos->serdes_phy, PHY_MODE_ETHERNET, + ethqos->phy_mode); + if (ret) + goto err_out; + ret =3D phy_power_on(ethqos->serdes_phy); if (ret) - phy_exit(ethqos->serdes_phy); + goto err_out; =20 + return 0; + +err_out: + phy_exit(ethqos->serdes_phy); return ret; } =20 --=20 2.47.3 From nobody Fri Sep 25 20:48:29 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9293A559307 for ; Tue, 8 Sep 2026 14:58:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788879521; cv=none; b=IggVB4wjCY/WCx3ENp2jgxjQFGZUisZx0C5ts+hqAwwXXmu7LS08qGAtfmQ0ZjT7yh6HyNHl0AssqQuBNvJgB9EafyT6d5xWZ1vcNcLJMVeFXREzmdFl/kVgiZFYffc20Rp8shT9EwVlseSTUFazaJNf9yrmUhUtYRKa4piExIQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788879521; c=relaxed/simple; bh=DLq5kJ6GnQDKhq8FVuX32328SGe67zNr4t3N9JmNPY4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kPL0ZyG262kcQ7u0zH2F4iP1Pf4nU+1SsNdE1QijGmDfxJSVmxWtOkePcLTko/i/ixB3+5tH0oJWGguCtTkH15bC/wLl76ioFgxJWHckGQMqqRoIgBHcU3z2gmGwy3X6/UOY0KhL9bg+dUoIvmRS5bsD/zOIs+ov2eSQb6QBJdY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=UrNdHwA1; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=h55ErPnd; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="UrNdHwA1"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="h55ErPnd" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 688EjMad3299797 for ; Tue, 8 Sep 2026 14:58:18 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= b0N7yiitrW6dR7p59PNZxxyK3pZtNPXwOVD0qGLv/uw=; b=UrNdHwA16moFMjxf fJMD7pH4j0/lZ0U+AgJVseFdFW4hLsnlOMdoR8Iobss+OloYgzBNeMoBUZOMDjYS N56805fokNTB/bpnz8TJv9pQUhiYoRKNrzkNbjhkMUE3qLMTtgHjLQ5vAXizYydr IW/DH8y6a4dQq/Gg6Gw/YclNkuv6eaPdQ13pKuChIJQc1QRqm63HT9ZKlIl2/y4W Y/mQht2pu4kkJy3loTphjQF0/1HdO0BBpfPMnzOS4xSIU9jNccw4s3zO7R0Iz8Pj w98506pIY5mq3j/8EmKgnocSZ/is7sS39+oSAnfkAZhy2MbHIXmzuFHKCPXbaH4p 5diaRg== Received: from mail-ua1-f69.google.com (mail-ua1-f69.google.com [209.85.222.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gjhkj0ww6-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 08 Sep 2026 14:58:18 +0000 (GMT) Received: by mail-ua1-f69.google.com with SMTP id a1e0cc1a2514c-9806e283b0eso3311379241.3 for ; Tue, 08 Sep 2026 07:58:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1788879497; x=1789484297; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=b0N7yiitrW6dR7p59PNZxxyK3pZtNPXwOVD0qGLv/uw=; b=h55ErPndRJmbdQT0AzG91+QKYT5HMx1X7myu1JzBZmIVxQHdOK6s7ZEGRqA826D1km X3d48fXp55sz/okg7FdljF+5BftI+7sFFdpTrzUw5UegOMvD8RbyEXFlDWA5FKES41ox dKXYq6thFhFqIHYihLSTUycg4hhM8zQH8kxQHfrQ8rKiEYnkpuZhjKnBTPrA24yfd3pX mfOII8IPBv6cCp4S8wBauIQg9hcfjSXEBAj+amepK55OWQUtxlaKcnAJYYQuMgNLRSUI 0hpYgibO2l40V/lb9D6uCcd+K8exJxO6aHg6EOrB2P3gslg3qVGnq5bu5eOiDW0HecTC GJQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788879497; x=1789484297; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=b0N7yiitrW6dR7p59PNZxxyK3pZtNPXwOVD0qGLv/uw=; b=U09wdn4s+RqgpLPZVZwzsytBshHF4CxH0msTmFYq0Pp++8tqCY4cbMcN7G8P+9rlqL 7Dmg/hOUujUVLiXK2mndXVoVygPLNn/9GEq946aXYa8dnP4l6lGGnbIjezEPurun1iaN W8/gphxduWw54K+RXe3qs7GEuaH9jVL7CeE+SuWcpwIkVmCKgLTN5NA/NM8q06WqEP8F HgylqM6+YQbqcwmFqM0wrJEAPftGW4Tp6aWIkxWbny8SfybSoNj/14pJHTNy8rA4rfEi D1CEsQAXWGo4gWXhNlYT2BWCG0sK3cR3WLvlCKr6U/YJcltTbGbI/zm7bSa+SySDKlEz kwVg== X-Forwarded-Encrypted: i=1; AKwUvBz7WzFAjsrbnjfxcwkzggEm6dKqk9SCTwIGSoEb74u19f9Hf2fEwvB+bz9BkzH0R7CwWhRzVegT20jhpV0=@vger.kernel.org X-Gm-Message-State: AFuF++npOyZlpwDe/Uooeb1X3vvH5NC2tHR8kLTR9oU5SY7blRbS9jwV WvT/lE8prw99vCEkiYhikHBngSpYAxOvZUVpF+jc4ifrmIPMNLljIyAFIbOBa2jwXTDAmvb8jWz XBpwCMyuDors+u9hgJPJoDEQVseBZqOqUDQzS761G25L3hCh3QOUTPnt3wsRaRTu1SGw= X-Gm-Gg: AYBFou0TwhtolVYeDUL8mNPtdjwnJzA0HiHzZlhpHiK+rt9s9Io+vDWdoSCNNHhi8RL HCw+npdCuhLb/sLmROeBsPO/XSQnDGMZliXp6yUauLh5er1eg3PGMjd79bNYXIdK0xlFy/OM/wu aMrFzlHXEIpNAmFQGnXuF/TUnWp6ohFkxCpweS8GQNGLDHS45MFcbrh4xIKam4qo7H3dmwF1d45 KYN3S2XIGDz0pDMdz1SqLcjYuaWNOk9ADZPy8rUEbM+qROn04489QgYC1V7fT+yuN3PKe/F/5N2 4QS+sC+yy4PvLdWkIKP8eAaKI6w8aHbX+flL0gLO46qbmnBVpLi9slunoV/obO2rwd/ibEYrNLZ B0jGjDQ++O1ZvmZS9Kx6AsBOfHCW7 X-Received: by 2002:a05:6102:6b03:b0:77b:ae7:1bba with SMTP id ada2fe7eead31-78a4a72eac3mr14116041137.3.1788879497207; Tue, 08 Sep 2026 07:58:17 -0700 (PDT) X-Received: by 2002:a05:6102:6b03:b0:77b:ae7:1bba with SMTP id ada2fe7eead31-78a4a72eac3mr14115998137.3.1788879496786; Tue, 08 Sep 2026 07:58:16 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:79a2:f118:df09:fe51]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485958f1493sm25191276f8f.37.2026.09.08.07.58.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Sep 2026 07:58:15 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Sep 2026 16:57:25 +0200 Subject: [PATCH net-next v14 06/10] net: stmmac: qcom-ethqos: update phy_mode to the resolved interface in mac_finish() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260908-qcom-sa8255p-emac-v14-6-ec212b747a7d@oss.qualcomm.com> References: <20260908-qcom-sa8255p-emac-v14-0-ec212b747a7d@oss.qualcomm.com> In-Reply-To: <20260908-qcom-sa8255p-emac-v14-0-ec212b747a7d@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Maxime Coquelin , Alexandre Torgue , Vinod Koul , Giuseppe Cavallaro , Chen-Yu Tsai , Jernej Skrabec , Neil Armstrong , Kevin Hilman , Jerome Brunet , Shawn Guo , Fabio Estevam , Jan Petrous , s32@nxp.com, Mohd Ayaan Anwar , Romain Gantois , Geert Uytterhoeven , Magnus Damm , Maxime Ripard , Christophe Roullier , Bartosz Golaszewski , Radu Rendec Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, Drew Fustini , linux-sunxi@lists.linux.dev, linux-amlogic@lists.infradead.org, linux-mips@vger.kernel.org, imx@lists.linux.dev, linux-renesas-soc@vger.kernel.org, linux-rockchip@lists.infradead.org, sophgo@lists.linux.dev, linux-riscv@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1884; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=DLq5kJ6GnQDKhq8FVuX32328SGe67zNr4t3N9JmNPY4=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqoCJs9HybHaSqzBfK2Veao8xyX8UXTlPcezcbj QlPlyhTxkiJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaqAibAAKCRAFnS7L/zaE w1v+D/9iBpy/Ln8FSiJNFaOgPkx7WGqGjICkj3LljoYYONiLgB2AbbniiS/o11WhO6qaA3KlYCy 5LpbCtIpTVc8+Hr/pdu+wDKOYKMU1x3Co7RJPcQDRTDBXbAn3UOdmYo48WkNu3mDMU4Dkd3bbw5 K45RxGgRtI80+uqgWHFtKkKHnUi/KtbJH+4tT+bTmk0bhPQ7fqcgh/q+Pg9ijh4Zmfh6yyOwq7U TY6rIOEV6WalGxA0WrT7qNqvvIV4jB42F1qdYuSD4ce3AGZ9iemrKyl7qTE5LfOEMezpQ6lEr5P 5RRxrJOOFtAHSKMf7H+8q039bFTIzhHKyG2hin3YL0duAYz55SGcBdfcPLxdfPga7JS04y2xkr5 /04dhHN+1c65cwArcgWGGuCapxI2hvyEJdJEUg0Ny0+ezM3BvVFt8KW4xAa4rcO+mRjvvTFEfhT wwRHE77XpXq8zpL4yzW4wHiT023lGqHKQaBfqtJOzpD56dgQlZYX8zIZ/XVnz80DVKdb0VuJ6TI Tjtej0zBwwzi2noJhR4vy8malCbdiMtieCLlMibgq/nXB9FCnsQjTIIIn2oZI3uZfPtT8hn2TsF ASBniHYS1DB52vO23N8V8cd3Idv3x+i7LCDlX/FL99+cCvn8L/PVicsv9qc7QKgIiy2f2JaIrej lGHVVieGgj1UMyQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTA4MDE2MSBTYWx0ZWRfXy+PIXroYyv91 8SAByHFjmOKYB5oXuT2ZPTfd4J3tIU0pUACm1njs8kEYAk2+2suMDZOKEnVzmXpSjSb1WuMfD4H EPqTA669du3nCZkBRT9lFApG95QkP3c= X-Proofpoint-GUID: gg2lla5GBj05AtHhe2ztuRhxEgX4iQ_v X-Authority-Analysis: v=2.4 cv=VYjH+lp9 c=1 sm=1 tr=0 ts=6aa0228a cx=c_pps a=UbhLPJ621ZpgOD2l3yZY1w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=EUspDBNiAAAA:8 a=fYsbkC7JaC8eFfGKQicA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=TOPH6uDL9cOC6tEoww4z:22 X-Proofpoint-ORIG-GUID: gg2lla5GBj05AtHhe2ztuRhxEgX4iQ_v X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTA4MDE2MSBTYWx0ZWRfX5WG3xUuRDoAw xoPlMBTZNwUsLiTL2sa/O4zgrGQQATf3OAwx+gKaNOvx3rY7WtkYDZHQ3Zvf7leTIpyXbL5+jPN wY7mZ3brEuFL32YOtG8QZm9LHkwjG/da7fxLZN7QuWq0bfC2W2GUO8YZwYtKF3KYWlM0oNwZPYy y+9zcQZcX0JWSaaMTR9VL5sV9t4eXUqE6i0zru61FfEpX0TH8laRfyXFA0i1fHtF2Wqc+kV4ROX 30uaCq0tt5+LhpsOr3RJhxspckvxyc9BPy0tLMm+NAI8V36WAoJGky/wFkXdgBi/Jwy1uQBCxvH YnfJJRD5FBu8w5hycmVC3Hw0wLwHOVzOxSliwx6SL1el7qRPeRGxT2kiOunnHOwcRhDvoc9OcK0 RCZk9DRDA5qETEfejf0XnF6iXsfzcy2if8/APPXGFxKHeIN29EL39tdmFW6NxDFzr87IQdgI/5r eWmAwqnkKoqmOQXTKQw== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-08_03,2026-09-08_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 malwarescore=0 bulkscore=0 phishscore=0 adultscore=0 priorityscore=1501 suspectscore=0 spamscore=0 impostorscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2609080161 ethqos->phy_mode is read by serdes_powerup() and qcom_ethqos_set_sgmii_loopback() to configure the SerDes and its wrapper for the correct interface. It is set once at probe from the DT phy-mode property and never updated. phylink resolves the actual runtime interface and passes it to the mac_finish() callback. On platforms that only ever operate at one speed these two values are always the same, but when the interface changes at runtime - for example switching between SGMII and 2500BASE-X =E2=80=94 t= he stored value becomes stale. The next serdes_powerup() call, on a subsequent link cycle, then reinitialises the SerDes to the wrong mode. Update ethqos->phy_mode from the interface argument in ethqos_mac_finish_serdes() so that it always reflects the last resolved interface. Signed-off-by: Bartosz Golaszewski --- drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c b/driv= ers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c index 47b70b5e706f221c01f1c0ae3b1acafae6641165..fd7414a50eb4e7d4d5adad7e93d= 49a55500c7f32 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c @@ -634,6 +634,12 @@ static int ethqos_mac_finish_serdes(struct net_device = *ndev, void *priv, =20 qcom_ethqos_set_sgmii_loopback(ethqos, false); =20 + /* The interface mode is only known once phylink has resolved it and + * may change at runtime, so keep it in sync for later + * serdes_powerup()/serdes_powerdown() calls. + */ + ethqos->phy_mode =3D interface; + if (interface =3D=3D PHY_INTERFACE_MODE_SGMII || interface =3D=3D PHY_INTERFACE_MODE_2500BASEX) ret =3D phy_set_mode_ext(ethqos->serdes_phy, PHY_MODE_ETHERNET, --=20 2.47.3 From nobody Fri Sep 25 20:48:29 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E879455409A for ; Tue, 8 Sep 2026 14:58:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788879520; cv=none; b=DTdrtZJtmU5ApFwccZP42BogpZnWv9W2RHxiGLzYQD2JVKPb3up50UOdF/ecvFg9v9dcUmcllbd7b6aictp3j2ak1mNP4xpuWl4wHY29mVFeonodbWOp9WpgAaxdJJFq7ZXNChf8Dlh5QeGvvqTDuZyv+nLuIx6TlnFPl2Se9sQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788879520; c=relaxed/simple; bh=M/9Buofcj2PjilwTJ9Q1IxG9YNjNHQfn3EQa0/hj4g8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Rz50jyp57DFX0atMruTAJKC5TsVaX5bmJ/8L80sIY84e+t6kEOSWnlVmcpYi8vB5kVV3mKsj31aaMIOd2sMjAsQrtdZL5YINB+jsM/aFSQDmsHwhWrhd9C31CZbtrlZwoz0Xr+l0guHzcGRVQQVRd/iDugjzSE5fophuFMSc3J4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=owMTvjhe; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=aAj3qnZF; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="owMTvjhe"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="aAj3qnZF" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 688Ej9ct2770954 for ; Tue, 8 Sep 2026 14:58:21 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 1jTusoWpqoD9KCpjJ6MCY4jjjsYt3moPnSbDwm2nlw4=; b=owMTvjhep613AUYi 4aYU2+30nMpcnpwJO5Rfep6JNhv4IcadNAWpS6ouRx4yDyrjf7QjLPv7rEyeTgqR pkL9wP2yLl90OATvPstL1HAn7ND2AjnYh8YVosI2nkop3fIrIcop4eT/L3x3qHsr QZlfcaHDLqpY9Oq5HSqTJpt56roGtDoNLtaqlZPZP/FFrSW14C4l/0XdUzpbE5LI fzNtGi01D9R+FypsogxfPd8wqyoiLwxOWXAyZAOqCZA8OJKo6KgtN2qs5HI68FI8 JW3OVZyhHFM3zBBvDXvMVzSCiQg8dyEm41TgMo1wm51Z+SNp5lshyAEsq2/X0+zb el0aSQ== Received: from mail-ua1-f70.google.com (mail-ua1-f70.google.com [209.85.222.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gjcvuj6p6-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 08 Sep 2026 14:58:20 +0000 (GMT) Received: by mail-ua1-f70.google.com with SMTP id a1e0cc1a2514c-97cb2f3c6f7so356699241.2 for ; Tue, 08 Sep 2026 07:58:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1788879500; x=1789484300; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=1jTusoWpqoD9KCpjJ6MCY4jjjsYt3moPnSbDwm2nlw4=; b=aAj3qnZFGUbLMqeRVQajcVsYq4bRzZ4mgN213pO8+7JeiUj1gSDJVgrR1Ebj7+yJ8c qW6QSkvuEnBsH6d9D8Auu6Wsqz09ker7v6HzaArpZAZGzJZhsp8Jn97cxvmg/MQtNpZA XIz1t7afD2W9R3Q1CrkaifINwKb3w55JM9WLoMXhcJxuVYzu3goa0ekcIeG3ExH+yHMi RiNZzFOam8Z2YH60Iq9o/7FtusJJJma9oms/kYgeb8mtYTqzLD2W9Rg1YTDwsX7UwqJ7 UrjlHDaJoPv0ftRowX+s5+iahiy3zLX36XlOpoJzhHUs4JKw2k9H3WuDKO+nr4z0pqDh y/sQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788879500; x=1789484300; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=1jTusoWpqoD9KCpjJ6MCY4jjjsYt3moPnSbDwm2nlw4=; b=hB0iCQP4NPkOGALA5OtMUt+EjGfSH4jfLVZobvutbCVIXdd7hgWTJ16qVm18OGX+mk EXCeuc+6b4vQLQTEnFXXTvnfo1eMJuZK4AK3Zzmi0SsT0RRWStcAgcF49iLXeVYbE0pg vfUogZQ9jIq0aUdhIPK9aodOMc4fBB63pMFnEYg+dGNmwetcjsmG8iFebzyaxI/Klgb3 3b8lG8aOkKBImNa9BmqFCVY8B6mk78KR0JneZsDkh+DENnwoi/GohNf/w5QG+3bY7mkm ehzP17U7rEANqkgBJvhIf/Inqcp8aLwp2EaHKnsW+Dl7zAxDDIG1jTnFNqvmYSGMzSyQ efAw== X-Forwarded-Encrypted: i=1; AKwUvBxbMtY/rQqpNbEDqaNaSkAIy//Vkj3RGUAZkLlUY9FUlZPNRpl2jdP6EOS7B291v8GttquYf1abJVggRKU=@vger.kernel.org X-Gm-Message-State: AFuF++mmxfUUqMSr6/xc65RaSpM1EEfCboxZkD5AjOr9L5jbDeBV9z14 oUamJzTPfHGAim99fsPJ9k/Yzqk72PMQcM1acONcbxNSQ4bjS/PO/NfRmktnpEPO211DQa7txaZ Ilh8bQer0XA1kA5FhzbIHN947klqAaD9ER7HTYktYvv63PiOvZC6Jfq2IrDCCaZDVUAE= X-Gm-Gg: AYBFou0dxRxrkStWf0NYjfXhkWbRbmV/lvYWiugPS3hsvv5LeBtYZW7+WM5apyMEI/3 6kNKlPJPrhSLrH9Hixs7ScrDFiKUmCkVT4xMcmUF+K6IyhlG3yvEW4h8T3quR6K6Xv3RF39SJXE ibLyrA2u8mMbAZshmlbmksdZel/bIiswskAjcpAW8d9nxwFnCkLUqP+0pXWmXohAUf2orrVH1R6 8td68wn/dnJaKRqphgvRcPwzuRgAtaDqWIA1sZ+Z+6P0ee0VtmUIfu8NfbYlA+SgkjJCY+JGSpL TLe5tDIlVlFx3UV8hccDkGoP6gjKMYfjMviebmeCeXk3ocDYQrhdxtTKBctOsgSGI5EdoasiO3f yi8PJo8mkvQr+fn1sMi2Orq54CG91 X-Received: by 2002:a05:6102:2ac4:b0:778:30ee:f44b with SMTP id ada2fe7eead31-78a4ab31a99mr9637203137.13.1788879499714; Tue, 08 Sep 2026 07:58:19 -0700 (PDT) X-Received: by 2002:a05:6102:2ac4:b0:778:30ee:f44b with SMTP id ada2fe7eead31-78a4ab31a99mr9637151137.13.1788879499260; Tue, 08 Sep 2026 07:58:19 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:79a2:f118:df09:fe51]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485958f1493sm25191276f8f.37.2026.09.08.07.58.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Sep 2026 07:58:18 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Sep 2026 16:57:26 +0200 Subject: [PATCH net-next v14 07/10] net: stmmac: qcom-ethqos: fix SGMII loopback not set on resume after speed change Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260908-qcom-sa8255p-emac-v14-7-ec212b747a7d@oss.qualcomm.com> References: <20260908-qcom-sa8255p-emac-v14-0-ec212b747a7d@oss.qualcomm.com> In-Reply-To: <20260908-qcom-sa8255p-emac-v14-0-ec212b747a7d@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Maxime Coquelin , Alexandre Torgue , Vinod Koul , Giuseppe Cavallaro , Chen-Yu Tsai , Jernej Skrabec , Neil Armstrong , Kevin Hilman , Jerome Brunet , Shawn Guo , Fabio Estevam , Jan Petrous , s32@nxp.com, Mohd Ayaan Anwar , Romain Gantois , Geert Uytterhoeven , Magnus Damm , Maxime Ripard , Christophe Roullier , Bartosz Golaszewski , Radu Rendec Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, Drew Fustini , linux-sunxi@lists.linux.dev, linux-amlogic@lists.infradead.org, linux-mips@vger.kernel.org, imx@lists.linux.dev, linux-renesas-soc@vger.kernel.org, linux-rockchip@lists.infradead.org, sophgo@lists.linux.dev, linux-riscv@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1420; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=M/9Buofcj2PjilwTJ9Q1IxG9YNjNHQfn3EQa0/hj4g8=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqoCJtPEfTx4lMAuscmYS50twwqIkudyRPZJ+SL 07thj6YQuGJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaqAibQAKCRAFnS7L/zaE w7QzD/4wAkPdm1bk0HVl/ZJF/wSwT+FFKyLR7R6zsVVdqSLVbG98nFldIWBBhPCoHhWaa/nKYQ7 ghiB/rKnjn1NjO607l+C6hKGRIjHhhIQeFTmfH6tkPTUDMYkoj5tNCLhclHbnI47ZcdcDGwFHQH DstjQXudubsIwU81fFgL54Mi6jMYquXGdb233Q6PBWFa7wNd5tnmhtYDwA60Ko43AHhHUJLMA+Y +t8bRqMav1PwRLp9XW6yLafq5BA3uW+VwmeciVdQHu3hIjWaOKOgzjdpcqRXpwyV7ptfQ3PdXdS LvJcTgA9f+1yXNRI0yCdULY+M4Iseb2LqdMy0XCWpnetbRvSjzJEH2OCR3Eu0siJfUwGVZmmlMF HjcMDh1hJuQwJ7Ej+iVTYo3K3KfTB81LP6BtA2WdDxvGSZSDKICJuAuK4z+hdtX3Ozrbsr0vx1D D+sRfyd1DP/QwVh0aGfKZmcUWS/zk5Tb/ZUJFx84TvCDXGRgH0tzsyT5elumuHqG1eDYa5GNtcS cTAGeh/iUjkMo61N5mshpV+kqCyOpFPh9RWH342EmuMli3GbOhyBCiWA3HD6Kun0XJSxeV4KsVO Gz7t4kA9KKjWTOBIGV3ASkOeawOEoSYwCODprNyTMVYyHIqN4Vh9SqwGDUauxzjecZQ9rWXBLTI iIAtQtTgM4Fw7hw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=ePkjSnp1 c=1 sm=1 tr=0 ts=6aa0228c cx=c_pps a=R6oCqFB+Yf/t2GF8e0/dFg==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=EUspDBNiAAAA:8 a=PjAGQVefHaMtIuCO3vkA:9 a=QEXdDO2ut3YA:10 a=TD8TdBvy0hsOASGTdmB-:22 X-Proofpoint-GUID: 3MB_WlHaJtVBRvE1j9BI_aNaw90b9HxC X-Proofpoint-ORIG-GUID: 3MB_WlHaJtVBRvE1j9BI_aNaw90b9HxC X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTA4MDE2MSBTYWx0ZWRfX9GUGlACDZNPN Z4DCD9Y8xTteEnSeYLaJkcff2EGooYkO5i84Rg/8d22lqLJBr02O2EvmfDJJl4x2B64WPwLyPUZ 3O4N3f93Js84aoJssRYo453lJHXVTV6fxvt6w4OW72crvkfOJ26lkXzZ6znecuIm88RcCUURiD7 U7HXxvke85kg7+ZOlhTHP94ozfr24xi+wKGlveUpzRiIZoDRYffIgH9T/lGDkBUPBVAPVITKHst G9RZOvRk1LhIcz9VZrS1i+9z2X1T5GjNVavxll+YfeARmameGNpg6J3AU8bz0hXuRrZZB2JvKo+ ubIl3HfoUVn4220+XPTc6dSN+oycH4JyF76asyu+iiN90AIkU/IdF7DXC808Ho6EivHy28NciG/ Q3KTKQu91JC+UI6honmPaBGEmP8hRbIWauHrTGulatwEFqzfFW/RM8u20iVnzktIXDWMAs/qCjP v1uaNrtbECPn0CXgItg== X-Proofpoint-Spam-Info: AW1haW4tMjYwOTA4MDE2MSBTYWx0ZWRfX+tUGRjECn5sx ujgxEi9sWGk5KTWQjUXqpRz/fta+sOwd9wVNcmkD+sg7bItqQl/RcMTHdoLJIcxipaY1nCM++YN sNQabFtfw20mn8pHTbSk3t/4O1JnoQw= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-08_03,2026-09-08_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 malwarescore=0 clxscore=1015 suspectscore=0 priorityscore=1501 impostorscore=0 phishscore=0 adultscore=0 lowpriorityscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2609080161 The loopback in the MAC wrapper feeds the TX clock back into the RX path, while the SerDes is being powered up. Without it, dwmac4_dma_reset() polls a clock that never toggles and times out. qcom_ethqos_set_sgmii_loopback() gates this on phy_mode being 2500BASEX. mac_finish() now updates phy_mode to the runtime-resolved interface, any subsequent resume with a 1G SGMII link skips the loopback setup and the DMA reset hangs. Extend the guard to include PHY_INTERFACE_MODE_SGMII. Signed-off-by: Bartosz Golaszewski --- drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c b/driv= ers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c index fd7414a50eb4e7d4d5adad7e93d49a55500c7f32..e067ceee016217c49d3b3d572fd= 9f33e562d1a75 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c @@ -190,7 +190,8 @@ static void qcom_ethqos_set_sgmii_loopback(struct qcom_ethqos *ethqos, bool enable) { if (!ethqos->needs_sgmii_loopback || - ethqos->phy_mode !=3D PHY_INTERFACE_MODE_2500BASEX) + (ethqos->phy_mode !=3D PHY_INTERFACE_MODE_2500BASEX && + ethqos->phy_mode !=3D PHY_INTERFACE_MODE_SGMII)) return; =20 rgmii_updatel(ethqos, --=20 2.47.3 From nobody Fri Sep 25 20:48:29 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 586EC559308 for ; Tue, 8 Sep 2026 14:58:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788879538; cv=none; b=G6dNeb7tDVlyxTfDCmGH9Xi/D20MQSlho2vi9U5iKm6dQJTpcdSj36fbspS6zV4WNp2zee8Tmb4DZ4vBIjxfyeYeGGrx9uKKvh6GunhL/T8SemxOaex4FfQTRol/VvEyzbD6mFKzqoFktDdQY6/xItit9RwtsDSAC4chwJ+3hdE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788879538; c=relaxed/simple; bh=t8otp0UprQhPEc27ImF7K2VwOwzg/wYCq64pw1qmrCM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=mxQnyvTNgM8wFPDk5SOI5XoCybw4uDpJPjDvmJkypnxcm574pFQqryUnPtf0SlbkRuLjXjLjdiJfPwTmGSDtglQib5t0hvFx9k1ZbrIlvxpL1+b8MCFJ0+dYeeMpsdFTTud3l8BNUw6o4/TCYRpXp/bl1FtFELPqQye7CnQAhZ4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=H4z/o2yJ; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=OGeafbbI; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="H4z/o2yJ"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="OGeafbbI" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 688Ej1Lg2770475 for ; Tue, 8 Sep 2026 14:58:23 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 37soDkv7vOtc95esEyY4ccUtIDMgJqrjFnjzotH9yLs=; b=H4z/o2yJC8UxZGCR xFEzscQSudfM9SE2UJKDj33hKZAhPS4KJN5C7jSDj0KE2WH9bTteqK1WehXS555c NV5XBETqwu0m9nxq7N9I/i4w+6XBrFHHVv1zb4aSmgT9+VdhVg371doikM1t9ekE gJQRLT9SCDJnIAEaTaIpbbqL0g91IXLFJuqpERHD90LTo8c/ATGEedbgWYCkAqpz sag4MwP9RCWlT75VK4ztVYFsEKEKACz6+8wTfVjq9ZIzCAFKfPcZRV706mvaHUIb TfbweBveylWP1sVjsRKPXB/4eDrAVscj1upzAlq7YDP6M4TDtyD8UC9glf4E2pvb CSwhRA== Received: from mail-vs1-f70.google.com (mail-vs1-f70.google.com [209.85.217.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gjcvuj6pf-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 08 Sep 2026 14:58:23 +0000 (GMT) Received: by mail-vs1-f70.google.com with SMTP id ada2fe7eead31-7819910f8adso4061329137.3 for ; Tue, 08 Sep 2026 07:58:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1788879502; x=1789484302; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=37soDkv7vOtc95esEyY4ccUtIDMgJqrjFnjzotH9yLs=; b=OGeafbbI8nnwYpsO4RKkOgjltu/S8gl52gPRjnbNAdf90da1IhJVp+ZUsxJ916hWyd Evs04IfWa0Cp7ygcmpZKsnEFIjDOmDk1+fP4gYNio+G3IbyphUQOEvD6rJdPoOCH3qmV 6lNC0TsbfUGFQVtEW4rnbbsWwhfgKUvO6urX4ZOAwC70tZ9EQig+/dLT+GU8MPHd+p0H o3VKNAqQqZCwg47BwBfvzFUZlsJ3Cvx/yG9MxuTZxnAGlXLMeQIgoHtdB8XdIYYrpeaN OppCF4xzv4O3Fvt6HAefw4XP/BALWVpjatQ7xCj4dtFZzdyNqeE81yh5QlG/K9Q9wlme RcqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788879502; x=1789484302; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=37soDkv7vOtc95esEyY4ccUtIDMgJqrjFnjzotH9yLs=; b=cL2solnaReXwG8ork2putWlf0QO0JWhDSByzmY0fHKNvSW14nx27NoAEe2ktbf4dh2 HfpRLKOoSt3Td96DB62nopJLNCNB/PN3XxSNVlivAHw2Z5axAoOvAWFBIlYFfDSamvZZ fgiMnR2lr7J8cG9OHDnLe7Mg1Gfmvmxtz47PXogd3C3cYbT8x5JJg0VoUtKOlXEnYIjq tCdRLLyiCwjZz8WV6y411lYnXt9Rx5S3TiG4BBr8JVg/b7P2wHc0yXCpfBuU2i7iIJVK psqEIOLJcIaZ6C/1+pKaV2Tpw3foSsOAbPfJPOERWpKhBsT6WLU90NwZ2uQKPX4YEJOX FMBg== X-Forwarded-Encrypted: i=1; AKwUvByh7gCKl8jR+TaIDCrnxLr8q+pjfSVEKlD9DqKqpotsGfZJkNdAQavxPRw3TrgtrIeiwAC1E1HbigU1NEM=@vger.kernel.org X-Gm-Message-State: AFuF++noiPL7/pJ7IOXpX/DDVXattFlwEQq275Wa/exeH4OphNpagC8J SVZKtj6W25OXTw9TJk6V/2yFeJ6MTGcOIA8iYmVbud7SBAqlQ22z7QymgEWdRR2/4yWnlmJhP2a 34pHLHpJkuwrIl05IVDsjbTaXU729KpyJkXVeT3IGGtMblk8HfIHSvrmOA4kdAsXRtwY= X-Gm-Gg: AYBFou2mGRlRFPEvKiVi3qrCxjmtXD05fKXhUhPntiq8HJ/axU7QHmlTlrTMVw02MKI hKK3pWA3bPfqbkeMUQgblQ/znX3gWxXvxva/8DEEqNZnwhRUw9zGZep9DZ8KGczX2pCzXWNsXpf VPg1N7QbXvtlMsQKlzFQ6Ay9SaSazVhxqcpOk33F3VuVuFOU7LPi0ohYV3PHAwwH2hdm//SpSRy 0a0E951WPiBqvzQjfJ46mxrm03PA78ZBeyi86KQg5Ss1JNnNDh1gf3QopDBYQYu1/IMEnaod0BZ EzniH03cBRJN3BMcQM3CJBb22eKjkRClNIU8Fh18FhRUbtdNkwH8Va1MWAiJwoCwbeibGLOcT8o QjXtT0YD4HN4gG1xbY/zaUGu+K4Ax X-Received: by 2002:a05:6102:f8a:b0:786:c86c:8fe4 with SMTP id ada2fe7eead31-78a4ab73095mr13389860137.13.1788879502539; Tue, 08 Sep 2026 07:58:22 -0700 (PDT) X-Received: by 2002:a05:6102:f8a:b0:786:c86c:8fe4 with SMTP id ada2fe7eead31-78a4ab73095mr13389825137.13.1788879502058; Tue, 08 Sep 2026 07:58:22 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:79a2:f118:df09:fe51]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485958f1493sm25191276f8f.37.2026.09.08.07.58.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Sep 2026 07:58:21 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Sep 2026 16:57:27 +0200 Subject: [PATCH net-next v14 08/10] net: stmmac: qcom-ethqos: reuse the address of ethqos_emac_driver_data Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260908-qcom-sa8255p-emac-v14-8-ec212b747a7d@oss.qualcomm.com> References: <20260908-qcom-sa8255p-emac-v14-0-ec212b747a7d@oss.qualcomm.com> In-Reply-To: <20260908-qcom-sa8255p-emac-v14-0-ec212b747a7d@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Maxime Coquelin , Alexandre Torgue , Vinod Koul , Giuseppe Cavallaro , Chen-Yu Tsai , Jernej Skrabec , Neil Armstrong , Kevin Hilman , Jerome Brunet , Shawn Guo , Fabio Estevam , Jan Petrous , s32@nxp.com, Mohd Ayaan Anwar , Romain Gantois , Geert Uytterhoeven , Magnus Damm , Maxime Ripard , Christophe Roullier , Bartosz Golaszewski , Radu Rendec Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, Drew Fustini , linux-sunxi@lists.linux.dev, linux-amlogic@lists.infradead.org, linux-mips@vger.kernel.org, imx@lists.linux.dev, linux-renesas-soc@vger.kernel.org, linux-rockchip@lists.infradead.org, sophgo@lists.linux.dev, linux-riscv@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=5580; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=t8otp0UprQhPEc27ImF7K2VwOwzg/wYCq64pw1qmrCM=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqoCJuBKnVHFtZhqYV5cvtIg87432RnUOnGpPR4 KNi1esqCMiJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaqAibgAKCRAFnS7L/zaE w+RKD/9nKk4RbOiPwu72iSEC6P5rVRbk4NCQNHhGDOO/pS3t52XnDZN53QDIv1Te628qJngsc57 8PqQrDbGBZ3drp18j/Wf4d4bPE/VOmL9/7pTMWUFPo4eCSdN+E/VaVdFYNFaC5j5aKR60wufH5H poMkZterOA+riDCRpuGSE7SUnuk+leapL6jTXZyGky7LJwXjf9RrKoxeDvIEc2AdaQpSTb3TkT2 zfdBXskiwa0IFdoZ/lhafp/RkG3Ivoj/SiQ6VqFKhlX7ntU0YX+K5Uey3cewN7CvtnPBfNHfnBW n1M5YzUjl0EjGS3IwQ61I+WWA+nr0yklYcOn2jm9wkfwzqtLtkXPsDiLUY+PfQjl/6NQtZc2Ocx fMIg+4lLrycfuNyPtx/s2N+lrG+hp8/m+ntdhT/rplaS8oQ5G9M3CkneokV+QgH0jYhVmtSiaxB X7s63o7FbfBmlD4J3KzfUOCVsxtKCvOZb77Fk2eY+SMPfGNr3Cgr4q/9bF8FAGdRFRW4W/7KDlr JIYdwN0ucOfYIjAX5RK7OxN1LLAjm1nmmj4Z5yS0yunSjfYR4XXAkm7FQIhnjuv7lpDNFQdXQDY dG4QEyZZ4SpWKwKzofroNl18WCUG22Q9CxmdEmNzLTGfcVpTG204fH0bUweOl3FFpkr2tc3EQdT mn3+xDJLA5yTXSQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=ePkjSnp1 c=1 sm=1 tr=0 ts=6aa0228f cx=c_pps a=N1BjEkVkxJi3uNfLdpvX3g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=EUspDBNiAAAA:8 a=7cvh1xCDNGPN4v1KGpUA:9 a=QEXdDO2ut3YA:10 a=crWF4MFLhNY0qMRaF8an:22 X-Proofpoint-GUID: oC0wpHqkGYU9UvT1I0g97B1G4X2GdIus X-Proofpoint-ORIG-GUID: oC0wpHqkGYU9UvT1I0g97B1G4X2GdIus X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTA4MDE2MSBTYWx0ZWRfXxrTWI8KOuVau L4sdAz7BdbUGQ21jX2PfipQObdkEZtsXOZtTfBRsY1cZ4DPwDbbMI55nCHRwS67dOEXOQfg/Asl z7NwJ6tG8CQn1F2yizyHbJ27l8SY8793ZRUrFgZllO+41ZW3LnJ0hWXXXrYn0URh+yR5kjPyWRN CdZtpoV7eZRCaU2k1ixaoKr9eAUXjbDRr30xBnrG9HKfX9xPPJ8JQOvyzefdJ2s7YyYt/6M353D u+DO0fIhTft5/dnfAQa5rHmfdBq17/GUXiR7nJJbwqMY4HdtrfKy4hrIfTpc4jVfX79RWvgpbL8 CUif0j/N54h2nCQynNUKNEsQ+TdMuP0kbP8K/7IMvjZN49z9pGieyJbNHl901vb91898w74E3fb 366r7fn0SzKKbS8rEp0VRNNTqYKr22a9yddYhgxcWJxKqjRdkIv5OF3pQwf1aF22aeNU8+BTRY8 PZCQuGgEPCPK1Cr5OMA== X-Proofpoint-Spam-Info: AW1haW4tMjYwOTA4MDE2MSBTYWx0ZWRfX9vquxBD5Lihu ApPskt4EhOvaQ2HbWPmC9wM81DmOntiejjQO0Q6TpJAdG2TGOjMnBwmY7cZ/cs0J8GVJuGw8x8T uysQqdhZJBDUMFtw0EOiK6KjPOi3qgM= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-08_03,2026-09-08_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 malwarescore=0 clxscore=1015 suspectscore=0 priorityscore=1501 impostorscore=0 phishscore=0 adultscore=0 lowpriorityscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2609080161 Instead of needlessly copying the fields of ethqos_emac_driver_data into struct qcom_ethqos, just use the address of the former as a reference. It's .rodata after all. This is done in order to avoid having either two calls to of_device_get_match_data() or having to extend the latter with another field when adding support for SCMI. Signed-off-by: Bartosz Golaszewski --- .../ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c | 37 ++++++++----------= ---- 1 file changed, 14 insertions(+), 23 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c b/driv= ers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c index e067ceee016217c49d3b3d572fd9f33e562d1a75..ab1bcb7eb18e22f01556c190f7d= 8cd8eeba4d0c9 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c @@ -103,12 +103,7 @@ struct qcom_ethqos { struct clk *link_clk; struct phy *serdes_phy; phy_interface_t phy_mode; - - const struct ethqos_emac_por *rgmii_por; - unsigned int num_rgmii_por; - bool rgmii_config_loopback_en; - bool has_emac_ge_3; - bool needs_sgmii_loopback; + const struct ethqos_emac_driver_data *data; }; =20 static u32 rgmii_readl(struct qcom_ethqos *ethqos, unsigned int offset) @@ -189,7 +184,7 @@ static int ethqos_set_clk_tx_rate(void *bsp_priv, struc= t clk *clk_tx_i, static void qcom_ethqos_set_sgmii_loopback(struct qcom_ethqos *ethqos, bool enable) { - if (!ethqos->needs_sgmii_loopback || + if (!ethqos->data->needs_sgmii_loopback || (ethqos->phy_mode !=3D PHY_INTERFACE_MODE_2500BASEX && ethqos->phy_mode !=3D PHY_INTERFACE_MODE_SGMII)) return; @@ -323,7 +318,7 @@ static int ethqos_dll_configure(struct qcom_ethqos *eth= qos) /* Set DLL_EN */ rgmii_setmask(ethqos, SDCC_DLL_CONFIG_DLL_EN, SDCC_HC_REG_DLL_CONFIG); =20 - if (!ethqos->has_emac_ge_3) { + if (!ethqos->data->has_emac_ge_3) { rgmii_clrmask(ethqos, SDCC_DLL_MCLK_GATING_EN, SDCC_HC_REG_DLL_CONFIG); =20 @@ -353,7 +348,7 @@ static int ethqos_dll_configure(struct qcom_ethqos *eth= qos) rgmii_setmask(ethqos, SDCC_DLL_CONFIG2_DDR_CAL_EN, SDCC_HC_REG_DLL_CONFIG2); =20 - if (!ethqos->has_emac_ge_3) { + if (!ethqos->data->has_emac_ge_3) { rgmii_clrmask(ethqos, SDCC_DLL_CONFIG2_DLL_CLOCK_DIS, SDCC_HC_REG_DLL_CONFIG2); =20 @@ -433,7 +428,7 @@ static int ethqos_rgmii_macro_init(struct qcom_ethqos *= ethqos, int speed) rgmii_clrmask(ethqos, RGMII_CONFIG2_RSVD_CONFIG15, RGMII_IO_MACRO_CONFIG2); =20 - if (speed =3D=3D SPEED_1000 || ethqos->has_emac_ge_3) + if (speed =3D=3D SPEED_1000 || ethqos->data->has_emac_ge_3) rgmii_setmask(ethqos, RGMII_CONFIG2_RX_PROG_SWAP, RGMII_IO_MACRO_CONFIG2); else @@ -457,7 +452,7 @@ static int ethqos_rgmii_macro_init(struct qcom_ethqos *= ethqos, int speed) * in practice this becomes PRG_RCLK_DLY =3D 52 * 4 / * (2 * RX delay ns) */ - if (ethqos->has_emac_ge_3) { + if (ethqos->data->has_emac_ge_3) { /* 0.9 ns */ prg_rclk_dly =3D 115; } else { @@ -473,7 +468,7 @@ static int ethqos_rgmii_macro_init(struct qcom_ethqos *= ethqos, int speed) SDCC_HC_REG_DDR_CONFIG); } =20 - if (ethqos->rgmii_config_loopback_en) + if (ethqos->data->rgmii_config_loopback_en) loopback =3D RGMII_CONFIG_LOOPBACK_EN; else loopback =3D 0; @@ -496,9 +491,9 @@ static void ethqos_fix_mac_speed_rgmii(void *bsp_priv, dev =3D ðqos->pdev->dev; =20 /* Reset to POR values and enable clk */ - for (i =3D 0; i < ethqos->num_rgmii_por; i++) - rgmii_writel(ethqos, ethqos->rgmii_por[i].value, - ethqos->rgmii_por[i].offset); + for (i =3D 0; i < ethqos->data->num_rgmii_por; i++) + rgmii_writel(ethqos, ethqos->data->rgmii_por[i].value, + ethqos->data->rgmii_por[i].offset); =20 ethqos_set_func_clk_en(ethqos); =20 @@ -512,7 +507,7 @@ static void ethqos_fix_mac_speed_rgmii(void *bsp_priv, rgmii_setmask(ethqos, SDCC_DLL_CONFIG_PDN, SDCC_HC_REG_DLL_CONFIG); =20 - if (ethqos->has_emac_ge_3) { + if (ethqos->data->has_emac_ge_3) { if (speed =3D=3D SPEED_1000) { rgmii_writel(ethqos, 0x1800000, SDCC_TEST_CTL); rgmii_writel(ethqos, 0x2C010800, SDCC_USR_CTL); @@ -539,7 +534,7 @@ static void ethqos_fix_mac_speed_rgmii(void *bsp_priv, SDCC_HC_REG_DLL_CONFIG); =20 /* Set USR_CTL bit 26 with mask of 3 bits */ - if (!ethqos->has_emac_ge_3) + if (!ethqos->data->has_emac_ge_3) rgmii_updatel(ethqos, GENMASK(26, 24), BIT(26), SDCC_USR_CTL); =20 @@ -750,11 +745,7 @@ static int qcom_ethqos_probe(struct platform_device *p= dev) "Failed to map rgmii resource\n"); =20 data =3D of_device_get_match_data(dev); - ethqos->rgmii_por =3D data->rgmii_por; - ethqos->num_rgmii_por =3D data->num_rgmii_por; - ethqos->rgmii_config_loopback_en =3D data->rgmii_config_loopback_en; - ethqos->has_emac_ge_3 =3D data->has_emac_ge_3; - ethqos->needs_sgmii_loopback =3D data->needs_sgmii_loopback; + ethqos->data =3D data; =20 ethqos->link_clk =3D devm_clk_get(dev, data->link_clk_name ?: "rgmii"); if (IS_ERR(ethqos->link_clk)) @@ -791,7 +782,7 @@ static int qcom_ethqos_probe(struct platform_device *pd= ev) plat_dat->dump_debug_regs =3D rgmii_dump; plat_dat->ptp_clk_freq_config =3D ethqos_ptp_clk_freq_config; plat_dat->core_type =3D DWMAC_CORE_GMAC4; - if (ethqos->has_emac_ge_3) + if (data->has_emac_ge_3) plat_dat->dwmac4_addrs =3D &data->dwmac4_addrs; plat_dat->pmt =3D true; if (of_property_read_bool(np, "snps,tso")) --=20 2.47.3 From nobody Fri Sep 25 20:48:29 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 122EC530DE3 for ; Tue, 8 Sep 2026 14:58:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788879528; cv=none; b=uFCUeYxFFWNu7IoGzCgtWWTJcSpLIF8GMo8hMELdSJngZ0NUjxJ/1IGiS51boAf0uJbBx9Z9l2t82OCxxAazK9bHWRFVqLCwSQReDX9AulH/GVfhO8QdWeqzcCwfqTn81I6d73UTRRF9mAB7hAg4WqCvvSkuAiUxJ/vASWB/iHc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788879528; c=relaxed/simple; bh=tpTcvMP4H52TudHkrbQVYa2cd+espkFD2aaWl0S9lKg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Juj5edAGOXdlT7UQl+5WiGQdtAdpSLgwCuq2SriICPGV6+e0i2WDlduGKngtYnGWwVIxPtaspVILTPmAHJhSKNT607BnFCIxZrjADKwMU5IM38rVhlTIaxvatRiWMEMIqaTICfAZPgyUpwNuiVF/wGtSTZ7onZYEb3e/73MQ9r0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=QcL90SX2; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=eIbubmyS; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="QcL90SX2"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="eIbubmyS" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 688Ej0Zb2770438 for ; Tue, 8 Sep 2026 14:58:26 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= Jfr6FHf4J3HKMLFr5umwwFEv12n51Ck9PHChu4Q8jgc=; b=QcL90SX28sMJz/oP RCEE9rGDQzWYr8VpzenkeyQmuGNcouSz4RdqSAsVENDD77fbc/t7BUICoPp3Hd/1 gxCObDlZZ0WsCYVi7yGsvKaZDjZ1xgtnOf241uQ0aP8Nu5+VO5vvjXDE/TNchvEh iYtA6y9cfN2TryAH4kmm9/CXVA5684CfxJINS0BPGaquzxEwe8wlPmeGmS6Y7rfD u/eyCJRiqFDEhL8cWpF+DlAyA+Ap0JiPFwtcv+E0BUXIJqgkjFipQs9x1UXVHqUK 6r13tIQ4P8yHW74mofiyTAd5696EdDDRFojOILM6T3B/OrEwYh7gr7Qem8OL+Wsb Ox6bYw== Received: from mail-vs1-f71.google.com (mail-vs1-f71.google.com [209.85.217.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gjcvuj6pv-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 08 Sep 2026 14:58:26 +0000 (GMT) Received: by mail-vs1-f71.google.com with SMTP id ada2fe7eead31-737d34a0dc8so3650375137.1 for ; Tue, 08 Sep 2026 07:58:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1788879505; x=1789484305; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Jfr6FHf4J3HKMLFr5umwwFEv12n51Ck9PHChu4Q8jgc=; b=eIbubmySpblM/xDCueZpG6VI4aQb5/GqVNHBKcVhkMe2cIutEDz11hos3n4nqUTBYf TKOOb7/vAdGF6qHbCv67pJ5JtM5lILmMAs5Y9CireWaNBTVbZ5gKJg83tQ2yYcHGwsGW nwlE5yaobfcAigeBLvr04WZnABTVesxsnCXTCtxrRd1p3EoQUaLEwdbIuGkL0nNhRCDt fLT0F4eLvu/ivA6aZU6clu2yD1Ae6ZVfGFZRi2INKArc6y1QSQOR9r2lUgHj5MpJvKdq OJMeb26HTD3nAcBzCIWfSUKbb1nbpnp9sHeKadqHSQ5txqDmUbRvvpUdNEGnnIeGsI4M ab8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788879505; x=1789484305; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=Jfr6FHf4J3HKMLFr5umwwFEv12n51Ck9PHChu4Q8jgc=; b=jGmfmZ21JK1wTSRq2gywYRjaYbtuZ56EY/7PTTL1Unxaa8YXssampAop7mJ0lsHfde XOeqr7ZYf0Dc7yTpyrT6sVY6yr85HCthbMEWxgn1ILzp3R4huc/DAEbsKnSl6fkBSahR EDsh5Wj+gpr+0tF+nqrrWwyr22wmSLZZqi7OvgdUh1Db4MUurr238Fm8cz/JDj2FSGtk uF+4urddUWo18C40fyKLCV87oUwrHpNTJl/zSspXVhBUN8AEQWFw13IOWkP+uhylQgbU Ll5q6alLIPV9DPaA+rukCXCgXyVT+/JDhb2wqH4+i5TOYwclifofgG3os5LS6WeTSCMP 5JZw== X-Forwarded-Encrypted: i=1; AKwUvBwWF9SaG89bzfJygwXbGKSYa0Farkuda2buZTHgQCu1VPtltDWYAqA67WRhfjX4UaTvfmCZD99qmKzccWg=@vger.kernel.org X-Gm-Message-State: AFuF++lLTOq1YilpYK/MGUkYg/b2VF69yqwsyhngf+xIHARXLR33Afcg ebwL5sqBgetNlNh7ObPq/7/ckIdJ1tCW1nSGIRgKdX2byP6eAaGOUe/cAk9IuLRGk84yfw4Vjwk ZB+cSIIZns0AaP1wN77nJiVjik4Z2x0K1S1RZtjJ1SJ/45yuogcWPsvOYQLeoPi4zmyI= X-Gm-Gg: AYBFou15/ZlzLjgYeHf3bt0mK5IeiZZsDAjRy0TAzRpwbWPzuJscf7UOu9t1zRK9cs7 p0kO5aL8eLsYPwZRHsejVTy7URGbZJ4gZhZ97Rh+04nXylaVJLUFhoEmaEWa0tFokBlYwYdrX5r 5QlNNC2JRpkjwt6FXu8Zl7ejOeCn0dw40Zlk9DbbMZZ2fNupMyd8Jg7qcYU5sBspxvDU153VKbX oY0TQLqATC3/JEMYzFgR7FQ/onaR0IADdpJmZMWhs26yHqZnqQrxShZq4It90zUYsL0kOfl4Wa4 sQT+rwJHcidcvkty6yd3VJgpijBnjD/7BwydeMAruv3KSTZDMMdUNjQ0OeOewYirwCky/lxIKQ0 cswR+7nyc5cZPyOa0WWE3aLkrD+0N X-Received: by 2002:a05:6102:5487:b0:738:1ef6:51b9 with SMTP id ada2fe7eead31-78a4a96d8c3mr12542092137.5.1788879505249; Tue, 08 Sep 2026 07:58:25 -0700 (PDT) X-Received: by 2002:a05:6102:5487:b0:738:1ef6:51b9 with SMTP id ada2fe7eead31-78a4a96d8c3mr12542018137.5.1788879504733; Tue, 08 Sep 2026 07:58:24 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:79a2:f118:df09:fe51]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485958f1493sm25191276f8f.37.2026.09.08.07.58.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Sep 2026 07:58:23 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Sep 2026 16:57:28 +0200 Subject: [PATCH net-next v14 09/10] net: stmmac: qcom-ethqos: factor out linux-level setup into a separate function Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260908-qcom-sa8255p-emac-v14-9-ec212b747a7d@oss.qualcomm.com> References: <20260908-qcom-sa8255p-emac-v14-0-ec212b747a7d@oss.qualcomm.com> In-Reply-To: <20260908-qcom-sa8255p-emac-v14-0-ec212b747a7d@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Maxime Coquelin , Alexandre Torgue , Vinod Koul , Giuseppe Cavallaro , Chen-Yu Tsai , Jernej Skrabec , Neil Armstrong , Kevin Hilman , Jerome Brunet , Shawn Guo , Fabio Estevam , Jan Petrous , s32@nxp.com, Mohd Ayaan Anwar , Romain Gantois , Geert Uytterhoeven , Magnus Damm , Maxime Ripard , Christophe Roullier , Bartosz Golaszewski , Radu Rendec Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, Drew Fustini , linux-sunxi@lists.linux.dev, linux-amlogic@lists.infradead.org, linux-mips@vger.kernel.org, imx@lists.linux.dev, linux-renesas-soc@vger.kernel.org, linux-rockchip@lists.infradead.org, sophgo@lists.linux.dev, linux-riscv@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=7477; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=tpTcvMP4H52TudHkrbQVYa2cd+espkFD2aaWl0S9lKg=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqoCJvjWHWOCPDXWJXS5vSSZxUqE1hzayX4vd+P MzfOs3fj9qJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaqAibwAKCRAFnS7L/zaE w9S9D/9nS3tATNyOBAs1H8Be4m1od81ZrXUJD3itvznkNicxqMMv8ZvLMS9dGpFZxxGVqCJCpPw UPYw9+l0sDp99MQCVj34NeuLWHZCyqGg7PUIAMCalWzSKrJI2xpHaU2fkRvkn0eIxuOe8yE9uJs 3SpbtbuO7PyS1myqG1r9HCU19rG2W2pEkvncOlu4twfQu1RU5MQwo80taf9II6+yVa6oMqfGoKN z17wT/Pkoi/SA7U7SBT/iRqTgtX8JFpwr3U9x31kg9tX4024/SR/kbhvx7Kj0nvnbIRyCJCx7sI /FlI1pHzymWABE0Q+mIHkInPahwxf8n5pqIMEA16/YHQ0ORs60eG3kP1aTcbIynJWUOeZ989XSw CZBFHljoRoIMVJ1f4px0pc8olTlqL0+bOKH/qB3mhzqIqLUB6s4gbnwGN1APBJzkOYYZYoqywbT DVAkL7AMBrmPbLjLp4vf5YqXM+TflWysTgvpZgZ8kc4ITXUqXl5Uhohv0fn+62af3q9oU0cRMXn GSUOl0EtjhFoapNY0BbUUa6jdN6LCAos4WEMMtd6sH8O0nWK3gXeuMIBw+XqZqD1wxjayvjv9ho D5KFGPKFgGnXDIlEphRYUbhIFi0GEmIXBcIIGgSHMrq1nqgcXx3N2dVBQ52Omn9pPtYOlel4DP8 J3RdmF7HMPpJmBg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=ePkjSnp1 c=1 sm=1 tr=0 ts=6aa02292 cx=c_pps a=P2rfLEam3zuxRRdjJWA2cw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=EUspDBNiAAAA:8 a=dj4JEN0qHmgdNMwDfcEA:9 a=QEXdDO2ut3YA:10 a=ODZdjJIeia2B_SHc_B0f:22 X-Proofpoint-GUID: QMBifU0UB02j4qIZZ5lJgkAds-LBLZYD X-Proofpoint-ORIG-GUID: QMBifU0UB02j4qIZZ5lJgkAds-LBLZYD X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTA4MDE2MSBTYWx0ZWRfX9xcy3Vnj/0kZ RrUWOC9ofaW/oxJh6s8Va4afyLYEhP/ScdQ8ASWIjBrqoYU6G+eyxuI68+mF5ATr2A0scetJj3J QEIE2vbPzieZ7Co2tKK4jpU07iuaaNhGBMxYupR9fzfdHE+B/NoGXkOL3tWqVV7KR07NUIfPaC6 DRbpnI2WZfRh/aP7XKR8WPWU34EMzcr3lZOE5a9Ldc0VDzojGpfSgw+r0LIuQZGtp1WvS69xaJs i7A8mFva8J5OUUPzXHJy4ewEHI9nS6jIJaE4MhKRdHBwFYIuMVlmjbhs+Z+kkgNHqVJusAzrknX ntpuyiuOaJLq5AY3hz7OHVJbTAKt/umsBlrUgqzv7oV5r8RUIvxq+H1RnwBRiw1WeduMA+75QiW 00nqSLBCCgLYjq8chg9EyHT87WsnVYELMsuQn0sxqUaDmEAC16xUhYMlE+XIDh3XEYBl796CfkO ANHfw24QiqD17+EU7ww== X-Proofpoint-Spam-Info: AW1haW4tMjYwOTA4MDE2MSBTYWx0ZWRfX1CTljyOPPYM0 HK2iixDS5IE1x3NGR4L+T50mFy9W89gEUzo6NBKoaVfL67hXbk9LxiHfw3UPLd8ueInTIlkHZWB 86ru9Y3bFY9J2c6kDlx+FXnfM2f21vM= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-08_03,2026-09-08_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 malwarescore=0 clxscore=1015 suspectscore=0 priorityscore=1501 impostorscore=0 phishscore=0 adultscore=0 lowpriorityscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2609080161 Ahead of adding support for firmware-controlled EMAC variants, extend the ethqos_emac_driver_data structure with a setup() callback, implement it for the existing models and move all operations not required in SCMI mode into it. Signed-off-by: Bartosz Golaszewski --- .../ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c | 99 +++++++++++++++---= ---- 1 file changed, 68 insertions(+), 31 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c b/driv= ers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c index ab1bcb7eb18e22f01556c190f7d8cd8eeba4d0c9..509a5368e69a8fa440bf3b4f58f= 7b09a683558f3 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c @@ -5,6 +5,7 @@ #include #include #include +#include #include #include =20 @@ -81,6 +82,8 @@ =20 #define SGMII_10M_RX_CLK_DVDR 0x31 =20 +struct qcom_ethqos; + struct ethqos_emac_por { unsigned int offset; unsigned int value; @@ -95,6 +98,8 @@ struct ethqos_emac_driver_data { const char *link_clk_name; struct dwmac4_addrs dwmac4_addrs; bool needs_sgmii_loopback; + int (*setup)(struct qcom_ethqos *ethqos, + struct plat_stmmacenet_data *plat_dat); }; =20 struct qcom_ethqos { @@ -200,6 +205,9 @@ static void ethqos_set_func_clk_en(struct qcom_ethqos *= ethqos) rgmii_setmask(ethqos, RGMII_CONFIG_FUNC_CLK_EN, RGMII_IO_MACRO_CONFIG); } =20 +static int ethqos_hlos_setup(struct qcom_ethqos *ethqos, + struct plat_stmmacenet_data *plat_dat); + static const struct ethqos_emac_por emac_v2_3_0_por[] =3D { { .offset =3D RGMII_IO_MACRO_CONFIG, .value =3D 0x00C01343 }, { .offset =3D SDCC_HC_REG_DLL_CONFIG, .value =3D 0x2004642C }, @@ -214,6 +222,7 @@ static const struct ethqos_emac_driver_data emac_v2_3_0= _data =3D { .num_rgmii_por =3D ARRAY_SIZE(emac_v2_3_0_por), .rgmii_config_loopback_en =3D true, .has_emac_ge_3 =3D false, + .setup =3D ethqos_hlos_setup, }; =20 static const struct ethqos_emac_por emac_v2_1_0_por[] =3D { @@ -230,6 +239,7 @@ static const struct ethqos_emac_driver_data emac_v2_1_0= _data =3D { .num_rgmii_por =3D ARRAY_SIZE(emac_v2_1_0_por), .rgmii_config_loopback_en =3D false, .has_emac_ge_3 =3D false, + .setup =3D ethqos_hlos_setup, }; =20 static const struct ethqos_emac_por emac_v3_0_0_por[] =3D { @@ -262,6 +272,7 @@ static const struct ethqos_emac_driver_data emac_v3_0_0= _data =3D { .mtl_low_cred =3D 0x00008024, .mtl_low_cred_offset =3D 0x1000, }, + .setup =3D ethqos_hlos_setup, }; =20 static const struct ethqos_emac_por emac_v4_0_0_por[] =3D { @@ -297,6 +308,7 @@ static const struct ethqos_emac_driver_data emac_v4_0_0= _data =3D { .mtl_low_cred =3D 0x00008024, .mtl_low_cred_offset =3D 0x1000, }, + .setup =3D ethqos_hlos_setup, }; =20 static int ethqos_dll_configure(struct qcom_ethqos *ethqos) @@ -692,6 +704,58 @@ static void ethqos_ptp_clk_freq_config(struct stmmac_p= riv *priv) netdev_dbg(priv->dev, "PTP rate %lu\n", plat_dat->clk_ptp_rate); } =20 +static int ethqos_hlos_setup(struct qcom_ethqos *ethqos, + struct plat_stmmacenet_data *plat_dat) +{ + struct platform_device *pdev =3D ethqos->pdev; + struct device *dev =3D &pdev->dev; + int ret; + + ethqos->rgmii_base =3D devm_platform_ioremap_resource_byname(pdev, "rgmii= "); + if (IS_ERR(ethqos->rgmii_base)) + return dev_err_probe(dev, PTR_ERR(ethqos->rgmii_base), + "Failed to map rgmii resource\n"); + + ethqos->link_clk =3D devm_clk_get(dev, ethqos->data->link_clk_name ?: "rg= mii"); + if (IS_ERR(ethqos->link_clk)) + return dev_err_probe(dev, PTR_ERR(ethqos->link_clk), + "Failed to get link_clk\n"); + + plat_dat->clks_config =3D ethqos_clks_config; + + ret =3D ethqos_clks_config(ethqos, true); + if (ret) + return ret; + + ret =3D devm_add_action_or_reset(dev, ethqos_clks_disable, ethqos); + if (ret) + return ret; + + ethqos_set_clk_tx_rate(ethqos, NULL, plat_dat->phy_interface, SPEED_1000); + qcom_ethqos_set_sgmii_loopback(ethqos, true); + ethqos_set_func_clk_en(ethqos); + + switch (ethqos->phy_mode) { + case PHY_INTERFACE_MODE_RGMII: + case PHY_INTERFACE_MODE_RGMII_ID: + case PHY_INTERFACE_MODE_RGMII_RXID: + case PHY_INTERFACE_MODE_RGMII_TXID: + plat_dat->fix_mac_speed =3D ethqos_fix_mac_speed_rgmii; + break; + case PHY_INTERFACE_MODE_2500BASEX: + case PHY_INTERFACE_MODE_SGMII: + plat_dat->fix_mac_speed =3D ethqos_fix_mac_speed_sgmii; + break; + default: + break; + } + + plat_dat->set_clk_tx_rate =3D ethqos_set_clk_tx_rate; + plat_dat->dump_debug_regs =3D rgmii_dump; + + return 0; +} + static int qcom_ethqos_probe(struct platform_device *pdev) { struct device_node *np =3D pdev->dev.of_node; @@ -713,23 +777,20 @@ static int qcom_ethqos_probe(struct platform_device *= pdev) "dt configuration failed\n"); } =20 - plat_dat->clks_config =3D ethqos_clks_config; - ethqos =3D devm_kzalloc(dev, sizeof(*ethqos), GFP_KERNEL); if (!ethqos) return -ENOMEM; =20 ethqos->phy_mode =3D plat_dat->phy_interface; + switch (ethqos->phy_mode) { case PHY_INTERFACE_MODE_RGMII: case PHY_INTERFACE_MODE_RGMII_ID: case PHY_INTERFACE_MODE_RGMII_RXID: case PHY_INTERFACE_MODE_RGMII_TXID: - plat_dat->fix_mac_speed =3D ethqos_fix_mac_speed_rgmii; break; case PHY_INTERFACE_MODE_2500BASEX: case PHY_INTERFACE_MODE_SGMII: - plat_dat->fix_mac_speed =3D ethqos_fix_mac_speed_sgmii; plat_dat->mac_finish =3D ethqos_mac_finish_serdes; break; default: @@ -739,24 +800,13 @@ static int qcom_ethqos_probe(struct platform_device *= pdev) } =20 ethqos->pdev =3D pdev; - ethqos->rgmii_base =3D devm_platform_ioremap_resource_byname(pdev, "rgmii= "); - if (IS_ERR(ethqos->rgmii_base)) - return dev_err_probe(dev, PTR_ERR(ethqos->rgmii_base), - "Failed to map rgmii resource\n"); - data =3D of_device_get_match_data(dev); ethqos->data =3D data; =20 - ethqos->link_clk =3D devm_clk_get(dev, data->link_clk_name ?: "rgmii"); - if (IS_ERR(ethqos->link_clk)) - return dev_err_probe(dev, PTR_ERR(ethqos->link_clk), - "Failed to get link_clk\n"); - - ret =3D ethqos_clks_config(ethqos, true); - if (ret) - return ret; + if (WARN_ON(!data->setup)) + return -EINVAL; =20 - ret =3D devm_add_action_or_reset(dev, ethqos_clks_disable, ethqos); + ret =3D data->setup(ethqos, plat_dat); if (ret) return ret; =20 @@ -765,21 +815,8 @@ static int qcom_ethqos_probe(struct platform_device *p= dev) return dev_err_probe(dev, PTR_ERR(ethqos->serdes_phy), "Failed to get serdes phy\n"); =20 - ethqos_set_clk_tx_rate(ethqos, NULL, plat_dat->phy_interface, - SPEED_1000); - - qcom_ethqos_set_sgmii_loopback(ethqos, true); - ethqos_set_func_clk_en(ethqos); - - /* The clocks are controlled by firmware, so we don't know for certain - * what clock rate is being used. Hardware documentation mentions that - * the AHB slave clock will be in the range of 50 to 100MHz, which - * equates to a MDC between 1.19 and 2.38MHz. - */ plat_dat->clk_csr =3D STMMAC_CSR_60_100M; plat_dat->bsp_priv =3D ethqos; - plat_dat->set_clk_tx_rate =3D ethqos_set_clk_tx_rate; - plat_dat->dump_debug_regs =3D rgmii_dump; plat_dat->ptp_clk_freq_config =3D ethqos_ptp_clk_freq_config; plat_dat->core_type =3D DWMAC_CORE_GMAC4; if (data->has_emac_ge_3) --=20 2.47.3 From nobody Fri Sep 25 20:48:29 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6631855D87D for ; Tue, 8 Sep 2026 14:58:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788879533; cv=none; b=AsDASjVsrHH8eWyAm+DKO2cY2j2dm6Xz0IwikRqEKlZCQEE8VG5dyxBpNrjB5/BRGeuJVgBxqF06f/2Dbk6ju7w7l31EyPDyEAZ9RFBXV63S3IlrNDi2zTZ1fe4Gx5NwKvRKVbkwckZyGU3gz0VVopTwrPeH7HBvO55PfXBrqac= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788879533; c=relaxed/simple; bh=UGHFNsex6g8X5xVVwk+2JQcFTMSBk5UzaI5QwWng/ec=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=rYbQewVu2Hkq0kReSXIKLehX1AKHNaaiTHB5p+JaTvmEMQMsUVct+AVMbd2w6W7C1/n3gM9lnpF5GOv5GT7+WNxf3Tf2gJEdt69FR5koqw2yb53I1QP398iKzMTbhkdLYPaGCLtP/5uCQ2yqDn8W6ENEsKhtC3ycKPOJyPur5v0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=fhZ9/+Fc; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=hVt+oEJC; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="fhZ9/+Fc"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="hVt+oEJC" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 688EiwdV2607697 for ; Tue, 8 Sep 2026 14:58:29 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 9gGv4RW/KPav2gQfSDhKD53xcmE10Fw9benIy8+8ItU=; b=fhZ9/+FcBma2UoTD yx8RiDGQeA89UBrkt9HPmeDQphCeVPkDcs32VvlWRAPLbF2a6j0sxvPqmQ9cLwOM UFUXxq3izFvQ1vHgFMoV6rgrni91hQ6lksUJA8i0aH2xd1+ahoZacW2K0BC6Xk7k NX2gru3rpj4ISqhJ58WWbSaRntSTLMIvZzJUqdGTW6weR3hxwXVTnBuUm/HJ3Fng V+MXtKLytbhBLNYYvjwopmM8PBfHDE0vB7pN8sLyYGKVVQkhHFxw9bdwMzVmO9mQ tds0I3JpTcfs0vgbQUclEiHvO67alIqeyhDj+CVCYpbBBUfQaxYylQMSH9UJzhDT LiuN0g== Received: from mail-ua1-f69.google.com (mail-ua1-f69.google.com [209.85.222.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gjatjjpgc-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 08 Sep 2026 14:58:28 +0000 (GMT) Received: by mail-ua1-f69.google.com with SMTP id a1e0cc1a2514c-97cb18cfa04so3173356241.0 for ; Tue, 08 Sep 2026 07:58:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1788879508; x=1789484308; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=9gGv4RW/KPav2gQfSDhKD53xcmE10Fw9benIy8+8ItU=; b=hVt+oEJCUVb17O9n4xlUTCPgzNjpKJ85H5TSAU0RG3e0knhWlSkk2OLnXzhEmdwtBB aNH41PAR7Sw7M2+ZlhoZ8P6XRBas1SaOU33VuvdGUNZg6VbUUA4MyYKm9uc322TvHEWR 4SEYtOvPTuNXFXj1dXofnJQe8ciKVnZQHBxO/5ZqfbYve+GuvkIWJV0+gN1OPKJt+YNz Q9Z6q/qXfonUuFsNOoENb91XxK+a05wO4uxatbClEslGP/vgzdYnv+4334qhK4YTZiCk xOh6vO5Lk2aDWqXqPiBcEbhFk1Iz6TCNtHuZbpfBHaXPEkRV7Y6DnD3+/Ewfl7/LMkyA cvKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788879508; x=1789484308; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=9gGv4RW/KPav2gQfSDhKD53xcmE10Fw9benIy8+8ItU=; b=o3Rjr1eV2e+7jmymC/H5YbBY8eCXnryfgOlUCKgKEnS/PcUqo/kx8EdCYP3dIMDPpK ta4nzK8mvgF6W3uUN0LYlCbstzdHgkxpu4sfYP+sF1OhJOo3n12RAI7+A2vTaH8vVWpH yVVoKs7gFcwrK8S9O2zljAzWhBzYclWlVH8CqbneWfYYbO35J0I77CInoG4WH+1fufAt ThtuSi25W1sdpliwSjebaO9sQbm875LtFpoqzb0BUWXnGhFaJeoNG81ladalHpHK3oiE W7ikTAgRTTakEvrb9sWcYY88s1id3yUgSYmdffIcezgWcMVfyekN9jfDTndB/oG0obXE ZGCw== X-Forwarded-Encrypted: i=1; AKwUvBy0DjFBw+69MHO2cb3u6awyZzN52pOsDSWIWCveZ2wOY3JshYtZc4Q/M4tefGRZVPDP/j25tFeW7qJmRnY=@vger.kernel.org X-Gm-Message-State: AFuF++nmeD0orAXh8TbDcJ8MuT8bDeS8CUPzZ/I3Ivwrl4lZN9NSILqV ZRstAMcToMVGVpmQdeeRN+OLjjHF+E3IjZIoSrDbLa7mbvA1s7fFy3ib3LRPWCB5RpXw5KOpXcy eQEN/6pzSsdfaJ5Uv6N+YKPTFZcrPiD5hISkGBSYQfljC5dT1eT2SBZGwmAINsyYI3UY= X-Gm-Gg: AYBFou0iVGpHwDJdT2GxTmQ3V1B6mT0C84l3DeocRSBgbFoZKCe9P/3a9dWc7RnTX4V KE1dn4U8Ac8DstvyiNxaF2tXoBxVA+hhRW25wXCMaXZZsfOTJMvAAQIFIifVMHLrAPbxhqY3vjK tmGlhInNkOIDMtZLi8d92tAnYiFLo+nEdRPpj3wI2KQus4Z+LwlqrolKhHZr69XRUYD3SGOlxH2 ducLzSbOMetjMRlKiXdsBrsPq++VO9UZ+WY+JLxkF9ErqHKYhsGOnuBh6loEfDIy40VgIRFGZiY FnP8BE81D+UPmzH19oT9oQ+2f6wshoL1adRxAHV0Y2nsGjBT2+7bVTZNHuOkgAMaQ1gspk1+RId Gp9oYGEiVZotNKL271xmUSA2Ehqo3 X-Received: by 2002:a05:6102:509f:b0:785:e444:15e4 with SMTP id ada2fe7eead31-78a4a87d391mr13120754137.6.1788879507829; Tue, 08 Sep 2026 07:58:27 -0700 (PDT) X-Received: by 2002:a05:6102:509f:b0:785:e444:15e4 with SMTP id ada2fe7eead31-78a4a87d391mr13120696137.6.1788879507318; Tue, 08 Sep 2026 07:58:27 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:79a2:f118:df09:fe51]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485958f1493sm25191276f8f.37.2026.09.08.07.58.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Sep 2026 07:58:26 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Sep 2026 16:57:29 +0200 Subject: [PATCH net-next v14 10/10] net: stmmac: qcom-ethqos: add support for sa8255p Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260908-qcom-sa8255p-emac-v14-10-ec212b747a7d@oss.qualcomm.com> References: <20260908-qcom-sa8255p-emac-v14-0-ec212b747a7d@oss.qualcomm.com> In-Reply-To: <20260908-qcom-sa8255p-emac-v14-0-ec212b747a7d@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Maxime Coquelin , Alexandre Torgue , Vinod Koul , Giuseppe Cavallaro , Chen-Yu Tsai , Jernej Skrabec , Neil Armstrong , Kevin Hilman , Jerome Brunet , Shawn Guo , Fabio Estevam , Jan Petrous , s32@nxp.com, Mohd Ayaan Anwar , Romain Gantois , Geert Uytterhoeven , Magnus Damm , Maxime Ripard , Christophe Roullier , Bartosz Golaszewski , Radu Rendec Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, Drew Fustini , linux-sunxi@lists.linux.dev, linux-amlogic@lists.infradead.org, linux-mips@vger.kernel.org, imx@lists.linux.dev, linux-renesas-soc@vger.kernel.org, linux-rockchip@lists.infradead.org, sophgo@lists.linux.dev, linux-riscv@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=6330; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=UGHFNsex6g8X5xVVwk+2JQcFTMSBk5UzaI5QwWng/ec=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqoCJwh58An3JjyYLR5ghJ2POhmXpnXTF5Aq10w hRnRD+AS9CJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaqAicAAKCRAFnS7L/zaE wzzqD/wNB0EOmwihyBQoJBkeJGz5FMWpEG6G05ZmuQCOHJBy9yuRIA0IYpAFJVVh0R2xGt65Mvg 1MQG7oQ7bg0XiCrgkvpaArONbBNaRUEi4WeY5A/T1wPbjryezG373hNq8XnABg7vAhdtGptqomq YhujFfNG/QyLg+WkyRF38iPSzX8T1psLo04+zwETWsIOi2WhAXlSDTLKX4oZ+2k3UIe6Ob1KKS+ ewa90enAY9Vg59g59B3cF6jEIlS5/LrCO6k4ZD++QsILFYtDdc+dpPGiUK+ls/8fsML3plS4n2m uSu44VH/gsdF+kObPrTu/R1sRy6PBgBbm4bTIEoCcN/71l2wn0l6kqHk5/9GG612Li7g/X1shGY tVdJmX/vKlfW7FW8JNqeH+WCZP3+OOQFjh1tMNb4sP6UY9n8hQKZySXfoi7n9WE6hBZes71QzvA T03MzqHs/S1nQ7ehZI9T5+iVJcnRY/tFoQyiG83sLhuxiCQv4jVYsGo59yMM9loQAikUJBIb+jE /16rowut5V6Z717SIZLwK/vrUMGTHSzCSFSpqIsWcCllmDuIMtXUlcbbtIKJ6HlflhnH0vBdfcC ARn8vAY/QQLk8x2nI8QMFZoxMJSe2pvOr05TveDFArlHnjKoz4zMmM5AEo9Ml+4g2rrpRlP1+RT 5in0Rpl5vuCYcHg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTA4MDE2MSBTYWx0ZWRfXwl9PFcw20MbX olMQSM0pb4Zft3EGT3VbKmZfkBZGg10ohgL1N6aLJXmaQy5OM6isqDI7AyWg0/kTnISw4SA82Qz fRVvQWdOnW9hSQ+gAlm947eCcol44o8= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTA4MDE2MSBTYWx0ZWRfX00/tmfRn8hsZ BtYpdWSDq5VQEcd9kkSrcak3PT8+qtYzvi9q8w81n0UA7vsBrMgkyON2v7LLvdlValFpmS35oXe 7AjEnjuT5W0h2Dsbx2UueGpa3KaiS9DP5CH4HtB579YBrrY4ExKcfXnxzTZ9fW25solU8YHy2MP iHiREDsoi9To+6ra9k09oO8fGFkuZEjM/PqDCcNKK0LCf/wc5taaLNrzUHI6IHHUTDqmVn5A/tE c1SErQF7ndZWw8fmdHR5gVSQhC6ROTjoKJ0ya1lLrZdR5rTM3g3JuMfnzXRTpAitZwTnKjenAXD qASY+eqU/WA4ae2BA6T1yo0Thudut9Qwb4luizS8Q3FP2QzeSuS51DidOEXD39kOGVYeOhfneGX vkaOaS46sNDP31NEeRMZDc2dhHWFW2a323uX2xnpzVJiRE50UNq3RvN36QiJA05Yl6xe7NzV3Cl 8jmMjcrlofgkqTbhWDg== X-Proofpoint-ORIG-GUID: uvl25BDPrOkJsYQdvxMFffZO_2qaEo9C X-Authority-Analysis: v=2.4 cv=QrduG1yd c=1 sm=1 tr=0 ts=6aa02294 cx=c_pps a=UbhLPJ621ZpgOD2l3yZY1w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=EUspDBNiAAAA:8 a=MNMbB-VoU2yS88OP0PEA:9 a=QEXdDO2ut3YA:10 a=TOPH6uDL9cOC6tEoww4z:22 X-Proofpoint-GUID: uvl25BDPrOkJsYQdvxMFffZO_2qaEo9C X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-08_03,2026-09-08_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 bulkscore=0 adultscore=0 malwarescore=0 lowpriorityscore=0 impostorscore=0 spamscore=0 priorityscore=1501 phishscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2609080161 Extend the driver to support a new model - sa8255p. Unlike the previously supported variants, this one's power management is done in the firmware over SCMI. This is modeled in linux using power domains so add a new emac data variant and a separate setup callback. Signed-off-by: Bartosz Golaszewski --- .../ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c | 107 +++++++++++++++++= ++++ 1 file changed, 107 insertions(+) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c b/driv= ers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c index 509a5368e69a8fa440bf3b4f58f7b09a683558f3..3d4bc950a72ac0d0d9515bf9148= e865463ddc0a3 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c @@ -98,6 +98,11 @@ struct ethqos_emac_driver_data { const char *link_clk_name; struct dwmac4_addrs dwmac4_addrs; bool needs_sgmii_loopback; + /* Fixed PTP reference clock rate, used on SCMI platforms where + * firmware does not implement the clock protocol allowing linux to + * query it. + */ + unsigned long ptp_clk_rate; int (*setup)(struct qcom_ethqos *ethqos, struct plat_stmmacenet_data *plat_dat); }; @@ -108,6 +113,7 @@ struct qcom_ethqos { struct clk *link_clk; struct phy *serdes_phy; phy_interface_t phy_mode; + struct dev_pm_domain_list *pds; const struct ethqos_emac_driver_data *data; }; =20 @@ -207,6 +213,8 @@ static void ethqos_set_func_clk_en(struct qcom_ethqos *= ethqos) =20 static int ethqos_hlos_setup(struct qcom_ethqos *ethqos, struct plat_stmmacenet_data *plat_dat); +static int ethqos_scmi_setup(struct qcom_ethqos *ethqos, + struct plat_stmmacenet_data *plat_dat); =20 static const struct ethqos_emac_por emac_v2_3_0_por[] =3D { { .offset =3D RGMII_IO_MACRO_CONFIG, .value =3D 0x00C01343 }, @@ -311,6 +319,30 @@ static const struct ethqos_emac_driver_data emac_v4_0_= 0_data =3D { .setup =3D ethqos_hlos_setup, }; =20 +static const struct ethqos_emac_driver_data emac_v4_0_0_scmi_data =3D { + .has_emac_ge_3 =3D true, + .needs_sgmii_loopback =3D true, + .dma_addr_width =3D 36, + .ptp_clk_rate =3D 230400000, + .dwmac4_addrs =3D { + .dma_chan =3D 0x00008100, + .dma_chan_offset =3D 0x1000, + .mtl_chan =3D 0x00008000, + .mtl_chan_offset =3D 0x1000, + .mtl_ets_ctrl =3D 0x00008010, + .mtl_ets_ctrl_offset =3D 0x1000, + .mtl_txq_weight =3D 0x00008018, + .mtl_txq_weight_offset =3D 0x1000, + .mtl_send_slp_cred =3D 0x0000801c, + .mtl_send_slp_cred_offset =3D 0x1000, + .mtl_high_cred =3D 0x00008020, + .mtl_high_cred_offset =3D 0x1000, + .mtl_low_cred =3D 0x00008024, + .mtl_low_cred_offset =3D 0x1000, + }, + .setup =3D ethqos_scmi_setup, +}; + static int ethqos_dll_configure(struct qcom_ethqos *ethqos) { struct device *dev =3D ðqos->pdev->dev; @@ -756,6 +788,80 @@ static int ethqos_hlos_setup(struct qcom_ethqos *ethqo= s, return 0; } =20 +static const char *const ethqos_scmi_pd_names[] =3D { "core", "mdio" }; + +static int ethqos_scmi_setup(struct qcom_ethqos *ethqos, + struct plat_stmmacenet_data *plat_dat) +{ + const struct dev_pm_domain_attach_data pd_data =3D { + .pd_names =3D ethqos_scmi_pd_names, + .num_pd_names =3D ARRAY_SIZE(ethqos_scmi_pd_names), + .pd_flags =3D PD_FLAG_DEV_LINK_ON, + }; + + struct platform_device *pdev =3D ethqos->pdev; + struct device *dev =3D &pdev->dev; + int ret; + + ret =3D devm_pm_domain_attach_list(dev, &pd_data, ðqos->pds); + if (ret < 0) + return dev_err_probe(dev, ret, + "Failed to attach power domains\n"); + + /* + * The SerDes lane, its clocks and the MAC AXI/AHB clocks are owned by + * firmware and brought up through the SCMI power domains above. The + * MAC wrapper itself, however is in the kernel's register space: the + * wrapper bit that loops the PHY TX clock into the MAC's clk_rx_i - + * needed because no recovered RX clock exists yet - is not + * configured by firmware. Without it, clk_rx_i never toggles and the + * DMA SW-reset polled in dwmac4_dma_reset() never completes. + * + * Map the wrapper and program the same loopback/functional clock bits + * the non-firmware platforms rely on (see ethqos_clks_config) so the + * RX clock is present by the time the DMA engine is reset. + */ + ethqos->rgmii_base =3D devm_platform_ioremap_resource_byname(pdev, "rgmii= "); + if (IS_ERR(ethqos->rgmii_base)) + return dev_err_probe(dev, PTR_ERR(ethqos->rgmii_base), + "Failed to map rgmii resource\n"); + + /* + * Register clks_config to run on every subsequent runtime resume, + * which stmmac performs after the power domains are on but before + * serdes_powerup() and the DMA reset. This alone isn't enough for + * the very first reset done from stmmac_open(), though: probe() + * fakes the device into RPM_ACTIVE without invoking the resume + * callback, so whether clks_config() has run by then depends on + * whether the device has already gone through one real suspend/resume + * cycle in the meantime. Call it here explicitly so the wrapper is + * always configured before the first DMA reset regardless of that + * timing. + */ + plat_dat->clks_config =3D ethqos_clks_config; + + ret =3D ethqos_clks_config(ethqos, true); + if (ret) + return ret; + + ret =3D devm_add_action_or_reset(dev, ethqos_clks_disable, ethqos); + if (ret) + return ret; + + plat_dat->clk_ptp_rate =3D ethqos->data->ptp_clk_rate; + + switch (ethqos->phy_mode) { + case PHY_INTERFACE_MODE_2500BASEX: + case PHY_INTERFACE_MODE_SGMII: + plat_dat->fix_mac_speed =3D ethqos_fix_mac_speed_sgmii; + break; + default: + break; + } + + return 0; +} + static int qcom_ethqos_probe(struct platform_device *pdev) { struct device_node *np =3D pdev->dev.of_node; @@ -843,6 +949,7 @@ static int qcom_ethqos_probe(struct platform_device *pd= ev) =20 static const struct of_device_id qcom_ethqos_match[] =3D { { .compatible =3D "qcom,qcs404-ethqos", .data =3D &emac_v2_3_0_data}, + { .compatible =3D "qcom,sa8255p-ethqos", .data =3D &emac_v4_0_0_scmi_data= }, { .compatible =3D "qcom,sa8775p-ethqos", .data =3D &emac_v4_0_0_data}, { .compatible =3D "qcom,sc8280xp-ethqos", .data =3D &emac_v3_0_0_data}, { .compatible =3D "qcom,sm8150-ethqos", .data =3D &emac_v2_1_0_data}, --=20 2.47.3