From nobody Sat Jul 25 21:30:55 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 E50734252CB for ; Mon, 13 Jul 2026 13:21:09 +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=1783948871; cv=none; b=IJGGV9TMrY3zgz3vFlukBxEJDwsN857cJTS5wU+UdRukkZoaQ6Rzlt4X5yyZTMyV/GYCB9QBhURoXf/06ir5vwD+BdcwxVkGYxYna7owxn5+38oY5aSFwwiui7Wg/xYebL0JBdelKvHKXJ1xELRLnK08R1Lpn45nlGUIUhlAQ68= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783948871; c=relaxed/simple; bh=jjMtp5SqAas4zIIzp6l5IEc/YbwGv5zChtMnC787rmU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Ef0Mv0rkLqGW+9XlirFbx1LRhIVZkC5BR7XpCkWLYowTgMdJ0p0mS5fFQyzQJykOh+l1PMsVM6IVvNrJ3Xz0SCV+8gi//FaJM3Mmkr7uCjigir6PlOt9d0F9jT8PYlRfT04UMHcbWER5pMcR5PMp9P2lA/s8xVoMQqToIX9oJFs= 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=HRMgAGLm; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=cWMbJ23n; 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="HRMgAGLm"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="cWMbJ23n" 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 66DCDvIV1494358 for ; Mon, 13 Jul 2026 13:21:09 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=HRMgAGLmTEjLL7NM fyUok4F7YQcqnppTYtirZjwB8UYNicMU6F1+I7N5ozfZx2/JtO+LcXq4XYQxgWGW ThUPjmF70f942+VTtukuLP+HPSK/avuY6favBLTLI19Qv6JfHRrCru8sMnGHeIiG voP3rzkT0P0xj7F7snSJX25ArsOqtqZeVvU8nSdc1t3AC3VJCMDLwYwVbIlta/oZ 5bKurWfOHT2SvIt2fHQQtW13/NkuuRvNSyeIAPx4eR7j7U2g+I5SecH0oNslpZ12 hFwzxIYh+Pa1/g5okCPXjEuXOQTJJdsLzxBwkiSFOhnXSoqCH/+UTcElkIB90IK9 c2+k/A== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fcjnm2qf3-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 13 Jul 2026 13:21:09 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-51bff5c7035so69011691cf.2 for ; Mon, 13 Jul 2026 06:21:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783948868; x=1784553668; 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=cWMbJ23n6T+A9TZ1SvmquahQVMtoGfxrXkC31WaMGLmy4zz80UANbsCtHKwaYXzpp6 EnH3qot4wKJLLH8JJiOGIA16uXjMkudnrhQaPFI4leN4GxXxfNted3QFyAN7/lmt9jIz y9zzz7W+DQPGj06I7kfU6d3ZU4ug+pe5bJWjagTqq7mTJDV6lBr1aZi9RPZ7B6jiq6G0 Y/rmrcsD18qdFEjP+aOgQevXYd9V1nH7lQgZHr8byIJkQtQVg0bN7iP3GqHW0+YNGMW6 QeDKNY7Z43FKgS3DHbXQKzkp7bBI0YD3aYI0UMHbgAkA6JLbLzw7HQSSUe0/3lZNhbhf oOKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783948868; x=1784553668; 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=kbpUZfTwxb1awkZuVPaQgoZu4fGY5BYa4crJb4MP8qPXzlUAYqMNlazLV30STaAEn4 r2QEM86hQcGqHaIQRuZAyLenKlxKKkHUsdd7AoHk++R5+VtjDjhXqoazNFpb9hVCM9d+ Pk2SHeZZIl73uq0owS61JroXCcZcMjijs5StlEy002MlENzemUk5OveQmyYAb9rutSXA dlOwoJWSvgNlbwReHz9VDhhqC84CKZ2JuKSh+b+EL2QuJ1+XTPwZwrs2JR3NkYOUYsRk M65BoO5eQLqtZH/ENjxLPq53U35oOgq+GFvLmufCtNL+39xup+xhxUpKoEj1S2T7zYVk RIVQ== X-Forwarded-Encrypted: i=1; AHgh+RpfkP2X5uKP/+BXB/mbyRKQV6o7qEUrRFH0xXvWtSWtTW1OyAy6QXEGJ222iWn4dX5qfwYiD1HvcL4hMXs=@vger.kernel.org X-Gm-Message-State: AOJu0Yw+pCWeCOQXPJgzcsHmNVYWkvmWJFkLcvCAkKIbDjUWa8Kvt0cC 9SvbXlAB1ngbl888iOWWexWreo3f/TMuRmMGXi3TZiEqR0MFD9KxU28BQku+h5SRmuMV3AWab/H RKE7+48JrXWIcRDTxhw4ICE/jJdn8WiwDOvMIz+79hkpfhbbspLFQk9tpN9C+Cl8plZo= X-Gm-Gg: AfdE7ckTaFf5L6CfFGGbDOw5x9Z8WldbY3WvybokkXptHmUDPiJP4xnDUp0Tznu1KoX 7ljL1rKFzf9vBm5brItJ9Cn1pLWmgxyDSlf3U7QjO0kp4cKdIoV5QWBzikEBXUjKktloYjpMJAD 4ng7Y6c7JrxZ/jRwzU14DQhdpXsKXqsWko4/clJ1AkocNZ2+Olv1NWzLPLg8nq9Yv1WEtSo36TK 0EGL/Wfwo25h5BYVGEi0bbSkYqd8smKpl3lJZ6JRHIOmiYf7vdtXwJ4O52iDfEHlUgWZkaLViEU C6aFiVLEEO2KhWMMC1RrMnuolp6sGt68gE7B0cNW7Z/jwj2hclX5hTozZS+bOW9Pkopc3mDQYLo Ft3V1shacJU2mEnggJ+PRoMVYrLbRd7FT9ylTysyR X-Received: by 2002:ac8:6f0f:0:b0:51a:8c86:bd40 with SMTP id d75a77b69052e-51cbf2bb069mr93022101cf.61.1783948868258; Mon, 13 Jul 2026 06:21:08 -0700 (PDT) X-Received: by 2002:ac8:6f0f:0:b0:51a:8c86:bd40 with SMTP id d75a77b69052e-51cbf2bb069mr93021511cf.61.1783948867610; Mon, 13 Jul 2026 06:21:07 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:8881:83b8:89fa:1a2a]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-493eb6f3dcdsm354561715e9.3.2026.07.13.06.21.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Jul 2026 06:21:06 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 13 Jul 2026 15:20:30 +0200 Subject: [PATCH net-next v13 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: <20260713-qcom-sa8255p-emac-v13-1-119f8699ef8e@oss.qualcomm.com> References: <20260713-qcom-sa8255p-emac-v13-0-119f8699ef8e@oss.qualcomm.com> In-Reply-To: <20260713-qcom-sa8255p-emac-v13-0-119f8699ef8e@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/NoTDAcsmYgBqVOYzzfnrx183EvrDrG4Ij0t7Dbry5xhQDBN63 sTHPBPheJ+JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCalTmMwAKCRAFnS7L/zaE w1LgD/9qtqvWaJNIcmSJbF08/P2HiqqtPEBd1s+tyKeMo7yTuSVEomvSt9PQeumZk4luZvppMze BCjhLWx+6fOyjhWVSz8HBY65tAA1zD7DNVIs9qguS8J8Eq90NiKvfR7ZDr9usRfnKcKWxsWOHgG ojLZ9JC26nL2b+gxoo/vjBbVki55aAeUgxQGZz0qSU//7QXZA+OpLnwhW+P1mMQrYnuPu/MARCm bnmW2Z8D+kbpF4vgOOG6KYY6Xx4vv59wa4mGzYwTy5RnJK9fzo2so8pYw/lpa1A9XCm9gbZDWHE 6NZYLNQLxkY857AQzQnAMtuD1DqADDCt5IKRK8bDQdz1syR8/VCpUd/NCsYwjbqP/4rtmoVYY4+ nXsBxk4iuXvVwttd2OTIvw+ikxHFh5MNRIEdCJXtbA+nfzjLzy9U816KqDSzeyaAe22+gQoPAwb HnblJwwISfQH0LqYA+1jM4JEUC5SH3i4/XD//3GCfNpIZOrN8w4L3W1eopUVXLmIHDDP0Lt9nab xvVkp7PypSMfsI0At+9gRMCcikJJwfP+C2oM7ElLMHgQtDj2KemfCVk/c+WGO+bFkvXVAtBcGOR /emT2S12yGD/Gctx1pVyNrxdoAYZVAZD+2Zf4YHnVKyivlzdCOl9aa11AjnmAMRcxS2b4nQyJeb akLHRgl131BvtYg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: vcYIMfvSoDw6--CG_SIbJKHxXnJK4kOj X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzEzMDEzOSBTYWx0ZWRfX5+JUao7AQWrp AHw2GrJimfw1EoQsSyHlKFgYNvBOBHub6YQdHMWvPtOydxtxe7omQk6oApYKufDbFGdhuV7aqvS CT22GJwCTAGSgQzZV/IFDU/5eLVGOCMBm2HA/tE6HEhHtJsfOrWI5JLLPdbWUVoY7p5NwTWJQVT VyWHUlyu+DVppMfJJxJ1IwsZR+lb6zkjXSjWXa18HdOsbuhUaiosZj8wkLluz86uEEWhzmmEloK lR+iXryg+gbgsdjB5fQeEZGr2QhiYme4Dop4grrnStVkKEKsJ0c3Ozx/+Kig/8GZ4C9cJsUtoWH +SWUcuoU3Y0h3hbtieVe4oLnFC51PnESif97MfSAg3ksPXCm2ZQnNnpDElBO+D67QHeNRlxtGCA xYt9v3TNhouU/Q2ku/+Mcrmg0JAuP299lTp7T3rTl5/2vB9XN4JaKv+XFFT70ZPxmUHWIVZSlH2 ao92eLkVnbnbzIca1Bg== X-Proofpoint-GUID: vcYIMfvSoDw6--CG_SIbJKHxXnJK4kOj X-Authority-Analysis: v=2.4 cv=AfmB2XXG c=1 sm=1 tr=0 ts=6a54e645 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=mooR1oPkU_hlknJbmfEA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzEzMDEzOSBTYWx0ZWRfX+y0VNNLXVlaP TVUXfjL3vGrrO4OVr2KphW8Ld8jv4qhiFYfhz1144ljJGrNaLJkpWmNf9J89kti1EskBInclP4j erKyRQ6dsEBwOQCFFfEHNC7H47RYmFE= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-13_03,2026-07-10_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 lowpriorityscore=0 phishscore=0 priorityscore=1501 impostorscore=0 malwarescore=0 clxscore=1015 suspectscore=0 adultscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607130139 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 Sat Jul 25 21:30:55 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 D6D7242980E for ; Mon, 13 Jul 2026 13:21:13 +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=1783948876; cv=none; b=bfXXaGRqIXRpSTBrDz9tQEyGFBj8KyG5487s/3XC3w0ouqZaKmCtZOpNVYcSqCD98kmcIMe94Gz4u757VzDtOp34om01/l3WnYQF06yPg7h5iHyuqj9Uf71jpL3cP47LyUvk81AzsMajMxw4LgGutfd1eFy/M3rFTTD16h7hHk8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783948876; c=relaxed/simple; bh=BfrbL1Fwh6l+Z6nIdrB6wR8juwiurOHR3kGeK2lY/yQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=e/0adp22h/e2lX0+DzTY6u4PhQwDk6llP8lcdedsbHAmLQ9MQYL6rTTkFAkKNjWnl0bYHJN/14gsYoP/WEzS2K/rG55rCYuHIq+00htX2CjO2kumapELPm+mQeLxTu2dVshDB86Ods+rZakbXtlI8PmNx0eBMuy6uyMZ5twEicU= 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=EsujTW/5; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=eSrnnbr7; 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="EsujTW/5"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="eSrnnbr7" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66DCDddP1480701 for ; Mon, 13 Jul 2026 13:21:13 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=EsujTW/5s6ffD24l 1eoxY/es2Q4PYXqBPREh5gFAIQIh+AyKnTTwi0B03NRumuzZ8IsCdWOplAmbd1WB n0rWQg4U069GZ20+4HgUCReJ/2eZIaGLTtyuI4vc9xb3ul7axklIfkgrCqhCYjwL mX/tC7VfT/Q3ezydS4BNBpBFzArKK6isUkbVOaCI8xHN+DfenK5EOemjuFMhQCe1 p2Ve+Z6JVU82plo0OIOn8s7pgrs0LDPv7knwBanBLyJFaG/X/MvM41tzBn1e070H RKxJXUd1KCTTxaJP9hxvH3IimYpL/8JKo0nZG1zbjt70aRU5sD6ay0xYNCDQb+i9 q0gc0A== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fcwavrvet-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 13 Jul 2026 13:21:13 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-51c07f25de2so32083561cf.3 for ; Mon, 13 Jul 2026 06:21:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783948872; x=1784553672; 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=eSrnnbr7ifHt29xjMpuT7318lFhKCk5J2/Xomruc5DF2wnUX5Ec6DNCuO2p/E2k0cg vg8ObEJ2AVMMa/25Q52awLYVwlS+RpGqSwPQwWRnupohNT47E/oXVJMItWtALeHSrclw hISpgbKu00CALlsjj+az2XkgTQrymCsjfs8XAgTCBld4soO3l1zDHVDcSvNB/VpuLPC9 +kTyjRvjWXE4m5VrA6E7ju550dtaxb0WxIWWqxbmQ060y9shbCOR4bhcYEcbWuS07Ig0 0ZjFDOc0Bx/5Pt4RMh2AdBDQpvh71jz/zGmABRAFzOXsM/OryvxRJQeygiEJspG1l1/q JERw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783948872; x=1784553672; 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=FSVCZlkaQUBorYs8Ax2pAZthvMJwEp+oRyxXK02DXTk2zN8b121nddGP7ZFWBv2qNY ToEsyx5n/ZDR9pNjuZIBauqWTFDZX5SGEr9u9/nE7UJWD52Ew62deUKAkHWeR4qxFdnB tyV8rT5HI+Zy0V63vCexm8wSGjildEKGXz9Dnv3RIamp5rMiaRtyoxsezIPBj6HezHVE qasVtiUCEP4E++ncKnKyF5JMZ32WanqhK2/JTgQZE5Z9ytVf0fCfPlCJ1awXvPPFgmVP gmQ6X8+a7CPrYv7A3/yFmVCbRGHVg9Zuwtak8X9IIpJeYkHemumqlE0mQqf+/zw41JiZ 7lFA== X-Forwarded-Encrypted: i=1; AHgh+RqhuHAco11G5EItKRf1HC2G4lfzk50pWPVjDF0Oq53fmFUikxcMXuUjxAD8DmWYsn74C90Yx4blXUAD0Z8=@vger.kernel.org X-Gm-Message-State: AOJu0YycG9uE0u6oVOnQCWtWUvwygbCvegB8NzRQFd+QyYkYRD76++sB sgUaD0uFsxwSNkCSOYevcrxeR05kDxDdU3v/yRyr621sOZoFt4mWM7UXZub8oAQOzeb15OzbIJz WZ2xpEuvVV/BGbwppv/1Ks1gaTmUV3N7cymbQthaOwPTBywg6hR9uFy/nrQ0Ul2fRsMA= X-Gm-Gg: AfdE7ckPoypDzWKMi0rc/YNL89/p1oYZf3jlr3AP0rAqNrYgkpVNRbdeEDr8q0xGPSK tabHNqyyRJU6mgOkDx16neTxeAmO/WrKXPh5WfZndJL/rq9ISGi2uMslAUtGmGfamIgF1E1Wnt3 1P6VzKRNLswEAxn84O+1R8pzPln80mTdyOQPhfVRMpzRWFE0Cie1NEPYhcHS335W9rGaHdFQ0vp NKB4WMKcHmbe1GriU9W1mRWHGYTvaQPFoKcOLMXlGbafHVgJn9BryKVEkCqUPid4beCsaDVN9Tf IJDmBETqS13j+vy+TE//J2LK4Ro90cgtCa+8wApUvGRtwMCSkg2/l5kXOHtF/SiKgIvR0rNOcey +gl/AvfH+6anbVc7fJf29atLRdYtMIUG/VvInNodg X-Received: by 2002:ac8:5787:0:b0:51c:2cd3:ae7e with SMTP id d75a77b69052e-51cbf31702fmr95588951cf.45.1783948872061; Mon, 13 Jul 2026 06:21:12 -0700 (PDT) X-Received: by 2002:ac8:5787:0:b0:51c:2cd3:ae7e with SMTP id d75a77b69052e-51cbf31702fmr95588121cf.45.1783948871582; Mon, 13 Jul 2026 06:21:11 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:8881:83b8:89fa:1a2a]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-493eb6f3dcdsm354561715e9.3.2026.07.13.06.21.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Jul 2026 06:21:10 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 13 Jul 2026 15:20:31 +0200 Subject: [PATCH net-next v13 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: <20260713-qcom-sa8255p-emac-v13-2-119f8699ef8e@oss.qualcomm.com> References: <20260713-qcom-sa8255p-emac-v13-0-119f8699ef8e@oss.qualcomm.com> In-Reply-To: <20260713-qcom-sa8255p-emac-v13-0-119f8699ef8e@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=kA0DAAoBBZ0uy/82hMMByyZiAGpU5jSgupfQ73V66CmjTRYphxtOflEwg11wtoOBUjQcLl7/W 4kCMwQAAQoAHRYhBJHlEy3ltUYde6Jl/AWdLsv/NoTDBQJqVOY0AAoJEAWdLsv/NoTDpj0P/2pX O7c/RStPXEP6H+bYPdkp+JKPZsBfBDQechWWEdF9PaW8TIv9MlI3HIhWDhE8JzJiC7X3mUt6VaK dim6yfe4fNXqBfv1lZPKniq6DJG6AMmY0Ca5XkfbIHIUlxXFnhuIKyhUb2TYYYidXugrvV9QDeL wGkZG5kUj5SnYp42cVr2U08enrxUE3a4ej3c5nkc+IKY70iFoZaWSDY17iRsEFNOrCIMo5mMdsc XxQHM7+vHu02zCIHTKnX2We+LgxwhprMy+pvP9LADv1T4qNiGragMfDK20QhG4YORuygBn3PWYq ZFX2jUhtOY4/QsYxIujXT/8mM7KTenYEd+9HXqP3W8NZTL/unLcwz1ll3ocRw1j56tg9cFK05ku +V087fNBNe2xi07hTBeqjzfo94+CuGbSLYWGgIW1P39NJuv4VvwevNFW9jWlqjQPkVyI5xbk5vB 3++GRxPJiKuLCKlFBCjsJk0Udyv0Cp7+9zVsC2ypoyMKpMvr6kVM7hhOp86eSrvQcTujRIANIeW 3AIaIYWr+XIs17ovVnBqPd49JrvJrrQPXaTV2urBfkyBtBvgOeJ7wxmEFZlBbJQ6mAZN44FcZRU cPNwJKPwxL7ROUWKUvaFoJrqIEFe2gIiLW29czOE8cObK3yTkyxBar+2T5tx8q8CK23GPTqmC/a kdRil X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: vY81q9lZntBCbXaFdRA14aJc7pfmA_gE X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzEzMDEzOSBTYWx0ZWRfX+tHfKrsCVxNc gPefmqNI0lozV8MbLSss1sNddQdGWf3xWF9N0HNaDpzIx6dp5aDy54JNVJXl84BUH+uvU/df1YY JLQSCg5zBfYnrkZ0QnqwPzaicKYsMfaa435044sv7UjyHQffAiO3bfoV8mFq974cqx+ipBplAZx LY2VD+nBy3DMop7BnSRDZN4rT2gJG9PK1FLBuHZdjlTVliu71z8qwn0b5p/a9SFFz7GWVZX2kjw Gpj+s2NSnqnMl8fZHlFjDTO6oPR3Ad7x/NJBejz9fh26n44k+uN9D3JfxOg+UyxJS1LA6d0Je4I fMOzk8IvXuEDxreiZA3RAVL83l40tqC3WZiCqhpmZx/83Yscm75lcu8jCo1KN9qfUaZeJPhkM8i tP+7F+l6uwsjzbjK9UErL7pPnabeFfbC/IhGLGB1bzxse+9U0e1oCznK871XjfF33fSXk4kJP7E IK36TJI7Jj0mpYjrcmw== X-Proofpoint-ORIG-GUID: vY81q9lZntBCbXaFdRA14aJc7pfmA_gE X-Authority-Analysis: v=2.4 cv=dZSwG3Xe c=1 sm=1 tr=0 ts=6a54e649 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=gEfo2CItAAAA:8 a=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=wENndLYK2PIMvs9AUu4A:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 a=sptkURWiP4Gy88Gu7hUp:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzEzMDEzOSBTYWx0ZWRfXzBdrGtCRQe3K KnshzmZx8sVVhbFUkfXfGsnY7SLzBNioaK/IM82uNlyMiSxc/EJ8Qo6HMEiCVuGN8h61T6kz+ja rmiLey9RG/u+R++4UlX2RCKAmjloAi4= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-13_03,2026-07-10_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 priorityscore=1501 adultscore=0 malwarescore=0 spamscore=0 phishscore=0 impostorscore=0 lowpriorityscore=0 clxscore=1015 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607130139 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 Sat Jul 25 21:30:55 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 CBF344252D6 for ; Mon, 13 Jul 2026 13:21:17 +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=1783948879; cv=none; b=AyHOlI8xxF3wX3tpBHrtMlPR0hygKVR0HeBI2Tq6Mv7ShEv+/QeKy9w1Fe9iZWhBbQpYQiUOIhuL9pIV2KOxWBMJPqGqTyu1hhugrqZSOKyN1UvEkAzBBxvcFLVLwgD+pFqdv1THqKrePU4EP11r/V5TonqOJetiT1LA7vn+b9A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783948879; c=relaxed/simple; bh=6McQp9b/ZuzsH4b6xE2Bu+mOLPKZAWdsYn2bXrph17c=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=cVwUX8Fas4hnEm8qtMMB+pPPOOmKxMuiCPE8+pQvaBbyX3MwsrjyqI8vOBZjDPsK8y+wp0jedkv4wIl3oaq00yu+KGeDrvLCcnBiiu63WlbtDd4Bjn+g3kClrGX2OsdYJkoDYJmgGoleewMh8DbbcUf1OKGZ3rwYJNYgxsiYcKc= 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=BlGTZ+QJ; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=h7migrbJ; 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="BlGTZ+QJ"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="h7migrbJ" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66DCDuK11209908 for ; Mon, 13 Jul 2026 13:21:17 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= cRz6RMAtUsr4ElixoQTyiHRXUjuFyumK233EdmGoYlE=; b=BlGTZ+QJishjjSr3 1JYkYZzkAxS5OQNHK6UN9ZZ4e+nOUozqG9XIGLXGsQtDhiKz3M+znG39hU1SACaP vRKfpITzZT2nb7c2w+JB2iDC/BF7nxkHXrwj3oGcZO6GZbgpjMFyvVWQLU/9QvVd 6+s7ysGCcCl+AxGpCDKM+9KWpAjCnhrZ0GHZ0eVfoScolYT1aqd+G/HLM/P98dsx FH0ucpCvIWa4JAqUeCf28JRiNO2u+ffQH85z7ojWcY+ZDHZMAdbKJh1AhWWsqtRt ucbg36oW+Ozl2Ji6wS14M69dO7swdRd4NJ0ShEhkdm/wqsxsrZSkyFhLrGp/GT6a JfLJTA== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fcw4qrw49-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 13 Jul 2026 13:21:16 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51c01ff996dso32017031cf.2 for ; Mon, 13 Jul 2026 06:21:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783948876; x=1784553676; 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=cRz6RMAtUsr4ElixoQTyiHRXUjuFyumK233EdmGoYlE=; b=h7migrbJZVd7/SBHv6gW+8KLmYbaz0alCCBovQ5yk0ICnMlc2CJ47EhLN4k4UpeBJ6 NPyFz06zizR5eKkVpOx4A0xBZFpg6Eh5wzl4gW6hQXcrUcm8FLTzfmqo8DpIisPgtcfx VqojwMStmvPwBPxZJDHSovVmPhizDjgn222W5SfR0UcmJP2pYARnoa06gnCMM/UVUUE3 j2RC3cZDo9kOPtFP3R2pHu5RzdCrY78kI0G/Fejl9ogeDKAKwt3StMQ4pxcBwWNPQAxy /JkHbJI23KzzebCyS8hMLkKshJ9I2xDkMr06c8RYfmV0ms6bxOj5bWBJ10bjat9qlYZm khJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783948876; x=1784553676; 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=cRz6RMAtUsr4ElixoQTyiHRXUjuFyumK233EdmGoYlE=; b=qBEBjk6fiCuZ8CHqTYHSWSbUA9k3O3cqcQJQ4MoOTXhizFsLHP0mWtZXddpnaocMfD vI9cUnx3K4p1BAOlmtZe1KlOTg3lJP2uhIHTNAezh4rYOUcb4elyaC6oia/5jmruOmrv HWn4ouiPiy8/WmK+9jjen2fmD2psZOct0gMLtk1WTSBlgJZvCVur11mJKaKh8SfUhzBX MIEo3WNm1LQo3E2C56huXDlKFTQE+mDlls2u296003cIHhkWASnofsMnHyr1ueKoH4lB eJj40DWOGJoYtOhvRa9n3CQbBhmJTI6HywAYNHWezeKRH57emOlly/Uxcowy2E5693hE WWzg== X-Forwarded-Encrypted: i=1; AHgh+RoIbyGdR2XJL6xBVyY7mJLGQRj4VQ83/VAYHUPikP1mFajnrUpJeIaspTVK5uMe1k9hok/aLkEHyook64w=@vger.kernel.org X-Gm-Message-State: AOJu0YyAZcbMvfp9W5GlkqbXV67VmsnauWJnIrc3hI4QijgnmUHC5GNV 4fFb/+fDCWy1q0vvVfTegAvsAF9EsreUM2uRByXaHhpw0zQe+XGuG1xtkEaI1nEBBvUR/ptRmXR u3tDg1B5GbULodVSfhelNVLQE08V09Adj/2xu3QL7G4zH8GbZJa9M3jMU0H/uztOxMCM= X-Gm-Gg: AfdE7cnEmXzqMZBH2um/OpH6v37udg+FQijjMRACw33rNyWPu+oje9xVzDVs1gf+xPT JKke9TKpAja1qxCH/TRq1XTysmsqrOOy0KF39xdcRwrJXU5caj16t3ts/Uxis31oHXDIfomIweS bMWUSgK1Vzo4A85BUY2B9u9uyHGOHz+8P0zQnE7s3ezZeiLDRxYGXs5JjTgrpWRCM9sJo8p5Ae0 sSI2v+CXzClK6j/KsB9QWqHdDdijb6dLe5cfErNm6Zjous25jjntRuoTqfCUEJEMTOk78m+3NKH zL24Jz90IpQHq6XLF0+grhZihVWIdi2ylJJ07HtLlLGuC1ZTGOzkodKOYWKkq833PJLWDMf1vEC UYLsKd7B/y4T/ZSiWWYa66620wZxu5i/k9ATt/cDk X-Received: by 2002:a05:622a:5805:b0:51b:fc67:c738 with SMTP id d75a77b69052e-51cbf0e0847mr89640821cf.29.1783948875935; Mon, 13 Jul 2026 06:21:15 -0700 (PDT) X-Received: by 2002:a05:622a:5805:b0:51b:fc67:c738 with SMTP id d75a77b69052e-51cbf0e0847mr89640201cf.29.1783948875416; Mon, 13 Jul 2026 06:21:15 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:8881:83b8:89fa:1a2a]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-493eb6f3dcdsm354561715e9.3.2026.07.13.06.21.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Jul 2026 06:21:14 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 13 Jul 2026 15:20:32 +0200 Subject: [PATCH net-next v13 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: <20260713-qcom-sa8255p-emac-v13-3-119f8699ef8e@oss.qualcomm.com> References: <20260713-qcom-sa8255p-emac-v13-0-119f8699ef8e@oss.qualcomm.com> In-Reply-To: <20260713-qcom-sa8255p-emac-v13-0-119f8699ef8e@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=6867; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=6McQp9b/ZuzsH4b6xE2Bu+mOLPKZAWdsYn2bXrph17c=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqVOY2GgSE2+BJ9Hi0c9UpIYFQzAew4cab1THFX 9E8f1kez0yJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCalTmNgAKCRAFnS7L/zaE wxVsD/9fGr/P9g1CAqHPauMkw7O+VrRVDHUAJ/8hbsfFYCxXDcl9OEx61EFONLLAksNax977pI5 Z/yl0bXTTHTgg2dcewTRXTWakDKOqmc9PufOJBeFJZM3j7vQ76T4BSB9m9l/tVhaQ+5QKxXxZEG qJvgeCbLAS04yp26coDMQaSNA8LDbfCKlLy9K4rZshOppJh6apggkq1uPtLULiZ+qtnc+Y2mYUL eYSoXQC9Tt0wqMu6pFwCZuGRPBEvzzxVo8C1WH3pyXL7Zg1e4wCodd+X5+DUitbUmkQo2UdDOtx 74PGGgIhnlhFgqrt6oZlWkvMO9CH0RJbaC5g+n3SXkgGyLCpsX55UKGyoGEMJ72tO7fkEDnvx5h cCI20qJcrGcKIgy8SGBERFlqHuAEmKBqT5W51Yb/EFsZwt+d+NyKVVmdI5uwN/rt3k6DzTpqvnR J4YLetemAUcAejeindnRo5Inwn3REqxyNsDiQ0ROY/9oc+6q22clnx7d6QzAvB/Ey4jGmWkebRJ MJ8MwUl0mvWHcneN1xXAh8mj7rMjQAeUW7S/HuPdtYQjgpJtVSuKo+vVrpjhTsOCb1oQ4dFkDjE 8CsRaDapvydtIxz+KOxCQ+vVrwjUWhCSfZn5DBtSMPET5HHCuuLxe8NVZ84xmLm0CuZ9KHOzCzx +AeQyBC0+fVj36A== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzEzMDEzOSBTYWx0ZWRfX4x+5r2E6jLlw mHT4HefOpJtUMVs+v466GhH/W3LMqLOpynb57p9VWifbH6797a8zsmj//PKYRXrC6lLuMzON009 zdv84Enb3jnCuTburpQPRdjVfaqwvLiMeVfcQkrw79f+WIWQXo2INVCbGOQJFTTc7TZBg1hUxbd eY9ol242HBS4aPi1jBOfWOfv++iN0r7QYEBRQ6fjLAA9rCkQu5j9bq2f9K/c9HQ0jcEGQpugaOy PxzWAaTO52soebTaVyVc5v3UQZxF3e3ns/cJ4g7EwhWOHvfgD9b3oeHIc9NDM425kh3i/VaCsRy S9hYHvtg5z4xXVS8GzKb7A5pKaJLsVp5ptDWR6wJ5+hv/LnW6LHU4ofkFbK4nEkhatOK0EcjHYn 0DUDUUPTMaeXY6k8xmnKM0UC5RxcnZgx+toY8VwJocbg3Pit+YEA2k5cxX/k2V0KENQB3FT19hF QrjWvAuAjeSfGJ/aA9A== X-Authority-Analysis: v=2.4 cv=HJrz0Itv c=1 sm=1 tr=0 ts=6a54e64d cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=EUspDBNiAAAA:8 a=ZvYg6ySBQLmwDIutsxAA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-GUID: E2JZOEjto4I3rrvlPAP-Hqvqm3wiOvaQ X-Proofpoint-Spam-Info: AW1haW4tMjYwNzEzMDEzOSBTYWx0ZWRfXyCL3n5mYXOYw RGjy0jmMHV9xDm1dLCxbLJeff5Qmm3Sjv8eGNfD/qClJUYqXGenExRDug8lczvbXo1iMp3gv/cw R0e9Ms/o7tMOT7td3w2ZUbyVrTmN9oc= X-Proofpoint-ORIG-GUID: E2JZOEjto4I3rrvlPAP-Hqvqm3wiOvaQ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-13_03,2026-07-10_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 impostorscore=0 lowpriorityscore=0 phishscore=0 adultscore=0 clxscore=1015 malwarescore=0 priorityscore=1501 suspectscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607130139 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 | 165 +++++++++++++++++++++= ++++ 3 files changed, 177 insertions(+) diff --git a/drivers/phy/qualcomm/Kconfig b/drivers/phy/qualcomm/Kconfig index 60a0ead127fa9f08749e1bc686e15cc5eb341c28..a7cf348f6a7aa18e8b3f39f109b= 02ea672ae4177 100644 --- a/drivers/phy/qualcomm/Kconfig +++ b/drivers/phy/qualcomm/Kconfig @@ -232,3 +232,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 b71a6a0bed3f1489b1d07664ecd728f1db145986..032e582f2e1af96687484ce28aa= ba0c2ef73e754 100644 --- a/drivers/phy/qualcomm/Makefile +++ b/drivers/phy/qualcomm/Makefile @@ -25,3 +25,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..aa7ce9393b2853ee1bb248f4a57= 38974d41556ef --- /dev/null +++ b/drivers/phy/qualcomm/phy-qcom-sgmii-eth-scmi.c @@ -0,0 +1,165 @@ +// 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 +#include + +struct qcom_dwmac_sgmii_phy_scmi { + unsigned int perf_state; +}; + +static int qcom_dwmac_sgmii_phy_scmi_power_on(struct phy *phy) +{ + struct qcom_dwmac_sgmii_phy_scmi *priv =3D phy_get_drvdata(phy); + struct device *dev =3D phy->dev.parent; + int ret; + + ret =3D pm_runtime_resume_and_get(dev); + if (ret) + return ret; + + ret =3D dev_pm_genpd_set_performance_state(dev, priv->perf_state); + if (ret) { + pm_runtime_put(dev); + return ret; + } + + usleep_range(5000, 10000); + + return 0; +} + +static int qcom_dwmac_sgmii_phy_scmi_power_off(struct phy *phy) +{ + struct device *dev =3D phy->dev.parent; + + dev_pm_genpd_set_performance_state(dev, 0); + pm_runtime_put(dev); + + return 0; +} + +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 qcom_dwmac_sgmii_phy_scmi *priv =3D phy_get_drvdata(phy); + struct device *dev =3D phy->dev.parent; + int ret; + + ret =3D qcom_dwmac_sgmii_phy_scmi_validate(phy, mode, submode, NULL); + if (ret) + return ret; + + priv->perf_state =3D (submode =3D=3D PHY_INTERFACE_MODE_2500BASEX) ? + SPEED_2500 : SPEED_1000; + + if (phy->power_count =3D=3D 0) + return 0; + + return dev_pm_genpd_set_performance_state(dev, priv->perf_state); +} + +static const struct phy_ops qcom_dwmac_sgmii_phy_scmi_ops =3D { + .power_on =3D qcom_dwmac_sgmii_phy_scmi_power_on, + .power_off =3D qcom_dwmac_sgmii_phy_scmi_power_off, + .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 qcom_dwmac_sgmii_phy_scmi *priv; + struct device *dev =3D &pdev->dev; + struct phy_provider *provider; + struct phy *phy; + int ret; + + priv =3D devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); + if (!priv) + return -ENOMEM; + + priv->perf_state =3D SPEED_1000; + + /* + * 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"); + + phy_set_drvdata(phy, priv); + + 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 Sat Jul 25 21:30:55 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 E946D42DFFA for ; Mon, 13 Jul 2026 13:21:21 +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=1783948884; cv=none; b=m5P7+yL1NG4fv+cZY/ZNOoDtWWgDl8iO1VZFF+0hjBF9ZJLzoi2FbPk2+bPkEB8If4iaFyT8k3fiRa1eAqWvDcVCLRP5Q/jrTiND8FUr76ElN4Skge4++W5zQnH/GJWDYEqWgWC42dyRuCs/prMX2JeN/e+AZ4IR8W539q7MRJY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783948884; c=relaxed/simple; bh=RY4vzAMh0bYsD4NzgOgi5A3C0dTJeqTq6BLCABjHrrM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Tezw7snYSzqn9kV373da7OgV1coZFJwSorYycVOPXtfuJ4UieQMJadB8GL3grR8jPycnMcREF/2XjKrvtQlYMBVIbMye/AkPT+nm91uaDtUKL8vHYrP3e3AoUfDFzNV9buJHo7qZbMPqacZnDkM9NBbaCwaI163jheNK9hWtTVQ= 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=GqORSD1n; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=EtUFxD6u; 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="GqORSD1n"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="EtUFxD6u" 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 66DCEAxM1304582 for ; Mon, 13 Jul 2026 13:21: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= iIY3wGO/Evz0NuvH19TFbyDP0TJUcPcg0Y3OgJVn8VE=; b=GqORSD1nWMrLIwju dywUGkEYFKq+rmGNeRyunPZnA42kW8w/K6rvHmSPDkEc6clZdmiRAaA3p/0th2Dl NYqVD9JjGR/onQ/xfUg1XGgoqpw4L+rRMSClGnQNgihTbKTf7GZwLO4NINKOLEld HHN6Qaeo6sNGB4IltzlvxOFQln7SMAlF4uoyOl/j8ykAYNTAhOH+CKgyDiT9Q7Bc 7pKx5ChfjYC8H00edOy1Sq98fkRbN3pNo2ZARt85UvH5Q1i+RzPy5saw/Uv5l8Uz koWdVyX3bn6GnnH/C5P9FofwqQujr8Y+vx5TrfgWJ4pHHY62ft3IHSjQi+Vs1uFZ 95HSfw== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fcwk9rsut-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 13 Jul 2026 13:21:20 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-51c0408254aso52841071cf.0 for ; Mon, 13 Jul 2026 06:21:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783948880; x=1784553680; 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=iIY3wGO/Evz0NuvH19TFbyDP0TJUcPcg0Y3OgJVn8VE=; b=EtUFxD6u6QAAThoNfU93J/8+HGL0hSQJZsS7GYs48D2EY/F83v5IESQc7Skb30JrDV UAanxfPaPccFVP9eCclPQ5YDJaax5ZBxatAF/hUFqglOYem3etdtZ5hFuekSkBeE7r25 arHBHFl10LQJfKKmLPq+VLFOnqReCXwKCCg9LNntBT3j2rrYj18gKSK5XHqZ5VVo2QK9 NkgX1JoHL3Z+GvwmeLN3jECBiL0dLqspPJJib/T/05d6Njf3xeOWXXthljskWKmLsR0C aYj0iPdYz9YFTmeQ4FL8Q+RahLW47OIXZZtGudK2dvlWNuSSAEy6dOcoP04m0EasOzjR fn2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783948880; x=1784553680; 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=iIY3wGO/Evz0NuvH19TFbyDP0TJUcPcg0Y3OgJVn8VE=; b=BN5WETeTfLLoQrl6CWMmaJjvedILHAztKirNabBZfTs7WQeteG/+O/1tS2dzvRCIq9 y9cu4QxRqSHIGfL7IxrgLR/mhkBaCf5txdnXgd7pkBqRNdVX5JHaWMjujVOcbgiq9xEj L5NhJtVY9usy5mMl8lJiHusc1vnRjkTr05L6gHY69JPmyDuaqjOwupTMR3UtNLzhDJ9K gUzri7vDWrnzYLOaEh/nHy8RcTm/trIEF81qJywwG2SsOTdmZCbuCnc3/voCQXsNipEz B+JJYyE8BeZ4S9+k5owPWS5rRPDIW+kirOts9SYl4OORobP+wmGApjkl7JTLhLX42k5e gMwA== X-Forwarded-Encrypted: i=1; AHgh+RovLVPhexFxwwNNLc4Jn3yQCFODeU/xVqi4MVUjRyycvvRv0RTaOGXLuv6ScBIeD9I4PDFjzxRB1C7HggA=@vger.kernel.org X-Gm-Message-State: AOJu0YxQntJyv06KIfxfVjhnVdO0oqwWMPzZ9Af9iv0CH5RzrQ1PJih+ qjCpksKAXc00AeVGlQuQHlDuw/ZtKoGQ9VHZSiiiud/2s/JRfm9UmIdRVJYUSTrTsd4GMgvju0r E6SwV0j0T6YPBIxrseZRjoo+F88XPBv812VQeZIQjVuPTmX0UPer+4bevkfHY9gMHt6o= X-Gm-Gg: AfdE7ckq7ZGNdqr5WLA4bAma+FehhfPdv5+puYsu6j5K6/3ChalSo5cN9AeKTem/wS4 73Fk8fxx+nmgT0g/wovuigMmMovCKw570G58Eygp4Hrj/1dWksmxblUKaNymTH1LQXmZ+Vy7shJ 8kJzyEjohKzI0/U0vXKGv/kRbiqMIlu6X8NiNmk/4NVfKsuvVe0ElReX/AMX4CUJ+NCBu4960Z0 2eEhUFP5ZZ64o2d+nwxNeCe/yc6H0v5Ie1vhp9cQAGTIXSPPu6expC1PZHW4Rk3YgG7S5LVZYpA vIDnXW4OjreaAgiZhncSbhCtIns0DXowdZHZkgKjT1r4sudtIBoqsJ/ua8W6JsdIMstvNAq9T4q 4m+G4md4WgdhZO3GtyOtuZZhfoh7+E/acJJqLgXZW X-Received: by 2002:a05:622a:5148:b0:51c:753:4679 with SMTP id d75a77b69052e-51caa1275d6mr140016481cf.28.1783948879549; Mon, 13 Jul 2026 06:21:19 -0700 (PDT) X-Received: by 2002:a05:622a:5148:b0:51c:753:4679 with SMTP id d75a77b69052e-51caa1275d6mr140015751cf.28.1783948878843; Mon, 13 Jul 2026 06:21:18 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:8881:83b8:89fa:1a2a]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-493eb6f3dcdsm354561715e9.3.2026.07.13.06.21.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Jul 2026 06:21:17 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 13 Jul 2026 15:20:33 +0200 Subject: [PATCH net-next v13 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: <20260713-qcom-sa8255p-emac-v13-4-119f8699ef8e@oss.qualcomm.com> References: <20260713-qcom-sa8255p-emac-v13-0-119f8699ef8e@oss.qualcomm.com> In-Reply-To: <20260713-qcom-sa8255p-emac-v13-0-119f8699ef8e@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=18313; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=2NeLxgTgsWOX5mimrNITiBcVK62N6JSjZN712yq69CI=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqVOY3Ignv9BCyI/HHCcLCcZz6T1HmfewOYSlj/ VcV0Rh5xbGJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCalTmNwAKCRAFnS7L/zaE w4B4D/9KgA9PZzso9nUQjvIbhSCPPqE95028vrjuq3muJFM4kgDAnTvxVLBNAv2TpfLzTmpFgUx A2C4wL1Jhgvsf61fBUfnmzmMoat2qWH3K2onNAhLfOsJ/YScMFsc+vftzgeNsvidxNr7wLnKzOM AXwZjGQaKFypx6YmT/Gp7YMSJpDr3DM1fPklR21FjpuvqFwShGK7DHJ6m6Kk339baKTfVZ0MJsO 1HOjcx8sUsfQLCIRB6c6TQKVO0AdeUTvC8GakhelqwjVk58U8kaz4kBxjT0tL/TdPs6kxdg8E/o 7t1/z7oqixTT8y0dTUN413RXbnrjG12FyoT8MeHxXWNg//5n4GTNj0R4Wwl0Zz7MReSISnM4rDZ aUaD3lMdzpmpMJfHi0Y3c501LS1K3zoplYWlwDddz3H3ux/UPGdtAZSfcAzznc2qAPkfM3PRaN8 ACj3rCLOAfccKSZCmauqyNhYVbVEJYU9I0hMTjDD4aWi/upFZdYTUGzf4T/uvJW/QqLEvapM6Sb PlegcQoiwVICClh+BC75S8aX4inrTjYzq4WvhWKnXYuvKE+j0sQq4MtSI6nr54wIDFef8/inkNn 0DYfOdabCofkMHYoIi1MincXOiXS9lRyK1SNMhun14q4HMasCondNZJkNJb2bnN4kYcOOpxHHQI RKaA89lS28yPmtg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzEzMDEzOSBTYWx0ZWRfX7AQakyxsUB9h u0NzcVT6JSM00/BdMkNVP1RJgQFY4PsrayMshP5K9Wv7WBm8SprHybBOV1/b3RFQbRIE2DEfosW bvKyLcDkbcntKR/W0z3JDV5NOQ2iU4qbpDReC9OCgS7oRbD/QfoxJ75gRgus4jnSTwMR7cTrtiU ikmin2gYVAJARkeQcwGk3GybBBtzNP9UGP/XovPkIsV5wSZGj2sTIJrot1a10TS2+QgmxchUVLy 5Z3ID2/P3aOZm367BicjbNDPYUBAm2GjHS9nekrncltD8yaFOzSi4JdnMZ/iwUX8xOWXJMfXqtw aBmGnbYQdcdPv7GOUV1R9+vWLZeLkErXrM87qGvKGRI690CoxD+I+SndNdDH7IVrI1sdHFtbLnr TRbWs8jd+729Il8cZcAs73fvT6/146wncMjlyfLB84I5BH23I2/wnIwYRHbnEsCZLj6lIOn5z1k KTpild07bHlmnHgsZ5A== X-Proofpoint-ORIG-GUID: Sjpa3K2RzQM4H7m1HQs2lT1wTu1c8foS X-Authority-Analysis: v=2.4 cv=UMHt2ify c=1 sm=1 tr=0 ts=6a54e650 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7: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=aDaa4yMnCzVJehp5dXUA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 a=sptkURWiP4Gy88Gu7hUp:22 a=cvBusfyB2V15izCimMoJ:22 a=3gWm3jAn84ENXaBijsEo:22 a=d3PnA9EDa4IxuAV0gXij:22 X-Proofpoint-GUID: Sjpa3K2RzQM4H7m1HQs2lT1wTu1c8foS X-Proofpoint-Spam-Info: AW1haW4tMjYwNzEzMDEzOSBTYWx0ZWRfX3SVeNdfC7B0S UUQgEvajJkfj5IUbsvvT+3RtyIdXSmoD8/qeT/jW7ura8g5Td/YP/2vphzc5B7qbAbjXpjFmuiK oIzU2eubbd8Os35DsD9FrU/yvvJAgUU= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-13_03,2026-07-10_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 impostorscore=0 spamscore=0 clxscore=1015 adultscore=0 malwarescore=0 lowpriorityscore=0 phishscore=0 suspectscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607130139 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 + .../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 + .../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 + 24 files changed, 175 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 fc445ad5a1f1ac490e921696d6f7ca83d15de459..448e617cddc4cda8dbc77e83324= 495ffd5dfb9be 100644 --- a/Documentation/devicetree/bindings/net/altr,socfpga-stmmac.yaml +++ b/Documentation/devicetree/bindings/net/altr,socfpga-stmmac.yaml @@ -140,6 +140,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 65882ff79d8d7e3227e31415676639dd86f7098f..081a21174fd42bc4925d1850b11= 47545e111363c 100644 --- a/Documentation/devicetree/bindings/net/eswin,eic7700-eth.yaml +++ b/Documentation/devicetree/bindings/net/eswin,eic7700-eth.yaml @@ -95,6 +95,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/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 2125b5ddf73dadd8b0d372e83a6b5c4624f5e648..8338834f49cd21df6c697a1f52a= 8b195c0208c23 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/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 806bd2d80d153537393761df322165f683954d50..86e67aa4fb9dd187905a0291c09= fdbd5d39379c0 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -22185,6 +22185,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 Sat Jul 25 21:30:55 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 2BF3A4302EE for ; Mon, 13 Jul 2026 13:21:28 +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=1783948890; cv=none; b=CwRFNAh6XvCy/Iz4Gc317umCm86RA1VrmmrEZfR4kfFSet7polxtQdBxK8J/9Xx+5xk5geaU+eri/gc3b8rfCUObggbEg+wSWdTYpL43G9WCJAlesR7F+CyFk5izWUw1BOmMST4pVmL65G6IyQXBl/Qkv8hENCkB7pAp1TFMi7I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783948890; c=relaxed/simple; bh=Rq+TDPdqhF6BqR973VgYSIdLvxRoWPIkY3OnfX0xzLQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=AHqpfHzAQqCGG6MtcJuCBycQBoxmpcGqdHo7R/RedC5083qT8Vt5FN9RcK39YMusqAOuVVJbuV1ToY3OVXSs0QDGu9ytv4NbVDt+XAKf0zO90gHnt1+kZT+A8+LLKF/0kqx73ywJqVcHjtVgPCF0y4t/FenGqwkCQ4EThhCjfZE= 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=Qf8msRCz; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=IlD2lOAY; 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="Qf8msRCz"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="IlD2lOAY" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66DCE2XY1428547 for ; Mon, 13 Jul 2026 13:21:27 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=Qf8msRCzFf3+tHNz SOrsHJEPxq0uRMP6T3kvWKfsmoQjWYm+Nj5IdZSgZkPNmsX+HEzLlh2JJ07ihf5N mko0DY98giBkts0M6oLnXVXDK86/6BcvurPiwX+0Oz4NdrJ0vvdVbea0tDnESH2l vnGrYeCsYkqpzINV+eybonxT8jHlzPGK/rI8qIfPFQ9/TN6FauU7+JfgvqwggXrZ HNoKHVWu1a+AZ4PauUxMwhZd2XCe/FTJ0guFq7zymqxbR8SKtOflyczwlMckFF7v 6WOgxKJStJY3SWa/67PFYX2EcOi3J+BwVj2X6XiGuYy6jwpFyePLlGxSs+19WNFQ Erw5uQ== Received: from mail-qv1-f70.google.com (mail-qv1-f70.google.com [209.85.219.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fcurn18d4-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 13 Jul 2026 13:21:27 +0000 (GMT) Received: by mail-qv1-f70.google.com with SMTP id 6a1803df08f44-8e9b9f30d65so45571316d6.0 for ; Mon, 13 Jul 2026 06:21:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783948886; x=1784553686; 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=IlD2lOAYIpRsT/V4mfl7NH8HE1WIklUimmkGA1mvgvdKLx8mg2LpUxINdjIOAy+iPr FC0+NWueS+XufGGlSk5H0ZeguV1F7/jJJMJLH0DaJ1/J7p3bQoeCL/IevkqQhaDWfH6N FrCbI+/rwyvg5bqhRW7Cm3sAVCvXVIkpMTe5DUVk+En6WXzqElz8C4439URnfbCV96gV VYv2m/NUkFi2TCMVJobm5lnFI0zrqQ0+0JWI5/fcAjpXA4n7SuZewOFGO4rXzIkP+EWs 9FSXgF8JKKIdVlQY8luGb3GNGzm9a7vxwnD64KmxC1ET0u2KO3j6HXscBsGqRQAGXasN assQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783948886; x=1784553686; 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=EqqH36/1dRycUAORA7Q1+6E8kTDOgq4cyAcPUlrbxGXez0gV+Fs5MbRyc5W2mNYlQH yI6TZyy6e8OwY9EUa/+fYc8yqyuG4kOMNyn/H7qaUmy4OefJ1MyOvvGHqlpLy3IpmhdY v++C4NCEovFgVsdcBPqZTUYKvkDVTQly4g+tU9JZMVUs6iHvwiMheB6yN8lXs/e+GO5v mtAGBjXtpjtPxzFUYratbjBwGJaNdsusiDHdhb/BOLJh9dlqJeZ46DT4knKrbWd6kRnx pNC/Kunp7xk5CNUMtM6eh9iDdi2kVC/YHS5g2ZxzZFpnDIoiQKoDgPuW7tF2uHKhByok H4Vg== X-Forwarded-Encrypted: i=1; AHgh+RqvMgoBOiJDptqfTtoR6ouYHl+7l0pHgIiW82LXb2Sy6fUwMdKq/I8ezwD8aSy0wlU5MTvA3xhhhiFoTL8=@vger.kernel.org X-Gm-Message-State: AOJu0YwxLCK3RlYGGauJcVMYSZx5rRXqATGTKMQO8HjsXVwvivbUmiaR SDsTcBVv3E60HbBkSs9Ig4X2/0HJBG2AR3ZzVqmb+LAVWyTUUzx3+ggw8clQNRItQJx/aiHvtfI ccPnF7R+KMJfAa9xlqangEeFXRfrbUIUZ8InxvogoBmlaAnjHZLljics/CfnVM0JdQTI= X-Gm-Gg: AfdE7cnq6DI2WY/u8UdE+IgzWTF5x5BakX3vc7kthPNzqYc8S4B/wR/dFsKRorTEKif PDwlrGzBjH4hodWpVh+mnYAu6fIOtmSSkmApwxKB80SW6DESX9qgLcgsOUDBvhyZkShdojTCpo5 IZcFASiKt6PwcrzlatpU7NfxAw6X/zym26A52S2W3RXXz0uqlFWufeFITRXueViWzH0R47/feIH O0E14A4x7V3h4AbzICpm3CqL+Tp1VWz7b0GWkzUV0P9RUK/lSpsL0iKZ4CGiVtrhk+lrQ0Liywq GBHif72T/b2p1eiBWPPkzLU7itlK0adQIF0kzTHRI8YP2co2agJrwxO1s6sgdWFBNj9EY8RWkp/ 0NhS/s8WXplnMexsGKcqju6B0AKisolegUx7TLfYK X-Received: by 2002:a05:622a:303:b0:51b:efbb:fbc with SMTP id d75a77b69052e-51cbf0d40a0mr86033781cf.33.1783948886532; Mon, 13 Jul 2026 06:21:26 -0700 (PDT) X-Received: by 2002:a05:622a:303:b0:51b:efbb:fbc with SMTP id d75a77b69052e-51cbf0d40a0mr86033231cf.33.1783948886012; Mon, 13 Jul 2026 06:21:26 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:8881:83b8:89fa:1a2a]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-493eb6f3dcdsm354561715e9.3.2026.07.13.06.21.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Jul 2026 06:21:20 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 13 Jul 2026 15:20:34 +0200 Subject: [PATCH net-next v13 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: <20260713-qcom-sa8255p-emac-v13-5-119f8699ef8e@oss.qualcomm.com> References: <20260713-qcom-sa8255p-emac-v13-0-119f8699ef8e@oss.qualcomm.com> In-Reply-To: <20260713-qcom-sa8255p-emac-v13-0-119f8699ef8e@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/NoTDAcsmYgBqVOY4z91onaKk8EZSNQidgZf3zEywv9nc+nEcm 240LzBDxc6JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCalTmOAAKCRAFnS7L/zaE w1ucD/4m4/PTLJO0XMbU6rkRzGWtB4Ml5ByIwYm518Uxusod+xBCfBe/O98uwt/UkUh3XGQ8ANN PIwNDFrrG8qsxCqfjFpvQxoZeidLrlPt6STp6j4p+gOVWdTto250bumWcxT/+P/vbSwzWLb8K2o 6cFSLyIHA/KVYLxYYaUK4wesPOclMG6Ze7JPku0PdKxtQ/aYWPttEUv8xvzheabI+0AqsX3jARN dF82kntlPB75YooEAqaQSswWn8lhbTd9mV9gGsna95JJgpwYnG7IZABNDJykWuEYtHBgOI6m5ia VFokjS4/XDjphp4oPxdgqxO6UTVh4bdilWU7MaWdLs0AiC3oAUSSmoSZm7e8IrXx68LVIF6IqRX geK39OIcIChi4YwyEGny8GngvKdPtAEmsZwrJAuM4eecviRJIT/Qc4U+tn50CpYV8yQ7xjUwfK/ D1QN1WSBE47QmmlUlzo08joi2AujLXtNCV0gXTaIHdx7njErkwIowCqaFIAMLsXwRWW8bl9hxC3 CVsGSMrvXAGfbtG+MrMpEGMYwLuL9Hq/VuTaJn14J04bNn2FmNLIteRt7HIblRGQoZhRQSOEyB4 F2MOTDosGkq0ICXPck1d/CoYelm5ME+EOJZSGFax3uvDX5Lqfafyjs5YHpzElofYwX0n6WI9Ojs uyMFYwSxO43PFPQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: BUiz4pgHTXmphJ4i9kKriEVfeX4LgPFr X-Authority-Analysis: v=2.4 cv=IcK3n2qa c=1 sm=1 tr=0 ts=6a54e657 cx=c_pps a=oc9J++0uMp73DTRD5QyR2A==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=lIIuVyqIMTwqdMfQNTsA:9 a=QEXdDO2ut3YA:10 a=iYH6xdkBrDN1Jqds4HTS:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzEzMDEzOSBTYWx0ZWRfXyevrd0kX+Lq5 pBJ6kJIvF/JLW/FXMg/G27RBUxpGrcwrb7KKw7JTHngfGACwRGnU3sZHu36Angz82BGoHC3bmib 27U6xqz5ufCW/5cQvswAE3C5MkPv+k0= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzEzMDEzOSBTYWx0ZWRfX1/EsP7AzDr/w 5KpjREPOEjz5pBmUHVSdHSB5NDu7oBAgPav9AUCfpvJRvoHiMYKoO99liSQAfJ4UM69dHf1ET88 zsXswVnWaQpjLLpPR0oDGybOPdBJ0dGf+280+h8BnqQuS52zUGoCoAblv4IwXKeupY4ksoh+jwI goWRmoyv36A4ZmgyPahJfsYPJdttFclJcPiwW+RqDAtoRSN6E5Lw+9oQXsIhAwamIshHr2S6S/M G8eMGU6cF1amnW2W7ijB5LNZgnFY1jEJpeMxO44/zI2H2YtekOxFIZD2kifQUU74HcgfP6Qb9Hf Dpdl4xg3sZtWQyrBJtNUnKzwNczr1Q6+Jg54TJ4667yWgzzf2ffLfMRdf/rqvzd2+a4Wf87Fk7s Yu/ClkvRmVCgg1NwAGFh2/xcCGeRmfrsbd5q1yE/KA251BMX/UOaQaPM+dAU4HVtR8AWYBr6/5n l+HodSqdeu4Ei7fFZng== X-Proofpoint-GUID: BUiz4pgHTXmphJ4i9kKriEVfeX4LgPFr X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-13_03,2026-07-10_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 spamscore=0 lowpriorityscore=0 phishscore=0 bulkscore=0 clxscore=1015 impostorscore=0 suspectscore=0 malwarescore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607130139 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 Sat Jul 25 21:30:55 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 68889427A04 for ; Mon, 13 Jul 2026 13:21:31 +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=1783948893; cv=none; b=W905GouB5ewM/d/Wma5s9D8KM0RjRroFoKz/yieN+Bya4ziu0f/Q2Ni1P3KykXiw3V0db+lzw5Jze9ObQq/Qz+u1AoiPe89nlgwJ+zVHBvpuZfxAkZZ9tp9ql6NpXorhILG/0SrQ0lHFXB4ZmWp+n/ROmErm2EiliJom8X2p6/Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783948893; c=relaxed/simple; bh=NA70xnk/UNTcZEimYYDwGN/0JGIaZCh/H15cO1NUAsU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=iDCAjtK1sGaAgxCRmEg43w5x7XNzsu5DGQvEjs/ourAxarKPU5gg7F5muRvaNlIr4SFRaBd6E3nkjCMO89PoFqqlQ/2aek3El2cMW07Le0ltmxFfYSe4JOa8j9l4pz++zFsbL4GcaZsBP/k+qjdnPCkmSAmCH5zi/dRF54pF1So= 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=LuHB2Lnd; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=IYtNuuix; 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="LuHB2Lnd"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="IYtNuuix" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66DCE6SM1210722 for ; Mon, 13 Jul 2026 13:21:30 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= BxQCdrmRWkrqzTZlKUuS543ZF8H8KMBQQnBga75zxC8=; b=LuHB2LndYAhekP/j qqI6yQ1IIvHllU+v/KZAuCsz8E37eSBJ/bOgI8R9w1HloRsQVR/lusbYFphVuRQM ncaLznaaOZ+jeHtIqKrsrzK5JCqgTsSRyhCO9cXFZgwr9o6k33sw7mmJQNrb8F7R EC4ky7JImgq3CLSrmd3sZh6HesP8U9IIKPPhXIVLimSmDCbIAaSlKexL3PW2Gt1C hNXMwOBmK4v7ZEV+ILuRuT4iStzoti5NGJ4uK+4650V8aLn42qktRa1uUbwOZImt XTpbLooToXh5GCa7hlWSVWrwLEgxHPy75kUR40ZOGYkjWYalZ4Im/4G8MWbtq+ES FVA8Ng== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fcw4qrw5b-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 13 Jul 2026 13:21:30 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-51c2af04aeeso46251901cf.0 for ; Mon, 13 Jul 2026 06:21:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783948889; x=1784553689; 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=BxQCdrmRWkrqzTZlKUuS543ZF8H8KMBQQnBga75zxC8=; b=IYtNuuix/FNb7c2bLQuiwUyw2ZI8QxwPYCHGXO4uO9A5fTCHQPL02Z4YKjKWUyNfno GcUFC+peRFkGD1EiElrOezGWx2ktQwJ23DUEXMup1IX0Q6z3Vlaof+6Nz03iRJbm5yTS x+K2jGRhOlON6QSum6ot1LL0Fr0vaBID+ZWpVfdThHDvctE2kLL/qWhnXnobHwBkUg4M kpjqO0w6ElHqHRZqZeFiCCIHL51X0FhA+bhs0QZhl7i3JhQvqojsWf1w2TT2AjTx2w/i lxP5bAOuWzVv5uA/AQem5bZoRQfatvfO79JYKJ7LMHe32clvsmv5MLcLUi4ZdauDg2l9 ltAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783948889; x=1784553689; 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=BxQCdrmRWkrqzTZlKUuS543ZF8H8KMBQQnBga75zxC8=; b=lFUJHV+tqOZIn4UAqiBlOUZ+Ys3O6EuEYl7vA8y/7EFIFuDy8YLjsog0O2Y5V8g5yB h5imY4BqZ5ftxKeVbjN/JpAoO2bBznqyD3eBTNIP8DSXAc7zXw+PoxgNpqvUsCfFY6Kg 9m3OxuNSlR3KyOzhtCjIOBOkJsPLHtODtcldm34A50Jw6eqjsLNcy1r6eaMW5KoCI3wL eIjBHECeKNROzRLrHulbqMy4cf/lX6peFgboyYheg/8JWUhlXc7WqxTmxDEKABmFP7Mw pyRm0eqBWYOpAlnLeCixaHvaYd05mBR35VXfpa7HOlkXi6xI1EG3jFJVDm8LVIMaRPw3 osfg== X-Forwarded-Encrypted: i=1; AHgh+Rrs4UjmF0sT9wmslVw2wPW+0+HhBO4WgYpezHPBxNvv2jdmSq4Wu1xrWYh+4Z8cpoivmjAtkJyFK3/nqGc=@vger.kernel.org X-Gm-Message-State: AOJu0YxLYWG8OvKxT0H/yvziTS5tg+RDE8hdO8tFoo5ggO9+6fwpz9bO 9lqodSM/+dF4UrnibQKHnoTpK8laH/91FguBmvN+WCHODJN/nEzUIUTcNbUlfQI39wIbyPpNXFS jRSvWZ5JEEX7lm2mnseWHSF4Eg9YeESyANhn9HqS4ybHqnjGuRa1OdwJk/EYuCqf2BLI= X-Gm-Gg: AfdE7cl6ON7H69AEr+RHMOLtFpAoeT7PfAG1pXHREgg0QA6I7jAa4zWoQbJMPzdsHqe Ea/zptI0UfOubW4s2h1TBoCCqqKwOWVWIPrH57kJcrLwdTiNXwGaxGka+UmqqwiX93NuHClqueQ wJL+CzmM052UZQwPtlT1SRvzTi5UmijIJTQOukOdfWm4YIj5gHv4Og4n4BmIeRYjnXs6UJQHiF0 RIk1ZxEQul7ZlPoqZtPhDYoKMal+LUkx9PZEWOlUCCZYYGnEpb/3FSF7DJfCaU/6YQ2ZxDa30Et UjmD+WZ9ZOpZer3LUDahRkE3oHQrbdhVxeVE5fs/wyxAaKKe/q52gGUADoamNapHR6NQNe5+y0f 0sIlaP+09QrTqSJxr+iHGrQgaPuWmMXmPfcWGKcpJ X-Received: by 2002:ac8:59c1:0:b0:517:63df:91a5 with SMTP id d75a77b69052e-51caa0bb46fmr141763971cf.19.1783948889463; Mon, 13 Jul 2026 06:21:29 -0700 (PDT) X-Received: by 2002:ac8:59c1:0:b0:517:63df:91a5 with SMTP id d75a77b69052e-51caa0bb46fmr141763741cf.19.1783948889084; Mon, 13 Jul 2026 06:21:29 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:8881:83b8:89fa:1a2a]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-493eb6f3dcdsm354561715e9.3.2026.07.13.06.21.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Jul 2026 06:21:27 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 13 Jul 2026 15:20:35 +0200 Subject: [PATCH net-next v13 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: <20260713-qcom-sa8255p-emac-v13-6-119f8699ef8e@oss.qualcomm.com> References: <20260713-qcom-sa8255p-emac-v13-0-119f8699ef8e@oss.qualcomm.com> In-Reply-To: <20260713-qcom-sa8255p-emac-v13-0-119f8699ef8e@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=1822; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=NA70xnk/UNTcZEimYYDwGN/0JGIaZCh/H15cO1NUAsU=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqVOY5/+vs2/qf6ixq4/oND2Zx6UG66WUho2k1N BESE3IZZ9yJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCalTmOQAKCRAFnS7L/zaE w287D/9ZdNDg6JWXdurG/2dzivQeLaVo/7EtsCSyerxef3uIlCFZXmkGtM9e5iwQwgajmvVUCn3 JTuk3xBjg+Z1rKC1kB/R3MjBD8PhEW+E+xtyv0ZfJ0dLazOINtSW3GAlW8X8jCLTZTcdvwEFdzY KIC9IY/wiiZ8QSRR+AhHjb5oF9P7v6JqeoqmJjeOZtJfRdnWMv3WpoIwpkP7GEtoICT4ADSsMVw dZ7DKd/klrXJmNHOgxtCE3Sa/tiWHW37EyzPjzFDFIJcWktXMWkFucKsCab66xmA8dxOPc8oZCa J1xm+gim/rKwzek+BM1739EJ5i9AauUDha1WT5QrTL9P5+3SvZ4zNLwhomOEKkLoZghbp6Pbepc XYhKBRQQM4vu1cZJi7F5bb9E4ACR+buWVjXcCeDZANXlHHtlPmOHekz+wJ3Ua1YStpgBkEAzKk2 dFiek2jbRDX7KFBUTDPBTBIRkqzc+Y7sXl/CwPYbMw8Afeddl8kY4dpRvzG29iFvQmjSVwHcAbe Lgkz6aIJy20PcDerwJKefrtBj6Uri6D3O1qhz/Z+7KvVbnD2CZq6zoC940lmSPJUt47jeAh1VDn Uu5E/R4SosFE1DGpvef7KgKjGkKrEm7yAWoep/YaYStb2OwTec/khkzbk+W6+0EYIeUbC+syBv2 3gGFk01Yg1NAiWw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzEzMDEzOSBTYWx0ZWRfXwXZtzD/yq6cS EJ/JSVRJ+q4sUsuZTJtbBmvcIhE6oNOP7/8AXdPa3UbrsWgJcqrwbOXOxz7BJT53lUMAmX8ThDd csraa6K9/j2fFGrjH4FI9hdVzJDcTmE1DQA5e5bC2wBPnFfOLPuYQkIfMsaDhh2KBTHXTA2mgJ+ 2hoqYV1MEH79K4vX0C3Mhf5uOWnbTc8uTKsC/ddKUyCJFmub7lXcpjzflnBA2iwZudHoFpaPaII yCy8C8WrnnqSTf5Rx5OXDKOCDF4RnjmtVndSu1S/Vr9fAhXa7+lFfy6kgOKW/BbEdSrwlUU6u9z 2ei8uBS2uYHRovZBDBAFnu5PBl9twWTlrT2X2AWDQWzK2qTzuNMcGuMUpKfPJ6UhmVXVfpamLf6 IaKh/2neKbb2qdTXD2p9lTO7ugSxeZq5WoE9zqY8NnExX1slZ8Vy2riNp2Qj/rKBRg5bAXYiNb7 HlCK4emWSVtreqDyBIQ== X-Authority-Analysis: v=2.4 cv=HJrz0Itv c=1 sm=1 tr=0 ts=6a54e65a cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=EUspDBNiAAAA:8 a=fYsbkC7JaC8eFfGKQicA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-GUID: nKKMKab_B97_M_4W9Ng1sJ8F7uDSP7ln X-Proofpoint-Spam-Info: AW1haW4tMjYwNzEzMDEzOSBTYWx0ZWRfX41d6ttVDyqaq h6CdX/n6teT6LVQxv/6nra/iUFTpJq4EtelcdjBMUH93HaYvteu4u4qkfke4vJB/yQl3bgZfskP 6LUKQGjfmH7hLjnJ+OCYBav1Wew56Xk= X-Proofpoint-ORIG-GUID: nKKMKab_B97_M_4W9Ng1sJ8F7uDSP7ln X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-13_03,2026-07-10_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 impostorscore=0 lowpriorityscore=0 phishscore=0 adultscore=0 clxscore=1015 malwarescore=0 priorityscore=1501 suspectscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607130139 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..9d19203ae4bd7dc17aca068f5eb= 88ff830e4e906 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c @@ -632,6 +632,12 @@ static int ethqos_mac_finish_serdes(struct net_device = *ndev, void *priv, struct qcom_ethqos *ethqos =3D priv; int ret =3D 0; =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; + qcom_ethqos_set_sgmii_loopback(ethqos, false); =20 if (interface =3D=3D PHY_INTERFACE_MODE_SGMII || --=20 2.47.3 From nobody Sat Jul 25 21:30:55 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 1CC83433E83 for ; Mon, 13 Jul 2026 13:21:35 +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=1783948898; cv=none; b=qFRmv+qJM94IgLh7FbMs6n9mvadFg1E9+15oxwEROgYZh6mI2NwoAuOJUXCmJRtZHQiyHqo2/SZ4h9CN3IGoJ+mdC+r3/eQaNTlJC3PF/hzrypOv/OL2r2QTXcrjkDTJPSsy+OTNMzF10C/DfrdJW7XIt4xgwz518B0j6cYgKdM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783948898; c=relaxed/simple; bh=SlOf+BhDICNYWid3SpsPo349aSqYaDdHZpfmoCBZZHw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gqrjM6yGHWrKUmVl4+Eza6O1hBS21tFDaHQMGUjGaMxVVQi9PLvfgzJ568TvA9OS5tHbZBgZJDPBwr6sZXpnzcidYwk6XIKBwNuRJujSbCWZJcOs3RJviFEyMKPab26eV12MBVbkk4RKIZg1dDsxpa5ZoMI7N/pCcSTrzOSiHDM= 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=LglMfE3i; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=SdYXBNzN; 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="LglMfE3i"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="SdYXBNzN" 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 66DCEMu61333557 for ; Mon, 13 Jul 2026 13:21:34 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= 0iUvEQEb5V0jbH92pD3f0+p2Tcm2EEwWR0fzZ8QJ/4c=; b=LglMfE3iuaXTOvC+ Glk4qRQYP1S5h9C9BHTI8RQ5NJdjMZyMlsQsl5fbGN9kik4i7RA6B+kaxzVWS/MB AQ2J7J9DdIO8JCI1nDryAb8EyOQVoXHM/Gj/e3SfGjITUXUKhiiGqt+mvjpjEr5u Qtj5cWXSLd+AEl2d3ttJR3sh8V6bl+t0FWOUS4pVtm5zBFlaXd91t/H7WGorLh1Q xFp7XV18n+LvRnwDND0XpCMXYqLQvtYTEBLi66TqPSoB/JWUvFdxsXMu2LhjX3fl bBeT3r+MDRz95I8moyRXQ+uTEWUQMT/TAkSPos5ZuZb9lbQOJfRhS2UO7qLKesAy 4YslnA== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fctc8hpkk-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 13 Jul 2026 13:21:34 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-51c21c01cf3so62253481cf.2 for ; Mon, 13 Jul 2026 06:21:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783948893; x=1784553693; 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=0iUvEQEb5V0jbH92pD3f0+p2Tcm2EEwWR0fzZ8QJ/4c=; b=SdYXBNzN9nMDdSEet3ETP7RS15i33C07CmPLJBPp+5HAS/ZvtQB97Tc2STrUy1F7rD ylC9efWAtdozTUemy13jRsU5N/AZcVEyK2PBqHAbrELZfxxSKAh13mLz4cJ7LBzch+0W feeoCq5omZXrWl/Ps5F6si8uBszzV2RbSqWR1q17OStFDpwp5vogflKG59o3TFw/WF5e Fx98hQPff3V6tGCb/7jBwcxHwd7NYHC/83cHUNHBP6rt+ln9tBL8nXF1Gv/dsq9/kjJM 9ICtNsCZvA2c9ZRLqvlt4cK/Itgkmd6fBGXRq10cWt9RFXyvzn2jyzzLkiGgNtDxfNfj gS1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783948893; x=1784553693; 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=0iUvEQEb5V0jbH92pD3f0+p2Tcm2EEwWR0fzZ8QJ/4c=; b=gsF5qd7syDEpw7eHV/mKymj0OVx+hH2wHTLmW9NBCvztPYvBVwYnjpIEIrJY+NJQlD 0aKxlX01RC+qokLY6tlSvh4keia44++ThXK5e8TM1yJtX78MjdSsX/54UlyL7ZxhhhtE AnuedyA0jI5Ixl/p+ABGeKA/2BRpG09umoNoRWabAwDpKYU9/vHwsZ1Ev3VfWlNedfmG GuHMduMTT6/YkmtMVsW/pvwJZZto59W7UX1yVPd7WiOuoCNM3BmNA8TyMVYtw0mvl0yC VfrbwYA6LZh/D7KHLTERbyaQpHdv40WQXkYMI4XYmt6hGhoXCedRel6bSlxGJxvWUI/V Q7eQ== X-Forwarded-Encrypted: i=1; AHgh+RrblY0x3X7scmpusxH2RG8DKNQFTkcAWvppVVlRlJqCS2t2FRg2o8fR7Ge51eW0enJ1fDRiEm/eqVpv+dA=@vger.kernel.org X-Gm-Message-State: AOJu0Yw05hXu+cv6OAyCZSr5t3ahtK+05XmMQNYgWrpSAnVKrmmxonPQ xvgAFjHm0jZd/yX8pMkGlUA973DegeXNCBHLPKHyDUE3bk284iyedp1irT8jCOWrK9Aowa0hYZT D8LKJRzpa2fZ80SSSPtO04q342ZjI75ge6fm/o3DQmQjSivzLk0R1LytJxsv/WpHHZWI= X-Gm-Gg: AfdE7clK06NQJe3a5mDqt/EkzsfWbkWWTZ5glp/bP1iN8V9akYJjqI3X5xCfDq5DDzQ U0EtsUJn+mTkAkp9tPtUAhEFYhUQ2ZzF9jFrhH/IfOf9VnBH9uswUuUk57txgZxkg2DS9Fmwckp zc6og4e+bqKmKJz8BnNLdITnJda8LPhMYWh2Kwgq8vU1HblmdvnpQhuBJ7q1KWviyPnHFqaHBfE mQ0iG5IePWe3NEabA4W7/N4p0uYDdYWfjnqDPOmHK2/xgeK/eT+2xA0ulImgqT7OYAjTvByFC4f HNKEe7ZTV8Q0lB/Gx1enegHYj7Jy5uTF4EeZ0Vq+qlksmncbpb02VGQim9FR5DCGnEA2zifEJgk 9JjdgcCk8xov+/jwJhN0Ob7ieWJuhYOR8JaNOzv5V X-Received: by 2002:a05:622a:3cb:b0:51a:6feb:dc8f with SMTP id d75a77b69052e-51cbf0e0756mr87983181cf.9.1783948893507; Mon, 13 Jul 2026 06:21:33 -0700 (PDT) X-Received: by 2002:a05:622a:3cb:b0:51a:6feb:dc8f with SMTP id d75a77b69052e-51cbf0e0756mr87982631cf.9.1783948892921; Mon, 13 Jul 2026 06:21:32 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:8881:83b8:89fa:1a2a]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-493eb6f3dcdsm354561715e9.3.2026.07.13.06.21.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Jul 2026 06:21:30 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 13 Jul 2026 15:20:36 +0200 Subject: [PATCH net-next v13 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: <20260713-qcom-sa8255p-emac-v13-7-119f8699ef8e@oss.qualcomm.com> References: <20260713-qcom-sa8255p-emac-v13-0-119f8699ef8e@oss.qualcomm.com> In-Reply-To: <20260713-qcom-sa8255p-emac-v13-0-119f8699ef8e@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=SlOf+BhDICNYWid3SpsPo349aSqYaDdHZpfmoCBZZHw=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqVOY6LAQcF9quKJEcvEh90UXYXlVsW2Jh4yWPh RRmPDlSot2JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCalTmOgAKCRAFnS7L/zaE w9aqD/955VoK6LaO6vaDxw6NTt3itus8v3c/OJJG0p98jDFCjD9YC2veyzrofOQ0TKWJWkmc/qq 5L+Ac3xpoWqBjo9EjcMJwbHZA7YDaQ1QBEwbfrOIYjfwaQvPgRz543CB2Rirv7mpI1ME/ZYGarG Lc53Oo+GNT1knmktmT98TP8TPiwyfLnv6s2jgbfzHlQVdSxInzl6Xba6PrCJHuhMLDi43O/hvtI hkq2+mkJvQnUya9sbFoNnDO5XbMFOxMtggKVASqfi5yaDZVn7M8rRonjE1EbIVHWfa/toUesOa0 P2e0vo0oOBPPSXJ3r+YZC31vRjm8PvCtAFda8qrWLHm10Na27nQ6aU+4dKx3LBtP6fXF1t/Sad5 GVj+DwHrUg0PX0oR+JFTj8EmlXXKuaFe9+36xK4HX8ntTUknyXl/r3jEBsr+BP3e+vriuO1WGBN 4gURGfViayyslZFJuqGaC3rGsj4SIfzqaN+4tboTUYzP7uHFYkFngFdmj/ItLNcy5oX2pCfSoIQ JoFgO/XoSylDbz5dTihBwgI4MureklGQDOz7Y1MVSeQl71Uo6PMERaIIUr/PlMJ2PFikXISCBbz B/8f1XlpUku81iFnZGKEliv4krJ2aF3MsOEoa7ov34PUKUoIyWfcroB/lyMGxpL2A5g4yFXqFEj krC1QUE24KD0tBA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: YSDDhhOHyz4g3rW1pCbqUixZxis5QGGX X-Proofpoint-ORIG-GUID: YSDDhhOHyz4g3rW1pCbqUixZxis5QGGX X-Authority-Analysis: v=2.4 cv=UtRT8ewB c=1 sm=1 tr=0 ts=6a54e65e cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA: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=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzEzMDEzOSBTYWx0ZWRfX4e8C4CPMvnoK 0HDCzhzEQliX+9C6iUo3ultJPZ+xd75ufBs945upd0nx7hNQd+6o1moLv73kQu90exJOIqNasAd r49BPdbvnjt39pAfAMWFx8dzsSuGlPE= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzEzMDEzOSBTYWx0ZWRfX+QHk2fYX02Nl aXXJc7sh3k6QR7s42mZixSgm2PPpY1YBX17LvAEl6D1ThBK4btjIZGHk7VW3uAG1j/ZH7ZlEm+v H3haOS6pjb9K22oyIVuWqqppXfjqQBOs9OX7WrJ0epEnmDRUN+knNlFJyTrg11NOhMUNr619SG8 yl/2wdzg5d3ECyCVwmsPBo4j+lEeR6JMOMuTkV6tzfuUh9PoSsVAyyxuuJ/dnQtuZ1ql2Xg3fxP OscPsp/pQxF68cXEvYYz7I61bx4f7N34c53YtATJCnK9WUmFGdoWvUir43HKK1cPqEi3eaOo6h+ 66W7Llp5Q4ljdfAEglfMg1g2Ex8H0If70oYrIMcfzYWCDJQc4JeV7q9NYjiG1KXZ3wvqMP2DUJF N6ky/P/gpOyiohAeZ680rGaJUQFUBmVpWPNXyY4cEA9fqUP7BcCGEeN4VcfhuiSLv5rCQK0/ITy yMdHy+zfmm0nQJASt5A== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-13_03,2026-07-10_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 phishscore=0 suspectscore=0 bulkscore=0 clxscore=1015 impostorscore=0 lowpriorityscore=0 adultscore=0 malwarescore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607130139 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 9d19203ae4bd7dc17aca068f5eb88ff830e4e906..e083d7d55782ec8310e9375e466= be00213667457 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 Sat Jul 25 21:30:55 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 315AD4343ED for ; Mon, 13 Jul 2026 13:21:38 +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=1783948900; cv=none; b=nbM+lqfXse2PSxD4GAJWodZsS4YaAFmzfgKJugDVkeUyyuRuV+gUBs7I9BMBkIGIUKJIDjDEC7ZWeFTrDwuClhhLACR8VelZozgAlpeQm2eblh0Kazjy/orGoh8O7tvx97gS2srH2y86DvSTzdpjBNIa3iz9TVw+f/oUcRKlfnA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783948900; c=relaxed/simple; bh=6sLA5MwnRnvx5ahGg42dP42VZ5Uj0hEZ80jvCL+QkJs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Saw8tqgD8TBn3N6kmdQ7JN4L8Dp5PfsOxFNkAkExefLv7WpoJ+0yS27b/YSA8aVlNCMFaD1jRwNWnbdA3P8j26BP1gFHiNV5WmPlynLlk6fBrLYpFJYKdqdOV0a8hoTTGwoWmrdbBxsJ1ZlQG0wf22aOPFfTTqtANllZ0InBXeo= 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=LPTTBmz2; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ih5EQIvg; 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="LPTTBmz2"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ih5EQIvg" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66DCE5nO1561713 for ; Mon, 13 Jul 2026 13:21:37 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= kZVfYVIvZDWgS16VLGdHQkMZZirnrupFmTaCF7qGBc8=; b=LPTTBmz2tWUvklQZ 4w8qumFJeCIts8FsDBLzgtgmLmYfaPEXCkAMXr83lS9TifnOO8dfBqTqGLVJZjjE EaYmGmv7+ktoqoxELlKoy+2i4vzxFyXaFHbMUCPLts/v1wrGxluhlEHQQHy70nfn lGjL46Z2iuMJtbKcWgy6+snBXl62qpzQVPaP1DwTfXtRjPn6iQ6+VxRRWGVZVkTH +RthcJQasZ9G+nPUGjZd/L5djbL/UIpdWO8Lhc0X4c+lQfWucvS0tF0f3hDgr7N8 hohiDIsCwQz4sN7faey4JNeqBMmC4eIfNiQSc6gCGD5z7CznLNbiX6ZihcnaPbYM 7yGoPA== Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fcjn3apd9-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 13 Jul 2026 13:21:37 +0000 (GMT) Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-8eac2620cb0so55626626d6.3 for ; Mon, 13 Jul 2026 06:21:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783948896; x=1784553696; 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=kZVfYVIvZDWgS16VLGdHQkMZZirnrupFmTaCF7qGBc8=; b=ih5EQIvgExc262fz2d9oSLEtNsLQhooFnKLH+e1XcQ6LoyylqHr9YJgkEGSu2mG6YR Ki3V/r8uQXScbqrobdSVHb1p1VGMj1zbmTLsBs7Vpa8fHxKy8orvy6BCD3GW1XOq+WUo YmLMyeHqDcXQGnxNtoZGf20RimgEygdoOuoRBethad92OndBdqmVnBz0uyp2tW82cnhb StdrDfsUuJYtp4PTmMbu7v1JduQ5/ycPX4LH71xsjTIrDcMyORMiSPQ7zs2QcjK5C+Wc 0i1F/vHFQm8geuKpSZrRXm28tTUU5Fv4zULhtAv5WQY+YjlmYiNtSPJYq3Hh6Mitjscc CfHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783948896; x=1784553696; 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=kZVfYVIvZDWgS16VLGdHQkMZZirnrupFmTaCF7qGBc8=; b=sjCc30TXQGO1xAOFruNHGouC+4k+7LPAbTGGfvBQunw7XwpHQzT5BnYwxtBUeirSlz KjVyH+J7daR+jpuxRNTIxT7XaHGhEczdsZnC4Tern5X1o7S77taam+bEnyBz/XGgbzjN E2TuZXf29tl/+vKBYPcbOQN2OBatNdMfPVx/uSAQYP+84L7CpCLKzxTd5rqHPVhsPinW ePcE/3HJwqt8yJjBbeeLKZ4y9BlK2JN0avesChP0TWcYkNalUmAM3zWUOhZ7E/TAkz8F Iwl7jK0OdRoqSg59JdjTyX5J7SR+JyvpZIVZhFj3TmpvKWfsw6ARtSOVeOSib1fTHqQI Tw6A== X-Forwarded-Encrypted: i=1; AHgh+RrBwVk0QfWVAJS/MlTEQ7x2eeVtHUgNc9cbiF1ijwpbX1teYHYDQMJnGAfa0VPXQdOk2C0oMViFQ+mABy8=@vger.kernel.org X-Gm-Message-State: AOJu0YyQBPju6+U4PwsmCdumZHm1gI/EFhRgRFOLcSUZ7jnDm3epOQ1j pkCadq9BYa6ED/j2KfWwGaWCigDI1ZEMeuGxg2t+xrknSkKOmMvi52n5fGJXryZ7DvInVVwoLE9 tRsjey7SQX7D/VDWSOwFDYQBednMoW3LUOB6Y1uRo7G5tLM9jUpmCOHw49FXq2Lqs990= X-Gm-Gg: AfdE7ckl1lkjw3j+7uDeb9146ISdeywmpH9nl97dFvPX1NST0StufXjLTzXMpx+Wu35 dxx9BszDfXkV+5Pejm4xeeC3GyWqG7jiu5+jVDMkFjAvqbkwuKw/i/xBR3JBTj/gcfJSw13YRy9 /T+L0U40J0f0ZcOSygR1eiilUM9niRRmIOXyg5yG319OHB+Fh7Ft/hB9256wdlMJxEQdMgIYrbB UJdAnh6sUZAlA8ssq2WortoPy0dJQ/3kZw4+4WEB2wcbin9dw0oIiGAC5FX8FMaIMzW8rwSuCvm wpyC5VGRaBEiPYWBiIVU48cqMiImE95xD1gFY2QuhQAnG5fB9eZeBF6DSpsDsHne0gY94NvEKZG 96/OW9M8XWWvv/0O0qik+LjE3vNsEZEBEqraMj4bc X-Received: by 2002:ac8:5cd4:0:b0:51a:8c9b:6499 with SMTP id d75a77b69052e-51cbf363dc8mr93366391cf.61.1783948896340; Mon, 13 Jul 2026 06:21:36 -0700 (PDT) X-Received: by 2002:ac8:5cd4:0:b0:51a:8c9b:6499 with SMTP id d75a77b69052e-51cbf363dc8mr93365531cf.61.1783948895804; Mon, 13 Jul 2026 06:21:35 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:8881:83b8:89fa:1a2a]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-493eb6f3dcdsm354561715e9.3.2026.07.13.06.21.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Jul 2026 06:21:34 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 13 Jul 2026 15:20:37 +0200 Subject: [PATCH net-next v13 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: <20260713-qcom-sa8255p-emac-v13-8-119f8699ef8e@oss.qualcomm.com> References: <20260713-qcom-sa8255p-emac-v13-0-119f8699ef8e@oss.qualcomm.com> In-Reply-To: <20260713-qcom-sa8255p-emac-v13-0-119f8699ef8e@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=6sLA5MwnRnvx5ahGg42dP42VZ5Uj0hEZ80jvCL+QkJs=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqVOY7WoNWK1fKVT3AeUhvoZN7mOQTGCailFb2O 0U8Uq1MWjyJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCalTmOwAKCRAFnS7L/zaE w1bJD/9rL0/b5pecDupw06V5+gDcMleg47Bp4Mj7c0bklOTgY38+9tAIEY1SLjLB7HwKOq1nqO1 dq4hv8Fzi1RD++rxkUrQold1tLfhGWfOD7AWhFokRPSl3ebXb4UJJqBLEUpybGawZXGb83TjRQp TqQuY/OFOse9hQpLrXmnjRa7HhD3bpWH03G/U0OrEuJgSkZTKivy9x9EBTukzmONTUI4CDKI5B7 06IMnO8pk62ZFboVjxTYIkcE33flA06idPLRtgn+TLMo0HUbjS9ev9F66IQUB0Wf2oI6cj2F9HQ bT0Vo879IpyBDA3UI8/bUeT5ZpHpMnag47OsAvtCie56SMBsYzQlpx252so7ZAYKsYZAAKndTCt 02Gsy7+tuMhxZLaWxu25gb+eQVAcPjjeGVKfXRDRQ2llgESiKBZ1suHws8QKRO7a/ou3vEcbSvY TkjQzAmNmDN/31aYfD9yGiPkwzuCc3iN4Cm2svIMRR59VtUGdi+das4vQZ4AbF28v3ka7RtPJQ3 tutb3bPvbrnMITPys1sJm0UN1M6xGLJFAky2b/TtJFqs8IYm7ABoVAMDEi73Z4+qePbfSVhsJO7 b94O6zEbexT8kdm6o+6NRK4c6kovWN6IfUrXXTeK57CoDiEsf4wzC81a33bYQvAkDNk6St8CbHB bp1Zor92Ha8l7uw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzEzMDEzOSBTYWx0ZWRfX44TEzz9Vh0EO ODgT0t3bsX2YECibhEgDYR8deOH9JD4WSJHK41sVSyZnnJo+Ut3Cl9E078s9LiAVCmP3qeEu+6O qovwOQKnArvKvEd5ItogkqbKUfD17lJ5MwvrvCpVR+4/g4ugC0bbA7I/dzXGvkz9I39C8itmCaq RRvgp8HUEaCiuOUfaDcK4BwZDbQrCy0/kONnehc0Y6+rrXkXv1wiNREUPc2YChxpQbuYChI/I5N NmZ86WgRhc3AkrdRM/467BOreqCMMbFN4LKT2GsoAkDAR9cwucgOFfxCSuKIeW52t7zCldEWwYN uQF0nq2Edthq2Pf0EUj77msqgGI/1WgDkcInRFHI8YigRTgsPCtBF8VDmh/e8rpyaOVEs79yyBH ma9IBVxxUzC7KRrRzBDDG6Yfgm1Auxhe6te3tE//bug+RlsjcA5pZZYYoAvbE4cJO2o7X9wvV4b IFiV7R8lfLJ4gcEIjOg== X-Proofpoint-ORIG-GUID: 0_rSOe21gIYekj8kjTBk6FGfpz2TUtxO X-Proofpoint-Spam-Info: AW1haW4tMjYwNzEzMDEzOSBTYWx0ZWRfXxNoLmdmyJRXp Z4h3w+hcavsQizcPHhA1JQwqPueESOdxh1zEDZnXtQ9yIc+bqb2FfeQH8QRQy3q1s3VM46aQxw5 GUDYp3UT8zgceJTQcOye6JaOytO1egI= X-Proofpoint-GUID: 0_rSOe21gIYekj8kjTBk6FGfpz2TUtxO X-Authority-Analysis: v=2.4 cv=aaJRWxot c=1 sm=1 tr=0 ts=6a54e661 cx=c_pps a=7E5Bxpl4vBhpaufnMqZlrw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=EUspDBNiAAAA:8 a=fhsz3KazkzAS9s_vSxIA:9 a=QEXdDO2ut3YA:10 a=pJ04lnu7RYOZP9TFuWaZ:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-13_03,2026-07-10_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 phishscore=0 bulkscore=0 clxscore=1015 lowpriorityscore=0 adultscore=0 malwarescore=0 spamscore=0 suspectscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607130139 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 e083d7d55782ec8310e9375e466be00213667457..43384960278b87a95f14f23c454= 42d2bbf75d882 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 Sat Jul 25 21:30:55 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 D0072435EC8 for ; Mon, 13 Jul 2026 13:21:41 +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=1783948903; cv=none; b=kNCsqmrjVvwn8gxfWE9GWihLjMn6xFiL2pGZV3KWuTa8XwgPS07hdGQRZjd6CtVQjZ4ICDduzV/GQeTqu4fAI7mPjbGMooCwpeqESHdn+7Geyn6ukzN938MBc9HgcTCmQBK4JbiEG3EqZu9ZUZK9ngIle/VHzqdppZgq7yXL0DQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783948903; c=relaxed/simple; bh=EAxunbRoSIjMpRidqvpZlLzZZE6DSdUqesz/iChrZZg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=DqT1bl8hA67Y0+OJVgChP5Xf8cY+hva9wqUFVNi/a/EIB47MI+WWhHMQvgaWM6pO6xQTsPQ8/AVKy5YiLxkocbwjvXOHR7aKPI+VgK3R+XMzGj7S7lkcii6UM1dsqmK0g417tlPHjGYsFuB45f03v5opAnAkG88vOUgFGk7dJIE= 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=WIXXOyOx; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Sj868QxJ; 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="WIXXOyOx"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Sj868QxJ" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66DCDfFf1480764 for ; Mon, 13 Jul 2026 13:21:41 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= yeVMyNe9TjARPe0Y9fPOo793ZYBqYiewRqF8uOogSw8=; b=WIXXOyOxPcY/6uH7 YspmEMtq4EsjVkScNCDoDgCmY9QAYr10vOyKzk5e2vgJ612uM0PNP0AOqU+AP0AQ qprhyVosWxBwOQZkGJWA+uTLGgt5BtHYoZVugpmVCs5h6A8mP647ItUq5Tg8xfFq xR/whPFOhRmpA0SKGeWoEJSpvdfute4RDON5++sRMuBAlA75RywpKItKW2f8hR69 fAyhznK3Dwff4yBg6QrrQO9bC4T9q1qrKMU91GUZwpErRSefxSOHGCW1APgHNk3J vAHF1kNevob9Z+G05bHcTCmtgAC2bcg+ug+7fqCNXL4rrMeGhe9ixS5LLZy9rTtH buz3EA== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fcwavrvhk-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 13 Jul 2026 13:21:41 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-51c0199faafso36906551cf.3 for ; Mon, 13 Jul 2026 06:21:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783948900; x=1784553700; 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=yeVMyNe9TjARPe0Y9fPOo793ZYBqYiewRqF8uOogSw8=; b=Sj868QxJpbEpF4gVpihhYBa+SG3tQbAwLF3JLALqasv679MD2M3BFPkrltFAHQGlyY dvVd7+ZCWAXtcOMnaDkJXaFzFSQXm265RWTz0hvnoehUSeNRG0CwX3SC+5ryIUQMNfEL 0wYNXlcKmRXTGWYVW3ym1NX3OBnMY7GHtbtGamLRVqRj6yem0gAzZbOufDqSboaBb3rw sPTQro4xSYtMKFzeieCBt7ji5C/P4bucfEu23UlS5mttQ+5y7WvkKXTRQYh+9Jy03t3e 0GShg8gLjzWWPLLSCyhjC5TIPyZ+do1fyorlWZd1lHIjSio1DjPFuBw1d/HcWdgliYkr XExg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783948900; x=1784553700; 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=yeVMyNe9TjARPe0Y9fPOo793ZYBqYiewRqF8uOogSw8=; b=j4e/vD6qQQgd76xItZkNlhxKlFoaPU92MjtWFvPheLbHTjp03V2P35XaGs45DIYsSf HF2HF5iFn8iB5ZbmJT/ZILhJSjFR1KlQGR+J+uN7yJXiW8OyfMypBxwLsUZivhAhobFF TCKRYwdPzM1U8nxzAZywCmSDjU2MqmB1Kccrr6lifrtxwd6wk5cIB49oYLTcq6vHrLOD xqsb9MPIUh/aCIO7+m86TZVy6MoBkPq4/lJdfuG7B5e0g/TZy6W1u+mtPYAQ3kzCGYWO EECTlTWuZfiWJWbomco1Z+ubu9ubMk6HjQGIUkMfxvaEZ//8jVxVBZoJDUMoauaR+1Y1 Ri8A== X-Forwarded-Encrypted: i=1; AHgh+RqaZCYjzEMGuS+Ch9L12sf9L6dg2Sl6LJQLr2DCma/Ai3KMMAJb6H+QAIKfUXfgODi8l5p8+edm79Dg2BU=@vger.kernel.org X-Gm-Message-State: AOJu0YzghAoAye9ioJA51CcW4RHqt2vPTfNy0+BbBBwoQfuhwNIMwX43 Tlx+tFGUTw9c7/lTDB5TvgOiB/6tmVtGp9axTjhgN4C7eclshvbEfsgdZJ7gaMESDkkiqR7j4Of +rPRSu/Xmo++8lqkjvlQMsVrgcdgcfXrkZ/wpp2AubGkBBe+jOT+z/IfOPw00ITqDzpQ= X-Gm-Gg: AfdE7ckGcvxmqQx1VZdmQHgQhlzDJdDGn9xvZAHxLW4fJZ8wWVuqm3gzlT0/JcHYSCk /cMqo1Wt81ssckEXmBvrFPhkVWjaq9sh3ESHxf95M4RkAHfND2aRTd+qmulAtIF0e1/wkRefz88 w5IgdQR4qKrV5nwhAl6/qGPkosOenPxkr5CaAZIYqFCfJ926yV8TGVXCATadEszTottRK6/G8Ji ti+g029qycZCoN90dn5+vbb87e64U2PriRs8cS8Ms33rfDOxh9ukkjHEGYCFMjbMK7IqIYdM7Pw GTifaM4MFrav6vzshQTudcCrtzwqh86wIdu6jGMSkDKo3R6Qo3pdLIlMg+67U6hHKKxpZEqc7Ky m5OO5JOIV+nCK4BzMP2x/zkBZQVBM+hHe3FPPGE1P X-Received: by 2002:ac8:5906:0:b0:51c:83ee:e430 with SMTP id d75a77b69052e-51cbf27d077mr82111521cf.75.1783948899589; Mon, 13 Jul 2026 06:21:39 -0700 (PDT) X-Received: by 2002:ac8:5906:0:b0:51c:83ee:e430 with SMTP id d75a77b69052e-51cbf27d077mr82110871cf.75.1783948898998; Mon, 13 Jul 2026 06:21:38 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:8881:83b8:89fa:1a2a]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-493eb6f3dcdsm354561715e9.3.2026.07.13.06.21.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Jul 2026 06:21:37 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 13 Jul 2026 15:20:38 +0200 Subject: [PATCH net-next v13 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: <20260713-qcom-sa8255p-emac-v13-9-119f8699ef8e@oss.qualcomm.com> References: <20260713-qcom-sa8255p-emac-v13-0-119f8699ef8e@oss.qualcomm.com> In-Reply-To: <20260713-qcom-sa8255p-emac-v13-0-119f8699ef8e@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=EAxunbRoSIjMpRidqvpZlLzZZE6DSdUqesz/iChrZZg=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqVOY8eAHgdXzJBsyYLnRoL/gARQ2r6YXiSBRqm uvjeUqJMw6JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCalTmPAAKCRAFnS7L/zaE w5mlD/9Hee+mpb6N30jSOqXPT9G2dVaUHw3Eq6xGBWr7V4wl0WevRfEyXoPDgFNJ+i07BCEmn+C uIDBa9vHZfQk4OsrFJHBQSVLXyOJjfMq6Y0VSBXIU2mK6Fdc9gfGxbC6zkMT5LaEaxxs9clFKO5 zbr/2jYRP6paz42u+O+qptNuxf7HZqCd1kzhtd8tWhZiH3Ak0kB/qWJaeGGWn4c5qeFq6s5IPWK xxwNNxHZc3tThDoOME4e8bgfjMBU+Hh0toewP590kj+B0TcxsWQdf1EJPmJI3RbdUJtANLITPTI xt7IKhMqP7Xqe2mSLExfnRfAlwUg+4KDTfVwKIdILrYYXzMnDfaGFUQPW9dzOToz/WW9L283fWV k600Lcf4ja3lGDWKpVKLa364jRRqO0iDmTjZ0H4+0KC+fkJqPKhkNAFyt009y0ZaQEpFhMNz9PW cjnPYQQpvKA1m74Csi87o8JD2RvOsGZRDz6nFC1sH33Gm7tWz/VWeZE3USiEw8zzjgYW90aTVOi MAV552EaHpgsUv/CGRer88C206e3bpo226M5SrINvgau+6m1T8tKEyf3i9ZLnhBs78LC+40PIef pu0+JWJhzgnj1Phv3esN0vUgyjRaqfPxHng8tqga2BT+BAWMwHFkWv//a6KZx8QIHWb7v+GsOWM lA+PS9kCH6vzjfA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: leDZl35hJsGkwVBbCURdMssHU1e0_JEh X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzEzMDEzOSBTYWx0ZWRfX1qu2+KJymo4u TovEaXIwXGza98Iqi4QBWiVtIoRp14Rm5H6vuN/sUKagpGxAX9OqUi9pTnbSRxUGAaFgdpgJgO6 AkgTwBTSviIAdK4peHkBGKzFH8fZhbWyuwOCEdL4tQbI7RpBDxx8t/mX+fzoeeXgrMEhgdDQ+Jh H3GxjDC5lcxbWGqSbLafQ4SeNiLlkWEkBsji1jBlgeAj3hb6L29AYMa+rP6lrC6CpOxLUOXM25Z HzLraOJBxcxgO7YL4uOgFKFfA1wgqouKeYOKjnB8HIfBl0fZJQYmGN3XVKikTr2zLQy6Hlmz1py ZEv5HGOK2Z6q1HgqT9dnkUsio6i3iOMwLVmem/HNvWhHbocMeLOT+ai/6HS/mhOnWtFKhpXnNTm NgANvB3vQuXgSC/3Dd8FVbM680jOJg4qHWbwhUP22hsXWmfn9zumzLlU7O4x7bAoCIjIMVRJqX7 Vd4ml08KuQAkkm1BxTw== X-Proofpoint-ORIG-GUID: leDZl35hJsGkwVBbCURdMssHU1e0_JEh X-Authority-Analysis: v=2.4 cv=dZSwG3Xe c=1 sm=1 tr=0 ts=6a54e665 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=EUspDBNiAAAA:8 a=dj4JEN0qHmgdNMwDfcEA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzEzMDEzOSBTYWx0ZWRfX5Y5r736ntdxf FVwQp/e26gxDsQ07BZdiUyTdcR5PrefKN1eXXYUys+Rl9sloxKaQqeo37v47knqyZ4wIu/VBnJO z6Q8RAnOpVOU77nJxJLHbC0SvE14w0Q= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-13_03,2026-07-10_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 priorityscore=1501 adultscore=0 malwarescore=0 spamscore=0 phishscore=0 impostorscore=0 lowpriorityscore=0 clxscore=1015 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607130139 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 43384960278b87a95f14f23c45442d2bbf75d882..3af1608fc21cc7cf6b0ad31952b= 9f59d6f00a2b1 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 Sat Jul 25 21:30:55 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 375D7435EEA for ; Mon, 13 Jul 2026 13:21:44 +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=1783948906; cv=none; b=maPxmh8JT8R/Put/tm2yF0rzJQQ9JMinxh+YLPLEsZ42vRR2g0Kfcz6XKOMno8hDPZbSEHx1lZnc9IZFTVHU0l/cKnuPf8XFF5lTWy5diDc+K1qojSP4C6lx0u4XrxKtO11fsSNRzq5LSYHLug7wYGXXkfGrnjAQmDDbwvGLTm0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783948906; c=relaxed/simple; bh=TqGGHsUwyhTsco06VxVuKgwFcBldf6bN3oZwc4gBkFI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=QZQJLaEL6oAi45do0WXVhGGfDOksJdKYrH2kR+4YCHU/76pdvMF1unfPuoYEHotEh61zAG/CV6WEfMZ0OmZhKVLJ2YvyPt0M1tFXy9lS1xI3QNZBWHLJ8p6AGDS6ADBaRIj4gS8T9cPN4WCh+6VRGEhz9aNfCvwAWFJSBfFDZQo= 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=dAqZS2MR; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=T79JN3GH; 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="dAqZS2MR"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="T79JN3GH" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66DCDkhf1398813 for ; Mon, 13 Jul 2026 13:21:43 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= +2ZprCy+bUYfEEV2sLvW6R099FI4HZnlU8Ix92wRw7k=; b=dAqZS2MRgD9bQjzE 7fkd7SLmmebZa0KqKh/N419BADvAkALOln4bbxCm4KlpyE9E9QtRJuK2DFjSEgFx MoZMUJYgGg6PkkW++3WtZDUzBFlTu4Yb7p4YxQEi5BKwEc0bbr9JA1X1EOGn7Mke GUgse6seFhGYIZzv8v9tIYd5hAAcQYFFnmPQU5LeLJI0VddrDbrsJdIczg12onFv MDUVprMl7mGSFdYXpRHBd08sYrxfj915Gq4mQ/gAT7wONX5mraB/CJI3DFwc1CZe 9dUGXitF9erhRkx7HJGDb+P5ajq/3RUmi4bI/q/TsigdZTg9ZOWAAtsykPEGy+m7 12vQow== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fcwu4rqx7-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 13 Jul 2026 13:21:43 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-51c01ff996dso32027551cf.2 for ; Mon, 13 Jul 2026 06:21:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783948903; x=1784553703; 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=+2ZprCy+bUYfEEV2sLvW6R099FI4HZnlU8Ix92wRw7k=; b=T79JN3GHMAvJtyaqDafFAgqMBtdol4oyrY4PFHc8wV75TPceeAONY0WfaOLzy89dpa /aZASQtWPFkxp2MhYoMeoePs0JN/7T/zRcPb4XQUZeaVgUkvjsNnf4s/4bn8l4qDXqwP F8Oyuz8X5RPTfu3gv6nu0E//3feP5pJCihU94Q/DK+UkvfGQXqlvq6TSlmZTtEWQiBvT GKSRfizQ6yb8a9ATP67YUukydpWnnyV+2GJ45hJrQbZYrpc6/g8Wh0KI68hiwNC4T/Pm 07nau7IsxQGsQD07uLfaAKhRBLVL9P9e6ecnYgzEuivQtxXEtazVZJg0IqcoBA5otqx9 H2yg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783948903; x=1784553703; 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=+2ZprCy+bUYfEEV2sLvW6R099FI4HZnlU8Ix92wRw7k=; b=IYKlS9rTNAghXt420Ri7F4gmb5kbswyylUR7+f3XxEFR2STEKtUrB/5rdElfwxvwca t9kyuhQgcMzZbBnQUtFJX2vm7RoXnRrhnwEQ42r8mKL2DfTKd8TMMvj5jz7lROPeouTk kJiG8/kiSZubrkHbXH3FnUMUSvudHCgGyp2COdMXhyualCZa7mxSSHghJ6NsdCaz/3pV OZQPCjQ0beacP5WTNoDLlrybjShsM1hRmWDgUpjddFcGq3KivkrCqR+fNxhwZAU8olKR /rwev0xlg4L4NRBXXuET8/DoxQ080aaTKWIX+hsgi3RWLBxGah1uABOdNkdJEkdxy5ps hoWw== X-Forwarded-Encrypted: i=1; AHgh+RpbtiHFolaMbr0BrnLZCIEDFvla2VCguEqpvv5xzGR58ks3vWJq+YeAjJmCtr3q/iPqfNoUujdnB2pB5Xk=@vger.kernel.org X-Gm-Message-State: AOJu0Yw312sZr1XcOfV0PK9FaSeUFTPS2o3dT6t1eu22VVgAUqBZgGym SdezTCTQ0LtcWUFy+4keLkD4pJqd9HXkHZz95XEZZwPzWk4Z+tkOac4UubtAMT1kTlrvRzNauDB C7BYuU2c7GmCj8f+VPYIZBQpmcOywvMXiEGdG7aHBHM4Z858qYT7ZZjTJtKnB/cyZZ28= X-Gm-Gg: AfdE7ckxHqkeEXL8YLcNkCXKvln7qtXX97psuLPT2Zu84sjneem7fCZnq02o2GAv1AR 4kd/M696rGxG1KWXlUb1jMC4acE7ZNhQzY2hi8jYV2gIOlGi6sIYJ867zMj6fhTO2DMWgG6dHXF rVCubYtJMLEOQfzlZEL4u3TcRnLyzjWOrK4NnGKX7xaEA0DwLU9uWDD63ZI2ts+XbXxV5peSb6d iMX5ff/gug6dgbfhZ2iq824b177sXj9+fSG0k3P4CF00/hc8srJcBe46tEWS7ww0VEz+//1ogg6 XJCYZyI9pavB267Me7VhcdAdD+N/6bx8FK4M/NBfzRNYWLOoy9xZxe0KLnjpLqGKW4ObdZKZuo2 aiQVa+KiipRzaNMejzYR6WjKXEz3CAsJR5FofPsnP X-Received: by 2002:ac8:7fcd:0:b0:51c:1b78:b044 with SMTP id d75a77b69052e-51cbf27e714mr91207951cf.61.1783948902479; Mon, 13 Jul 2026 06:21:42 -0700 (PDT) X-Received: by 2002:ac8:7fcd:0:b0:51c:1b78:b044 with SMTP id d75a77b69052e-51cbf27e714mr91207081cf.61.1783948901957; Mon, 13 Jul 2026 06:21:41 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:8881:83b8:89fa:1a2a]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-493eb6f3dcdsm354561715e9.3.2026.07.13.06.21.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Jul 2026 06:21:40 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 13 Jul 2026 15:20:39 +0200 Subject: [PATCH net-next v13 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: <20260713-qcom-sa8255p-emac-v13-10-119f8699ef8e@oss.qualcomm.com> References: <20260713-qcom-sa8255p-emac-v13-0-119f8699ef8e@oss.qualcomm.com> In-Reply-To: <20260713-qcom-sa8255p-emac-v13-0-119f8699ef8e@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=5660; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=TqGGHsUwyhTsco06VxVuKgwFcBldf6bN3oZwc4gBkFI=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqVOY9WSl89yzJ2CqMhlNNU32SUrhE3oOrdIQ8i NwsReN/KxyJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCalTmPQAKCRAFnS7L/zaE w3nCEAC1q3NEe6qIb2fTolQ4Z9crn1CgZI+xbic7vhmRZAUVv2Y+TlD1w+G8QI+LY1Q2jCtPvHE APl58knmDufMR0I2L7Kjq+b0xL6+z/8+9cW1te2Nv9Mub5tO7TOQ4bS0siuIDg9h75hoYRhmTYT VG2pDnADdTWmYlJadmBqZQesz3LU/8wgeP/MCx7WMuUoxL7dr/vdGjhke74AypqVAmWBQqyE7zb 9LhGB8JQuhU2axn4XHHVaUB/XvWBDoRWRF6QwJ66eoUBPPOgGvhp/0OdDigx1Nv3aMf6mfloKsg U8iOqKIb2FPUGDTv0vE5myMB84jwjXFg3ux3UkSejFAe0xik3eT9GYgUHPm1DUgkBPqm9aUBGsx zLMVZu7dEVweNIBa2BXOOb9v586Mk6rSYrH+t//kxMyl5dv6n2mnScucHHH6fAw+RxoE1NTawCU QrOT1N6vB1LUWwolnHaVH7lXf496fbGZnfkb49q0UW0GzEgSzSs9t/gl0oFMQx2yhgXX1u+Q8Af 82h70nfjk9yU0b+AqzlPEyHcp7YK8Tj4dCs5YgHPDAFdlTumFOnbQxweaxv1hOBXVOhp0CC/rbk YrqsYusTK0WT9c/Ecb7BzFoI95ZNE7eaddEsJBBtJmPJAC7mO+h6atdhgwE5FnPbFDoNb24il+N 9Y4jV9pjO+YFPVw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=FMErAeos c=1 sm=1 tr=0 ts=6a54e667 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=2F0B3szvjGg3gJiy4BkA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzEzMDEzOSBTYWx0ZWRfX16cD60fZVtKx rbf+ZKrIww0Sd150JiGUDSN0nfaGOCwtkhOmVSE2+dXRLi6M5rUXG73NB3E4cDWFyk3NOkw75OT xJ6KU2OFj/rp/hAX48K+bn7vpqxdY7s= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzEzMDEzOSBTYWx0ZWRfXwKBooygpt5Ov odYgtIkT8GazK+cehDz90RJ54hMLmlsvSUpq9PHkGzTRLxpFW+QLR8LWGe5rwnUvhx4ph7IFWsJ 6P/UVCfz6sObZ4669JDhyJ1+zLPDON1LPH99M2qg7jKOd3zFRa7kerkcKTmnVDW6WBQiRyZZTMQ PXIJe9BjvEffYg4dzZCfD5G3WCbTAm0vKoSYkbFoZNwI+bfz2I3fROUNkV56K7z0xfrj2iAQUM6 yBq7wPz08xKXJRw1GA19NMyMWp+Bo/1kJwf/P+VjyMuGb53P3siQu9OkOCKP60luqQ6FGTSXhpw 1LRqyKGOZ6AYWijdHJ3pI9pVcfrD7qTfMRxBaOlwgIkS5fJBYl0rWmGcMrbmekaejMTDyiuSMEL K60pEJit/H+ds7xi/QWYTC9SJ7/7W2DPo4qZ5ZHv5ynGPai7X6ULEi7cQ7gfaC2aCwOZJqMPBZp hNoTIR8N5oCAEJes88w== X-Proofpoint-ORIG-GUID: 204baADSYg7a0ZE880jcNJbXwEoOTtvX X-Proofpoint-GUID: 204baADSYg7a0ZE880jcNJbXwEoOTtvX X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-13_03,2026-07-10_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 adultscore=0 bulkscore=0 malwarescore=0 impostorscore=0 suspectscore=0 priorityscore=1501 phishscore=0 spamscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607130139 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 | 90 ++++++++++++++++++= ++++ 1 file changed, 90 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 3af1608fc21cc7cf6b0ad31952b9f59d6f00a2b1..d34f20f868138c4e81ce85364cc= 97d47c445238f 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,63 @@ 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 + * mux that feeds the SerDes recovered RX clock into the MAC's clk_rx_i + * 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"); + + /* + * Run on every runtime resume, which stmmac performs after the power + * domains are on but before serdes_powerup() and the DMA reset, so the + * wrapper is always configured ahead of the reset. + */ + plat_dat->clks_config =3D ethqos_clks_config; + 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 +932,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