From nobody Thu Jul 2 05:26:57 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 A71FE3C063C for ; Mon, 29 Jun 2026 11:29:17 +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=1782732559; cv=none; b=phuYVnY3X64miHlGn84jqXl7TtJzyGoOpPQfBWo1PmguD1DuT/SW5H6dc9V7AS0KLUAFD3MLBlKysbGipSiy0VmtWr6oPMO8BC/7BdhSeB/sY15JVVwelUP+7bEuInC/67/7uF8g/Qe81V5wiQq6+Bf3GM9/tQTS2l6NCRc6wb0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782732559; c=relaxed/simple; bh=OFyFIYba4yDJjHIOFWWcs6aVl9zR1OAh6XyBHH3ICVs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Kh91WDP6UwI+sEyOP1Jm0eLSVx/zlxxpG3QhaoVRGzVfAvX/EEQ7yZAMbGOK99eftVJ5lNtjeTPnskyGpoIvVAYnfT0BcKEcHTTDKGuv+zhzaj5VNeEiES/2KeD3LGedxXn46fhMR6KzAibxMRXmeSvfObLgXqIHQZpkwBqo1DE= 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=mDoLn51y; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=K27pprHO; 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="mDoLn51y"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="K27pprHO" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65TAT5qJ2627904 for ; Mon, 29 Jun 2026 11:29:16 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= NEs7bGF3MT53DTpn4rxxmvvki1v1O+0myshhgrdym4U=; b=mDoLn51y1+n9c+LX /uFOfzjryd4fR2ExPRPOfIXZtNSwDJNcyTOtjbzWDTOZBWMyugD7sJkoSPvrB5wO 8kXIBQcn49GjQUL+q/jVdB1CkwqtGpIkW2ioZH71DFlDTpdZKhNCYR1kCIGtyzwE pMSK85M4O/Mw2GX3aVt5CKlkTbELhbsWp2ImFRXJhp2LSD9byS7BWFnATmxMfTGa RwrbnX/+nM70popR69Ac+CjBKdodkaOi51fWAtTFemCDx/MMiUJNTdnveuoDzzfY orBZ8QQ2KEsVOfVmmZzIeSKiXpQJnzmPWJPiwlSy0q1LeslTDLK1pNNaBCHdMp6N Fise9A== Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f3nbgrmmc-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 29 Jun 2026 11:29:16 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-92e52306621so122402485a.1 for ; Mon, 29 Jun 2026 04:29:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1782732556; x=1783337356; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=NEs7bGF3MT53DTpn4rxxmvvki1v1O+0myshhgrdym4U=; b=K27pprHOLKAeUIP1cHvj2zrjfp0JMhWDlEaElCC9GNybBIzZfsJLoKk5kIJWrOBt69 NcE3HZVBESk45QKiryNB2I34sf9V4TXNlCFv+XKg1D0XN0YiFcCK1lVrRFMFOCCMnIw1 ExNW8cO26BUY6aKe+GgM72gWpvl5Pf0Yfq4B1CmVlsdow27rQKQVV35EXsn1czoYQvI/ B64OTJ73xmQouVv6+WJjz+MJpXeVD3icEXlmJQdLXzSYzssG0QugS/taqO3VHG2eJJ7v NTCco4PG9kOztBk1f4DdiuVAM/5u6H8BlLqhJmo6PHo5+5hS+x+bszlD78/i+ZhFGrue x+Cw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782732556; x=1783337356; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=NEs7bGF3MT53DTpn4rxxmvvki1v1O+0myshhgrdym4U=; b=Ju4J+tXoLBIbIKOhFdXaycqKSaoR479KH5IYfrVpt8B2eFBdNilaOKwv5ZLpM8g5jY jNlXUem43hF8HX4Pra4jBBhaUzo629zmLEgYzWMzhWSrgmzvL1qZ88azFXt8RLvEUWDi ZDU1QKfknfYEPp6qGqhU0LjF1UWm1pdQi7oBklbg5AIwtCtonoYOrr+oVMHXX4QGJvAm Q9V6KSe/Ph2gKVs27/l+9/e/Jwda+MsKUOAolPptFZze3Ugp9/sjx4wA2VdaMcaoo0cv 1vzH58I7bRQc5IarOGYeITHQ5s2Kp3qbRxGUdXrA2BOnVhl2tJW2Kv9RG5YbURMx/zsc QeMw== X-Forwarded-Encrypted: i=1; AFNElJ+z2FkYktFx8mqKv5imE+UjlWLsw4ciRjzp9tyTTcp6ovi3YGDLe315s1dtYsbufZVziqlhePio+B5qO94=@vger.kernel.org X-Gm-Message-State: AOJu0Yw1S1D08TCvQG2Sp/XXAX9UGvVx5gJr33DZF7YBr/evHPbeNCDh VwxYNbOuC+ifRLOBsFSLlkz6J0NGY59M9UvYm3ijkcAdpO/4UzHVp1Se59p2u2ioKLQ1p/eqiWx MJ0qfGmGZRy9Fm5Quspm02PDyp2LHEeiKhuxZza0213KynswdKJcoXiVpSTvd8MqBAw/G2DtKux 1mtQ== X-Gm-Gg: AfdE7clzrG2b+8doWhT6nQaVg3xRG1wtrbJ7HyfuH9s4ZDXLLl8JSFdY+H45mvyH9W9 zKYASerCrJ2nKWMhf9xmoYLJaJsynTfTiyvAE72hWwVIpraJ9UGovqWfQLbl0FuiPOZo5nTNcmX jak1KhgzC1Jv6H2bOufbyheXE0v+WOiXfN3U3U/ZtOud1VXabbEl0rneB1NCNm9bBQoJslF/7MR 86bAT173PWf0q+P8/p3VE0JxRglNel0tXdczWbcetesjw7xE2/zgvs36UYyKytgD7KJD0BEZWEK hIvhGXIWAL/B0QUxOwqg0WtO4/Bj/WaBi1ubafo1l1XPTqDCP/3fKBl8vYVX1JuxfuJh0OytdAS PLhDplfZVZJUSZHW/9jDqDYNVTL8WnmvqOmrQU7+i X-Received: by 2002:a05:620a:8811:b0:92e:4613:5b0b with SMTP id af79cd13be357-92e5f3e9a4fmr49741985a.68.1782732556124; Mon, 29 Jun 2026 04:29:16 -0700 (PDT) X-Received: by 2002:a05:620a:8811:b0:92e:4613:5b0b with SMTP id af79cd13be357-92e5f3e9a4fmr49734185a.68.1782732555518; Mon, 29 Jun 2026 04:29:15 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:4640:d76a:6126:9b65]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-46d86960983sm41936351f8f.4.2026.06.29.04.29.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Jun 2026 04:29:14 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 29 Jun 2026 13:28:47 +0200 Subject: [PATCH net-next v11 1/7] 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: <20260629-qcom-sa8255p-emac-v11-1-1b7fb95b51f9@oss.qualcomm.com> References: <20260629-qcom-sa8255p-emac-v11-0-1b7fb95b51f9@oss.qualcomm.com> In-Reply-To: <20260629-qcom-sa8255p-emac-v11-0-1b7fb95b51f9@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=1902; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=OFyFIYba4yDJjHIOFWWcs6aVl9zR1OAh6XyBHH3ICVs=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqQlb9/FP9ORrwIL+ZXHhc4b/L5Vtd7JbT7/lyW 6CTLAJxkTeJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCakJW/QAKCRAFnS7L/zaE w9DkD/9MZJRrtOsV5vLrh1qrBZUZqJ2J9P8RRMHcXW1H6bhugDvmWsApILNySh2JSvj/F75OBxe G/pjESTF0lriIWKZ0+AMeTHCvhTp+m41R1GmLxCqFVKAicTOXqKmgAiffSSBkBqVaNeeWlZ83sL 6GLB1/MvboM7lOBK7c0kM+Q7W6L8mYDjhKMDrJEu7SJ1Gm/CeG71rEWMC0nrlutq+IMg3Fsl+KG 8oQVK/BqD00erY7V6zhduQycUgvTDvlMrA0LVCGZNDD58EYhNTWUaP82QxlIZImo2D/QXFZFCWW NHk7KncIU8gjJxo2AlVAsVSl15s0QPL6iEtQ2YDugZyToITAyww/uLfUjzoOJg7EP2xGDBFXiER m6HrIZtcTkiRst6J6Ye1inXnGCTLjybVyT9FiqyYAwhW6xCKZHJz+X0xI7shjpvTJoAohGVbt2m X7d4hOW9l6tZi9IOCcLymOb51eOmK1TsCByx/q4A/HjihTwQmy5VsGv+TDW+zC23d9w5iqz4CuE MpNFlr7NUEUqgqmDh0hR/C8xQldgjn2QV+bMmIoIGn9M+Sb5UU88qOIgcXi4/Q4J7jR4tDnlzED 7Mp0XiPmZaXaouKbY2axFMyY3y6MveKZQ0lVz3KLZgmiVOQKTmYQEgOXDbZt1cXRgf5FBbKnTMI DRZ6xiS1vJOJEXw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: TyelVRFhJhf9RlWKVIT0QQmjbC_Z4rb9 X-Authority-Analysis: v=2.4 cv=Z4Hc2nRA c=1 sm=1 tr=0 ts=6a42570c cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=gEfo2CItAAAA:8 a=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=wENndLYK2PIMvs9AUu4A:9 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 a=sptkURWiP4Gy88Gu7hUp:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNjI5MDA5NCBTYWx0ZWRfX7GcV3yFxKuX/ UAtKkCLs/ZIiLsY+YZSGYWzd76NIhfiP2VMiEQM2WHvajaYbDDmuY1bhXUwx699SmCTtxrqPa14 w1O1DHlsDwJI37MegiZdwRxvNAoZiG8= X-Proofpoint-GUID: TyelVRFhJhf9RlWKVIT0QQmjbC_Z4rb9 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjI5MDA5NCBTYWx0ZWRfX/5hpzFiq1n5q miB5uww/IBQ/QPU2qAkTXRU7e7t5WzPD56btQM1PDeVxaNxQAPITRU6UK9pR3k7WcDz9U0MU5Mu noZkzurbPI5PDzUggunAPYMLNd9mX7bUS/iQu3chMaG4RS38NExTpeYRjsPo1lpJqEmbAQIoAfv dCJNhA0ydLl9ZQxqx9gaqmeXFJMbMwjxg15K4Y2RXK4h2hpVt1Yg+m0BDEgOiHwHZB8GTGA2MbZ uHSs2M/9YSXZcGRN/H5tzN+jo12WWpipL4mJ4n1PpyPTQulHACSZ9EjxTI0NiRNi/iFuxkyGD1H 08IxwzB6D5Rxi89z0iKZIiQ8LV1qIdknHihQ1Ss71BO9DMEIdVjCJ3GLhpIlg5oMUq80RKIIts/ QGa8wX5jIu0Do5wEJfmV7V69ZOCic0tmKB5ySG0d1fJCfhGsnlojQV0rP+Sp6C9yz7enHXxIYbe RUx9sKpzvXXqeBABvfQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-29_03,2026-06-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 suspectscore=0 lowpriorityscore=0 priorityscore=1501 bulkscore=0 spamscore=0 impostorscore=0 phishscore=0 clxscore=1015 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606290094 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. Signed-off-by: Bartosz Golaszewski Reviewed-by: Krzysztof Kozlowski --- .../bindings/phy/qcom,sa8255p-dwmac-sgmii-phy.yaml | 51 ++++++++++++++++++= ++++ 1 file changed, 51 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..4cea6926d1c28872ea7b7aad530= 88dbbcb74fa99 --- /dev/null +++ b/Documentation/devicetree/bindings/phy/qcom,sa8255p-dwmac-sgmii-phy.ya= ml @@ -0,0 +1,51 @@ +# 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: + items: + - const: serdes + + "#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 Thu Jul 2 05:26:57 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 353333FBED2 for ; Mon, 29 Jun 2026 11:29:20 +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=1782732562; cv=none; b=oa/8tEj8E6aVfSQGOPywbf52gYWj7j0r1JjNQ4whNgRI9/EsFsF3u3ryY1msSzPSejidTS8CIwmxisDgK/o1fwTNGHIJ9Ev498go5ovNSEg27VWzGDg0lOQTaGy9JSjbUClANbUQu6DGmG17MLxU47IARsTci32GaiBkSHJt3DA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782732562; c=relaxed/simple; bh=WJjrPTVJEHMSIv6hVMo9hI0jASipWSJTfNP46iEy4PE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=X12uTFIVwn0MYjhrKP6PlycskrnzmJY59vtAsXVzW1q8ZhqVic2Q+YPFU3EGxawhn5p2lJHgKMG+8VSeZ6HzBiRLzGAR5jWJ7HCzfNkvJFFRWPSdb5Ilod/HjzA0U5+D1u2/xACuUshEZvrciipdWrQ+kQ7Cl16iLG7Gn05A8IA= 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=Ms2BaOrt; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=CQWkHLFt; 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="Ms2BaOrt"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="CQWkHLFt" 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 65TAT50M2618919 for ; Mon, 29 Jun 2026 11:29:19 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= Dn94XK/gkhjzkpHhKvvDz8xdTIbBqtXbB1tLNjGugAw=; b=Ms2BaOrtjy68olMU 9yzq/lDEX4r8PwDMooV7VA2KCYk48UdCtbvyeB/qVKf5W+nEZgqMZNZD7CdKlO8b qI/VIpchRv4Sxz0fsfb0YfpiS9vCosefN3p2bHk1aUvDct9EJhpJlDSGq1BNAzUq U4WLMagIK+rnXuBHVddkLTjhcpVoWB4W5kGQBT/yivJQvZw2Ca1xfB6yINtMjEaS UBxLkG3j7dCu9hMR2K5gUfPpXjnJmfXAO4p/Qb2u3Zg5dyiv6cqhKPwmbjmsVmP8 05IDLn9ATb8wFW3rxnCspX6gxrLvFLxhS+Rh/aZqS3FJ8q7DNACY51ZwMRvR1d7o URGHRQ== Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f3pdkrb78-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 29 Jun 2026 11:29:19 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-92ac0a54110so512281685a.2 for ; Mon, 29 Jun 2026 04:29:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1782732559; x=1783337359; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=Dn94XK/gkhjzkpHhKvvDz8xdTIbBqtXbB1tLNjGugAw=; b=CQWkHLFtQbvAgsuLRWSzhdt4E0223Ec/ysbmWu8zOjVOCkkAIg6Hk/A8DETMFVhigT wOyVE+s2/QjiDt9CQJchM9veTblBA9yIoWsfLTs7DpdJrl1AcQGV2DlSs58ygZBo/YV6 aF4no0sLQiL8H6UMQKneq6TBSJUu9N9GmGnmIsFsBVO+vH2vbK3vVbIw2eCKu9iq13d4 /29M6fxJKJpeEsjDNAh/GYMJPSFsyY3arqfYLoeJFdnIbsSPptpn9fS3uKU54A2KV6Ic hBNdU+9uw3it4yx3nmKFn7fdP5qHQ42ygLK/Rwc1awqvbvLRRNZfFYC+8ZjTdxbl2lnO e0ZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782732559; x=1783337359; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=Dn94XK/gkhjzkpHhKvvDz8xdTIbBqtXbB1tLNjGugAw=; b=FEyn89wJo92NxOaEVsBh3QTqCmIAacbZO1aJcKTUYNS1XNZF2jze+otyy4tky3DiPV zYYllPz4VZwENd3uuXT7zfTFZ1dF2ZSHPzKK5jaaL8B0TlVw/MuNJ62FKxeTUp4So5vZ xXNRa8hVNxOb8AvtsPCihyd7HpSW3ZcaFqHWNFEOid3WjLu0OEaLY/b1C/BLxKY2mCkb mE+RYUGNTz8+eYpK59KLHttHcOH2iQZQGRtdyV2DAJLguLQIlDtkz7sKNrDATsjKxzI0 T3yYNndIOi4p0k+8R3zWmWI1epOgAA3NaS/j1a/nUt2/h2Bnby3wtGfJuS5EmcYEuKP/ l0iA== X-Forwarded-Encrypted: i=1; AFNElJ9B0RugHXf+ebCUEw4zggGBrwarMzch4WRQla/XHlmqiL1k5PXLWUK1wWzzD5MPCy6jgnQELBMi+AALkvw=@vger.kernel.org X-Gm-Message-State: AOJu0YzieQlbkbJfitQ7IT7/pmICTpvL3/qmpjdlLj9ReHiCiJoVPg6v vYXWXRKS+N3VIpudws8Z1DotDak67SmLIpqjmnGnF3TogIZcfi3oABqXZVMZJ+q4WtUU6EcJSkz 3FGPOlrXAcs+wKTmu7yJE1Yjh1h5/peZ4vPOcOK6OaaHAEn+k5NO4c8W9yepINHREW+Q= X-Gm-Gg: AfdE7ckAw35hfBvah58VqiIH5n2jxuiB/Ynmnfr1FHtC9HymocRuTlrxNRmfT74L7Mj s2IsSPa0LekBQtLdXmZ2Uif9m0HdWFunOD1DRXXjlVlUmg4ILGMMx0cmDTFL/RoKLlkMLfUS6Ou yW0klDo9LY60dYoAf00UC7uvlD+oYPPHERSh5mSMLQd+7U+oB/gTqHY5IBe7ms1FY2X5TRg33TR 6Rhn0PVnAQnK3XK0BvSMc7Dq3vQ/cjN2yb+PkAyvxG4zUhdoD3Y8uqKISIM2nFflpSAErZDsx8R g01UjKmkOiWwf9W/IlDOuJwi8zE575fHOMt1zgzSmDSarn27Ww84atZNepdF0/ZStnP0Q506Mqw ptc8ATrShWAq8vJa2Qhie+z+l1lIlFfU86KzKLHYc X-Received: by 2002:a05:620a:4056:b0:915:8f76:8005 with SMTP id af79cd13be357-9293cadf811mr2614011585a.47.1782732558491; Mon, 29 Jun 2026 04:29:18 -0700 (PDT) X-Received: by 2002:a05:620a:4056:b0:915:8f76:8005 with SMTP id af79cd13be357-9293cadf811mr2614004385a.47.1782732557882; Mon, 29 Jun 2026 04:29:17 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:4640:d76a:6126:9b65]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-46d86960983sm41936351f8f.4.2026.06.29.04.29.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Jun 2026 04:29:17 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 29 Jun 2026 13:28:48 +0200 Subject: [PATCH net-next v11 2/7] 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: <20260629-qcom-sa8255p-emac-v11-2-1b7fb95b51f9@oss.qualcomm.com> References: <20260629-qcom-sa8255p-emac-v11-0-1b7fb95b51f9@oss.qualcomm.com> In-Reply-To: <20260629-qcom-sa8255p-emac-v11-0-1b7fb95b51f9@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=6713; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=WJjrPTVJEHMSIv6hVMo9hI0jASipWSJTfNP46iEy4PE=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqQlb+g2w9Y9bz3nnFuqU3U87XMNnUPjRO5CRNW CsioPTs5WiJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCakJW/gAKCRAFnS7L/zaE w2VzD/9KzrrA2R5Gsx+IYq48eCMrXk2oU6WPyOrCaaNDh9wDXUSCqq0kRbyG0bnzoDziRnrLqmu iHuDsOBS/mSwfy97bnk5OwxqiU34NmnDB26nHA6RZuDthlVPSt+ceQ4mCkZWA94QqY2x5Lisd/y UAiz737p9FXjK109dSf/f0r6WMOPMVMVhgOi7wD1ioQ0VeYMfSg+4Bv1ReJOX9qE6xtRPXpgXiZ 8Amfc8vt6kb200UKU33ypDHLvCyMHBYb4WEZAiiqeFOmjtg0aAeLISOjIAzclnRYXpvIFdB93oN xDW3vDh9xVkoQA3kS0+mVOw9m4aBRYTNGSKX6aRn4kJIDS4w1YmNH5RT0Y+mPXdvp9WDP9g9yu/ 8g0KBPLOGrJPr6OXdOvSH+SthKxgnLjDmPQ6Xp7QmaaYE/tlkgWuaDEGUsIEbKtUE8VsKMp8QKN wMcYWmay3EQD96ue5Ysdw/p/wycaej37PrQjiBnxLYnrhObjWtrKj8h1FBn+Z/H/UwLut7O73o6 GgaztSVgp3mr/1zLuKi6VHMFdxQ1PjiTcAR5/g3UgO8tpro/mGcpoRwRLBrYIYNlNgh+u6LdTOk R/NoTzr/QTkTnKop9WSYNVScVySdl6G/+pPDdJjyvSjqSLqwPTTl6SpLY5gJzGBOtzizTRh0Rku U4xAY6/UIUgV0TQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=R8Uz39RX c=1 sm=1 tr=0 ts=6a42570f cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=3JCFraiX-5spO6125rwA:9 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 X-Proofpoint-GUID: ownOB473yXflhMjdgaJHMP86n_PNUdo0 X-Proofpoint-ORIG-GUID: ownOB473yXflhMjdgaJHMP86n_PNUdo0 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjI5MDA5NCBTYWx0ZWRfX0lOhJiEFftbq NK53wLIH7TYT1MB2GIqaWB2eBspeOviX9JiQkmALUj/AVqDDt19v96dt5g2/uOrpM9X9SHlzIaR 78yqdp6QNFcvheu2jc90C74QYN7Yuhk7SAGIaKZG3TyE+ZIGC1yhycJy2O/ixoJdPmZJ2nqt4gQ ClAL/57r9KVy9+x+6QuXX9iyt7Xw8uhzUUODESW/tHBbhVq5hXf2PnUD3LcDUqD6OKaGCUlsjBt Y2bBhiWHrlKLurM53FErQiAOIiZwOJpNujtcuRKLRY8QuquAClYbERyrrtNE+nBL4HOOQ+SXH+4 7cmXpgxjRk+9uW+NBGCJBdp8CSOAbvdz78/37PbL8KKvegy8mzegdwsI39g5NLULOm2R/w1Umlz MbBhsU2/asK+8S33L89ePQfxLKuJydPv4FSlOT8vmr7+SQAId/U80jqIaE2g4UchRjeaGkN1TL8 DKs1/XrTp4fi8L8kXIA== X-Proofpoint-Spam-Info: AW1haW4tMjYwNjI5MDA5NCBTYWx0ZWRfXxgDKXkj6pacY iOTrSlljUcbThJ+PVd7VrHMExQann6WmTUbUogNZuBEUOTf2Y51mrKzyG/ZyChxsRGJSmW03AAr AkhNLxS0kPDBCspJ4GDkS4kXs0hCkb4= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-29_03,2026-06-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 phishscore=0 clxscore=1015 lowpriorityscore=0 adultscore=0 priorityscore=1501 impostorscore=0 suspectscore=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-2606290094 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 | 10 ++ drivers/phy/qualcomm/Makefile | 1 + drivers/phy/qualcomm/phy-qcom-sgmii-eth-scmi.c | 161 +++++++++++++++++++++= ++++ 3 files changed, 172 insertions(+) diff --git a/drivers/phy/qualcomm/Kconfig b/drivers/phy/qualcomm/Kconfig index 60a0ead127fa9f08749e1bc686e15cc5eb341c28..bd7d3fe411d7f3ea333e9e32e54= f926a3bdead01 100644 --- a/drivers/phy/qualcomm/Kconfig +++ b/drivers/phy/qualcomm/Kconfig @@ -232,3 +232,13 @@ 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_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..8ee62189556fe4ff0d8aa2f8b10= 5175e08000b7c --- /dev/null +++ b/drivers/phy/qualcomm/phy-qcom-sgmii-eth-scmi.c @@ -0,0 +1,161 @@ +// 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); + 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; + + return 0; +} + +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 Thu Jul 2 05:26:57 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 1E6503FF1D0 for ; Mon, 29 Jun 2026 11:29:25 +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=1782732567; cv=none; b=eZqD1INaTdthhQ/El5m1WMNrrSLo4DsyDS648U3WTifQokos+PkWu3svD2QUNixxlIQLjxAY/9WDi+ajrk7ymENl5uPGrSEwuzcYFA+VPNEW4ONNQgbZ0Q9DMcUiLtMxdyPC/iEIdajS7mhuMYlzZjROsKLVif6uPWnUCfB7STo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782732567; c=relaxed/simple; bh=CXdU8Qf8q84245g4GHsbJ3ahVTqTUy52IMome1xEYYA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=VN4iCLnq8e4TmkVt9OJbKTbTBXQME4HNlhQZZnJ2647lb42mM8gpy/uokMYjpHhV8089o2y4dFqYbhf4OHYEEDbFlC0Jo+R8TCttMEyvzKwL91JBDy8sfdMhmTGfMnxiTglHdNZsftHFmNCs+rBMSW0im3YqymEPwaqpOJacA3Y= 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=bvR5QRV+; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Ind0Vjq8; 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="bvR5QRV+"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Ind0Vjq8" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65TATb0i2656441 for ; Mon, 29 Jun 2026 11:29:24 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= n8/2UP90+9cT+oZvr6LUxgZJaKIXExQtTt2LcTx2HLw=; b=bvR5QRV+p6za9cKO a0386pjZHCvvNrRyn8zCSersM5EBlc6VFbFoJXwk8q1U7e3ZvpVV09dAwjXokHm+ W79QdOsXN1X7r2/aEppH7KD1y161FZgzhbCWXde8vxqDXCz7NQcSfIM4bjPopNrC nPTD04ijc9jGzee5Kj1JSAKckawpB/Spgdaok+hUNfbVT5gjZdAoukQu+ShRJInx L2cyeOrjfdourZ0Z1NMC5WeksZ63/afGhPyMZLkmExpwKGwUc8dwrsHmZEbaBrCQ uJLWMhSkY98RNRD9yRZ7FbPjp02ICsMy2LAduiNKO0S187j0Tw/b5tMfnD0UzuAY bqcPjw== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f3np7gj1q-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 29 Jun 2026 11:29:23 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-92e538afe65so124201585a.3 for ; Mon, 29 Jun 2026 04:29:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1782732563; x=1783337363; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=n8/2UP90+9cT+oZvr6LUxgZJaKIXExQtTt2LcTx2HLw=; b=Ind0Vjq8kJuBNbVn/3C6hV6XKzGFkizfM+H4DyeISPNAUyvPoY/SKbWF7q10E7yLUz aNwGPGE3h2wvmbs1UKN8jdJf1hsVbdhH9PmZZQHThTDZOevImYRjmiD3V6Ci2Q38nIY3 hhzAH6vuf3oxoOE0kkx5TU0mT5/6jvACmKL/0NLb8e3OMGhb0XvuaqtoE90bjTaCVwgN MYJOQ+pQDqV9PxiAWi+pyTGXadEA2gOGi2aA+56CiIyBP6+6ncLnVLsqiLtpkIOLDPqt u1zUW36DETngn14JG4Fi3LV9CQHvfV+WxqWCmHpxDvb4G/xoLS5CN0VJQfM8HZSzeZMd NQlw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782732563; x=1783337363; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=n8/2UP90+9cT+oZvr6LUxgZJaKIXExQtTt2LcTx2HLw=; b=W1x7Rsxojlh/w81+GCjZoOfc2bqAqeL4PefmNefpsTPtlp8u1vW4AbJ4pjybMc5Tkq G9M97zdh6fnaXrQLywpPMSk9lh4JKfCdUu5cLALEMQGWx6vGdKyX/9cNDg8ayw1ddVmT sNIlplZRodpvBzC+9CHt1gUMWk7SM7F6W7+Yno1Udw9dT4OqAf+viJ8HupMEzzFgnO+S zxBYYVmpPPZYQGzCxrmV69/3Lmd5/CMf4Ihp/QD3RuNq+rKL7bXBI0WUWpdLNUwm07jv vpU2kQIhPfDwNUZ6ma1vF5psOB3sulSs+rTb7rHBeRW8+yPwoZoDJjFiZnXDncCoweZa pKkA== X-Forwarded-Encrypted: i=1; AFNElJ+Yi/YY8o5KrHML2gTOPCMIyxHS0xdG6ZPonNLRSF4aExJuKsX6iR0+7uTv/82ddoBroBeqLuhiqVPsgvk=@vger.kernel.org X-Gm-Message-State: AOJu0YzUGJUYE0Ez2qPY/dNmeAj/II5zDZaQWedwfQmZ9kLrvSQ5eVbn NYXMHwRE1LqlE3jWd1hP6rNyRRZZlQmX252sZsOl5zcVIgflIZNTyahuxJcJ3JRH2fvXGfGOxG8 LNv/j76Hgqs5P2Kp/T9zpTOd4EKfTaRxCdMhWO9qFPPPu8BsoN80GWBJCJ+nl+O3wwXg= X-Gm-Gg: AfdE7cluRjjoQ+HrfNHkro2QqUlnQ9vsWBo5xzzJhHx5NdzsWw1h/S9Ba1LJE6U0uD9 Da8SJiLxqD0r1UYejO3jGewboiFYbW2WMlpW+2NbcrfWedCbJoi/1DjuAUOzq3TufFPSzI8Omxc dYkMgSHI5XkFxnumEU4F3mHVqtWagcT24CebfrC9TRZ1LOuyY8TkAwUuOqvT/5GjSdZ9ElTkYv1 Ct1YBAp35LhbWOJujKtr7KToDgUbnQ6Zw/cQq1H0xBzZ1KgPIYt/o4D4sZ8UFP2tbLtlMnOtSSW ZA2D6VyRjiT70gfKE2L0HG03blapR7QlxMxR+uo58k0ARIYpl1yAIYUUIi+drOBsEaEaR5oTRvx 1X/hOP20MrT+GREDrn0BhW79P3EP3t+9Roy5BOESw X-Received: by 2002:a05:620a:2608:b0:92b:5ec7:e619 with SMTP id af79cd13be357-92e5f4245e7mr42368685a.52.1782732561694; Mon, 29 Jun 2026 04:29:21 -0700 (PDT) X-Received: by 2002:a05:620a:2608:b0:92b:5ec7:e619 with SMTP id af79cd13be357-92e5f4245e7mr42358785a.52.1782732560733; Mon, 29 Jun 2026 04:29:20 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:4640:d76a:6126:9b65]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-46d86960983sm41936351f8f.4.2026.06.29.04.29.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Jun 2026 04:29:19 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 29 Jun 2026 13:28:49 +0200 Subject: [PATCH net-next v11 3/7] 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: <20260629-qcom-sa8255p-emac-v11-3-1b7fb95b51f9@oss.qualcomm.com> References: <20260629-qcom-sa8255p-emac-v11-0-1b7fb95b51f9@oss.qualcomm.com> In-Reply-To: <20260629-qcom-sa8255p-emac-v11-0-1b7fb95b51f9@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=18243; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=S/HRgOUKNzWq8aErqwaDSvd+Yee1KPABxof7mR4NFyE=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqQlb/lfRdo51o9LHL8lwSTEobpuxr3QF4YsKTJ AmxTdE+OwWJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCakJW/wAKCRAFnS7L/zaE w5gLEACPomqRDV+Cevl7d8QPLBUQxP/Qjd8e87BFwc0DzR8L1Tw4NOgoVPCCXiG45JUQjKj6keX R0Vms7g1+iTbNIMQkrdlBqG8VbwJMJFSQvGFXy0DLZsHa2LCZJNBp6sm25c3oxS1ZRrlnxArY2Q 8dd+jj9sG4ovHlU9nQwlMa0qC8vAJMp3J4KyXLawLPyrCm6UVd5J1K6/L26iJ6esk9zXXfXv/JF asiwNrPbLst8qwy/hzZx7GidHVLX+xxFVR8dG7qziEK4lTP8nK0naXQ5ZHL7hSilgfJm2f8AoKE akyYOxUHOhzcuKIOksU7cECQHmRhv9sFi8XUbrAcBnjKI8fBMjus1P1xxKKiwZt+Ltz9JHno++1 hZHLyVDynpj+x0RPKkAPWc3l3Wq55JI3u8I1xJAKhXkFu/U0agyn6HZkX5SVA8dLUJWtDLr4XsV aa1E5P/z3clnVVyYWz95+1Kqkw1SzbgCdNF29HDO15DN70lmExGebaCMm02N6HyOa9jkdE+fkhj yUpU6Hr8D+bw8Wd67rL7953Q8id9S/XOOn66vntwJkCsNrgmybH7kRnjWLy3nUqOS4OvtHy4wkX 6QIe42M3dKCl1BdBSTdAzfGorXclsRq0WpatKwe5rs5fHGiSpkyKAaLX2IqguL8Jj1Lxi/xQT2T rqgOxRrBwHPpQkQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjI5MDA5NCBTYWx0ZWRfX8lyI7YqDY9VW t+A+4wDX4uhqcB+p16tXmJs90ZRAiA/BT5gfSPrWLAycFKaPEbylraKCD4O7qT0nezC2DRJUYpi 7zF2VcdXDAjN2GUy6oJCSesDaNRujXr3Np0dvpz8bm1Ut0dPrzr941yC0l4audWzmukhFTF81DK a2GqVkadRoetTZZag6shtLuTnZASQOiFiD71F02n45dp750W0x/DqJ5sKj2161x3GpM19YBTUyK wF/8F1rqZ7DacntsyFxzYjAxnlkU84IPjqWn6A5vjgDbE3EKZxlNGdYA0iBhn5yjRg+84205ctm C82eEPFrM3mMA4uD4NC/81rKChdLTKHYH0CgMoj1sGlnW9/q2HfkjyjJ5PMJvXaD14lk5xPKKcZ YmhbkeD8rm7og+S+lWxDI5Ce826hfUDx9MetF810+QS8YWO5bZLNYwPzSyi3MSg3BfSv/1WzJiS MMwQdnBuQmd9a8BjcJA== X-Proofpoint-GUID: ktnRvOOXvGPB-pjE7_j5ugX8nDqp-hwa X-Proofpoint-ORIG-GUID: ktnRvOOXvGPB-pjE7_j5ugX8nDqp-hwa X-Proofpoint-Spam-Info: AW1haW4tMjYwNjI5MDA5NCBTYWx0ZWRfX7AobrbIXw66M pRKeQcfTiygfxvQV1pJ31VplgE0+EP70wn1SVw/bHv9FMCNeGYYBOv+nAdp+Ch2LJ7qQOZvxNsn DzmvEjFx3MUk8CYRkaCS4iCl5abA6LU= X-Authority-Analysis: v=2.4 cv=OcWoyBTY c=1 sm=1 tr=0 ts=6a425714 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=gEfo2CItAAAA:8 a=KKAkSRfTAAAA:8 a=mK_AVkanAAAA:8 a=EUspDBNiAAAA:8 a=yC-0_ovQAAAA:8 a=VwQbUJbxAAAA:8 a=aDaa4yMnCzVJehp5dXUA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 a=sptkURWiP4Gy88Gu7hUp:22 a=cvBusfyB2V15izCimMoJ:22 a=3gWm3jAn84ENXaBijsEo:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-29_03,2026-06-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 adultscore=0 spamscore=0 clxscore=1015 phishscore=0 bulkscore=0 suspectscore=0 impostorscore=0 malwarescore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606290094 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 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 15011f5752a994cf1b354f490d6c4e411588df88..266bccd5c82364e20f17c471abe= c17c6b6330bec 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -22184,6 +22184,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 Thu Jul 2 05:26:57 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 12E263BADB1 for ; Mon, 29 Jun 2026 11:29:27 +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=1782732569; cv=none; b=RTJwqe4bdhFVXN2sBioPLPZdcdkz4hFgjCjETxBctxF2VNOE5jnku76SOyQkZwZt3q52jnv5bfmy1ZPzcBpKFMj10JU8Z88k/WcBIDZPNroy4PblZdu3KfxMICE53TMlA5sR5M9yUlwBQUTUabt62OypejJkN42UI8jOLvPrJOU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782732569; c=relaxed/simple; bh=Rq+TDPdqhF6BqR973VgYSIdLvxRoWPIkY3OnfX0xzLQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=SDe8kvOJ3NwfWOjbc3kQXlwDTdh1+p20Ndg5t3oorHmjERpEYF9whPAtbPsu0nQqARh82aiMuojDFtVgOgo1mAoiyjWJwuiX975RbUHKlXolFuycWQLXdNGTXL9wHx+A7GWuTC0sLAI678i8FoKZaVG/twie5ZE2BQicSAp1abo= 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=B7fmsNYR; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=OcXd1p2c; 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="B7fmsNYR"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="OcXd1p2c" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65TATK6K2656156 for ; Mon, 29 Jun 2026 11:29: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=B7fmsNYRL8aorCjh GkGtC15NuXFLrM4H5JOnAeJZRw4ftYA3jmzaIPdv5tLcXoW3w9ni09DVmLePuMCj MCsX+7wJP89eJIOZvk6wKaeLxVpixcWzjkwuqLkmksY3Bh7DytOgz88ZtRwu2OLU qmIxW/7IU5P+U0dKfbmMJH3PVd/jQIXXWHdtGc+Gn2lWkHWcVW0Tlq6TJE8Hqx2b Y8Hb39FxYdMAGHxxiApziNKhbRsn10Xx/Vmp7Xvj+cYfYYbRQxE6O5JxSVHLCW82 HoDuLdqBAUCeagHW/5UyHXnxKK8Cfbsk+6x7lYFVNnq0bPOh4r2urwD1lWpAQ31P KcN7Fw== Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f3np7gj21-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 29 Jun 2026 11:29:26 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-92aea0d801dso465023485a.1 for ; Mon, 29 Jun 2026 04:29:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1782732566; x=1783337366; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=RyU4Ifafpyh/FLtyPoayXjzPbwMU/X5o2UFaqrYzldE=; b=OcXd1p2ceRsmrKd71wF1PLpv6oHY2lXXFj7W4KA1DIPM2GADlu6mPJY5AJzUt5yjLM AGB47lsbOKdqrG/wPi8I4yip/BSrqyFsFYASkNSwEV2TsMyU6FavBygXGaJBbihJfZzD jaCkk9uYleBue+dJJkz0tisGP/KpkT6AKEBf+E4nz+8/AkKdkRobXyOXUx4opXAJWx6S kzc0YEXG79iLvpvpXL88FRcoCHuB4gnPAd3HuzZ7oc7ywbS/dNZqTzCkR886MBHDxK5t xGLTYd9sRDYVpxAGjHwvbTitWTFmsFF/5pLJfuLm67tryV49x+8C/E6DH4iTWC1K55zM OcQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782732566; x=1783337366; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=RyU4Ifafpyh/FLtyPoayXjzPbwMU/X5o2UFaqrYzldE=; b=MXwGHEpfgEuE5YuSBKkxKKQCcBgDrypTU8iDEWUXYrQ7vnNeIrTh+S/CPe8KZsESSk gCHHQuotL9a+s+tmBuT6gCH4PE04LdTD+s17Sf4D9Q0l/sr3mspCVg2ElH2VDQQQ/cdc MQIdGFIJIl4cKHvrxM1YsQ2jYfV6I+7wFJFc5kdhvhFjLqEtaqJ7l1ntTIhKaALS3b1t IxCOKTBtpwmb/2nDhOB1soDsj+4eeHwdMssbkUAzxnj6udc1dqaf4/1L/O8zoRKhV98E qSTeZGT0sElWGcXNNLnAlD1/cqZ4shqWnUBnwNgtF4dZa+OIHMr7UG9PAV1Rk/F9xajs hvYw== X-Forwarded-Encrypted: i=1; AFNElJ+Ls3bUN6LdFNU5r13a+Hd/5raPPKH+6jvIwS1U4NuO9JGKAPv6ju+j4jwsPkDuF7wDK8Aiw9U29tlQ0H4=@vger.kernel.org X-Gm-Message-State: AOJu0YzU5MUmGqtJ+7fiS9yHbZ52TSWGpSWsaX/CKXhTmfp/p5FK+fa7 lyeZ0vg9QUu2b0KtCpgmI9jpG3S7b3v/74qMDezf7T250WgIy996Qb98P7er8n4zirhhT66XmYP UQ4f8LHLsLoniRzrVvz68OuuHiYWX2jsKPN5e/EZz2SB8+s0EiTg0pDrktUq0hfUKbK4= X-Gm-Gg: AfdE7cnosxMIHQlidFBJe2s9EfRmeb7ryPcx1C8Nl4YkjagU+LCSFyvW+9coxeTNH8+ FEpvTh2Ukg5b/9ASncbOw6pc5T+PUi1Kw5MuxYaxOKmsmtNN7yYtT+CN1Iq0atiLM65LMzY+L4S Ob1w0m5TAuyq397gktWPHLD4LAfaU3py/97loqMTQfIacDPhQ01+V1R2pqVWmJXNo08534mNt/c zSlEvubKkxHPWJE5+c/XDTGPJQwZh+kHzgAf9Ddm6lGr+zlfPNxvnyQz19MrvqkbaKZM0/YGIq+ ZMG23Tg2RLdJbokHhZGyUB5FHdtbg5PDB0HsB5/9RmPxKT/GFDHOR3HdmX/CzeyzGhZY1bCLCIb 9XcRdcK24+hIJiHx6ZpQt+FD1FDNTJgqoe6mO0H5d X-Received: by 2002:a05:620a:46a1:b0:92e:472a:2a75 with SMTP id af79cd13be357-92e472a2e26mr761062585a.61.1782732566203; Mon, 29 Jun 2026 04:29:26 -0700 (PDT) X-Received: by 2002:a05:620a:46a1:b0:92e:472a:2a75 with SMTP id af79cd13be357-92e472a2e26mr761057385a.61.1782732565749; Mon, 29 Jun 2026 04:29:25 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:4640:d76a:6126:9b65]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-46d86960983sm41936351f8f.4.2026.06.29.04.29.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Jun 2026 04:29:22 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 29 Jun 2026 13:28:50 +0200 Subject: [PATCH net-next v11 4/7] 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: <20260629-qcom-sa8255p-emac-v11-4-1b7fb95b51f9@oss.qualcomm.com> References: <20260629-qcom-sa8255p-emac-v11-0-1b7fb95b51f9@oss.qualcomm.com> In-Reply-To: <20260629-qcom-sa8255p-emac-v11-0-1b7fb95b51f9@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/NoTDAcsmYgBqQlcAXYEHjo3nW5lXrEftFSP5te1iX5MUJv9q/ rn9qnJOMKiJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCakJXAAAKCRAFnS7L/zaE wxjzEACZof4MzE5R3AkLo4cdj47nM5c1BmYSvHzKkCHEBen5ThUyVXeDwIwWWblDb9RzJ3y+MLf o6oOtrRCBgzHhzIqbHMC8RY56b7Obnpy1liOpYkCXnAoXb6GQIsJOrt2U1uSD0oKANwf7nPzoqL OhsmiZfiThdMb8fyV5Uru6/3xaEgp17hCR/aNEhzHtDia7fcIC3r+wIGY1DBbu/Wp/jAu6pkOP+ CzmnB9+VgEd3M2bqJXsVBck09gVcta+NALXRXu9s9uQcUcHxZ+GXz8kcfv/BkCvefJqXmNlZnrx hZHHGxhX2fc2XIobJ6+i56BbO4zGF4ju/pDPL3p/seCOySbXKLximZFUh9EfCKuSW72NgtcoSrC sP1C4LfvmWtH6SEwVZS9IwmGHjZ7L7474PXH+4zAq9UV72yW4CTIBxIfy8rYJrT6MjNXYYc5lut a//itO77gs5NIRlfmPXEjerOAOcgjX2NdtQLxXIkzK4JLftEBKC2Tq/QxziC3FOoqyL3e3c1IAA TBAiTx19G/dHyvRs2d5Ivud6gTiPAzPYmfSqhzheia1ryr4Xh7tfnNT4fDp+JaPeGmm3UwUkTPB Jrg8+FwsGLQYmxAKa70+0+gtmRNxyZh3idSJWOb8k8TJdI4CzOQx33u7dp4J/K+nGHNeNNaZhjk XzHNQpKFk6JR90w== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjI5MDA5NCBTYWx0ZWRfXxV3e8MF4sSgA hxOjU4krxVaFwVCxgHVnUciJx87KAvZiCKh1rX8RBvJUZFGnZf2rHtZqYLSks4me4Ux7NlxF/l/ sQiPVKKB20yH4VQXCUHMwb533NWy0MqHBYsZSuaIFmOhEX02blR7CnSxtVbWjFsN3SZ/xcRzGZP ECIqXbcc1f16S36HQoYwx9WJ49iRhxL29yREJKsaXYr1eb8XK/YHCMyH4prLE+hWNPNFXZ2FGCg //fFZR4DY1PmUZKCNnE59RJppx6vvVc7KhaLlQbEcO2+17t62Mm8BAKu7XRNlcQdegCVCklVtOc rvJHfmClMgeZcympwFwibVVg9JjXkuxF1nLczeAQxnOvPy4zv/Tye/RtVkho6S4Wjiztw9KAdIz bSdyO6DqPE/nseddgY8/jS6oVGsouIO30PgnlZBzAFuPoSLkF080IwJcoq8v6c22VKoCp4SQDCK htP352Vk0PGzyDREi6w== X-Proofpoint-GUID: B24R2pNXOPkUDDBzmkvDagH5fFuWeouK X-Proofpoint-ORIG-GUID: B24R2pNXOPkUDDBzmkvDagH5fFuWeouK X-Proofpoint-Spam-Info: AW1haW4tMjYwNjI5MDA5NCBTYWx0ZWRfXwG83RfakZOCO V8C831MkZusjBoO6Unk6qWqiw0CXsV0PWviRKFbXXBT4BUZyxvkWpyeMeTv59+QES24RgBJ3BiN FmouXCeaaxu1PFMA46ejV0lXYsnot50= X-Authority-Analysis: v=2.4 cv=OcWoyBTY c=1 sm=1 tr=0 ts=6a425716 cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=lIIuVyqIMTwqdMfQNTsA:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-29_03,2026-06-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 adultscore=0 spamscore=0 clxscore=1015 phishscore=0 bulkscore=0 suspectscore=0 impostorscore=0 malwarescore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606290094 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 Thu Jul 2 05:26:57 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 D4AD0400E0D for ; Mon, 29 Jun 2026 11:29:30 +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=1782732572; cv=none; b=Do7EIBm3fOSs+kS+JGiX+iYnkP51Dne5pUtbnun6/+UUKppVjuRF2/F7zeqhwgLsVjbqu1mskAWIOAmi5uSC23xoLtQQwM77CRAuokGwv1Uv4al0YOX52Ihpdx2mLV8KFL4Png/KkSZQb6FhS+4wsPLNNzTe3e+OEx35tBpUiAc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782732572; c=relaxed/simple; bh=DZwv1shl0TUtjDQMbmf7p8enNrlmK99dKcZ4kwPIp8U=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kh7Z/9aWvjXsUXi8GLQtGRdVDur+drV1wo9a987E8YZg39uX3+8d7TYoYp7Ftgm0mc6WBH7tfjaFk0KEC0j4iGenmge2tDMOo694D0Q1ITzXk6fPmFsVgmYDI3IFVIA8ZXnJ1Gl7s3wNlYyxF/p3qAm/I2HbCIR/r08/1iirhMg= 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=ivU3f2kI; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Ti5b/xDH; 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="ivU3f2kI"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Ti5b/xDH" 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 65TATSZK2592854 for ; Mon, 29 Jun 2026 11:29: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= fv2kNiSYpp/mwiQNvruO0GBGKpPCowAj63Sbzft+biE=; b=ivU3f2kIK0Ljh76I FgOgCYj3RP56YFv9AeSp8Pg2gP9MTMQylPGFID9vV/P0u54+dfm0aXGjeoj2c1+e Mm0LGXDkpHmTCM/TustbjzABJArVMcOpvyjaP3GjioJeKXMbcZODrFSSDKJIztRG BFPNKPeBhDYX58UhXVsgkmPe2KVD+87RnT66AziSePEW+MkIban+EkyCyd4Z0ynY baJ04vKLBK76qZSBoxiQj1ODhCpBCkimbUgugOkD9C0JJbnDs6NbkU+rsGDkpUTi uY5aDFwETygNDofFmehsneUdpFbLuC6hcvBCltLOPApWikVOGijnsQEnvr6PjfUZ e1cCrg== Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f3k7vhdev-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 29 Jun 2026 11:29:29 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-92b8fc5cc89so456855785a.2 for ; Mon, 29 Jun 2026 04:29:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1782732569; x=1783337369; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=fv2kNiSYpp/mwiQNvruO0GBGKpPCowAj63Sbzft+biE=; b=Ti5b/xDHNvuvkzfG1dm25camZrUkNoBOWh3YS5e0KlTSzgYc8DQ8fiqUzLcwJUK/Cj J5SF4ct0ygx6HKkXlKVx1uJvjDXcIM7zxuKXgKelLjG2vks9IiyAEsMSYhj9Kpii/aVv 1InKtb6578Ep9L5CnDAs+nNEkbyJgHcglhZqXKIwZqOW3Clzv4cFYztTJq/3xUarJlrS ZY8I5DxkVAhIGFpiWf2zvRfxSKBUZ3DJEiHsIJwNoNmgt+EhQjbJ6QIcz8b+5lxhh2OO ERsVzRuQfoIMy5PE/1pk6EDo37kGpDreWiiUWASY/UAbynWLvUpVTXVrLAMngQe/9kfC Teiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782732569; x=1783337369; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=fv2kNiSYpp/mwiQNvruO0GBGKpPCowAj63Sbzft+biE=; b=tQDYqtZbS928M7pi7WL3qYQV+N7atfNA5WU+NOUbD46w/uqrPNqn3ATQhV9ZNCHYIh eDmq7bYICNqYZrTuwq6v+lJqOZULGDXjv6UPUZ0QpAzGVGwd7W+8AU80zAs7G/Hy5itA t0rp7SeLdcZ88VTvLMacVprhu4QY1H7Whe6J8HECNaxQWqmWgvHZusgfOFxn3hwUMVC2 8voVw349s+6SbRiCe3LRB6zyugn0gXDB+JywK7z+GGl3coyC5zFslGuXhQTVf5oCovns FXX3GHUMf0Uv6H+4QDJXHGz2hgBYXXyJ84XHROxOJNNSi1eoznZNPxkeXnLjCEhL4afQ EdpQ== X-Forwarded-Encrypted: i=1; AFNElJ86+vHLBFrwDy8rKyvVa6womMzKsu+T6i7niu1pxgBee3+sRBSzQJs3nJkY+F5WnGNrSSb0NjYv2YHcFQU=@vger.kernel.org X-Gm-Message-State: AOJu0Yz2cK1a6ZaGj2YFP4MevVWQqCi3f2GYmwFPkZLFtj0AnqVqxeoE bO1kVzOn3MOOdrQbN1QupGVVdUv0Zk8rPJbt2R1mCKrfUcsvJ2voHnPPDFQSmPB/U1sPmZlclSf 1ZCgbM+7PkqEjTiWT8Y8TjQ9ov+G4yhwVpUjjmllnFwhzHl1vIb/fYjv7upJwbh2oyP4= X-Gm-Gg: AfdE7cnSNEtm7YWqMJVIbzqvVRtiG2xy/qrQGkJAC+FKPArKNDmNVgw60gVU+H7S7i5 T476yiYu1kaDcXD7606u6w1Sg/uzQfGH7EDVXkFk8C3As44IrqaNlCFarYkTX5yZWfQ9Esftdt7 1n3cX+SHc2SG51Jd5hP8ExjHa+e6p8GKa4JoCHl3xW4eMrPdqytXVaY3TV7DNsd8JsGQMYfIYAg KKleYIpqUmv8+wGRIohIfzJ9X9EvIuFwIeq55EbtbEoHlR/kj0GvHGV9ruBKuVSDbs09rR3ZAfV eYv4N1Qqh1q+sN5r4dkKE5xn4b/oMiYxTNjnlmzJdL02yO4+cCueIv6SJHpeNB8lwxiuAe+vhtG dOkVw7Mz6Qr/RZGmAIIE2bTLnrYVALMqnVFXSXPom X-Received: by 2002:a05:620a:690f:b0:92e:4927:2002 with SMTP id af79cd13be357-92e5f3fb821mr49160685a.39.1782732568864; Mon, 29 Jun 2026 04:29:28 -0700 (PDT) X-Received: by 2002:a05:620a:690f:b0:92e:4927:2002 with SMTP id af79cd13be357-92e5f3fb821mr49152885a.39.1782732568285; Mon, 29 Jun 2026 04:29:28 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:4640:d76a:6126:9b65]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-46d86960983sm41936351f8f.4.2026.06.29.04.29.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Jun 2026 04:29:27 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 29 Jun 2026 13:28:51 +0200 Subject: [PATCH net-next v11 5/7] 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: <20260629-qcom-sa8255p-emac-v11-5-1b7fb95b51f9@oss.qualcomm.com> References: <20260629-qcom-sa8255p-emac-v11-0-1b7fb95b51f9@oss.qualcomm.com> In-Reply-To: <20260629-qcom-sa8255p-emac-v11-0-1b7fb95b51f9@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=5525; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=DZwv1shl0TUtjDQMbmf7p8enNrlmK99dKcZ4kwPIp8U=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqQlcBg3lJHOpD/iyl6NxqPQJAWAsttTGTu2YSg nXJOqFfix2JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCakJXAQAKCRAFnS7L/zaE w93XD/94EURjyW92Q076vBk3y/FNJtMGv4PTfXVgN61+BGM7eBjjR70guIJ2GORayVk5wHwenme 4bVyHsbZ4O+QdIbtu5yRxclXseP3of3/gdFi9N2p4T5JPZZj4ol4nJqXTlqlYP4p90hOmYijtwa Lp4U1/8Tn5eNBVFUAI3EER4xHN2AMlePB0JZz/P0KHIkAr3CYcI3AVktwt+lZ8t6rly7e7p4rFY mxStSGpMg+ynQYQKVjjq+aNOa5as2A38SE2oYM82nn+lJ59muOOI+dI9TStwO1kR5e06KKdYKZi VvjmeWd1Zh+AxfU4xNkN7KVMCRR7uER1lJ21Ve/4VlHEKWLkBK48HvITsgCFjaPJ3nBfR1fm3Pg w9/83fOXXWrjO8GorHFPBnLwd4Y+JBRFWC0vModu4ZPzPrAKGYfkY00Z2xUhFncg0FdV8t1zLoO komFrMYihlGM6sMzyOeo5B7QpALzxlZBKzCUzh2F+3wLpALLgw0lrvAJhORgQLChTva1206Ko5D 9sMZQQylfsMBhoPgFojLMoFDAYtRDYdpW61i0LhpDMxie+/5DTr4SFbfLAPI1fiq/306luqvEIC Bxt41nrp4i9PHW7iULBhTzqoTqAtwc7LV3l75poXpja5Hdz9TrIIG7mRMgxIyGuB9iu9qQyBL5s /l6XJFHBczkbAFA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: kyqrraFBcILxJkbWV_-uwiAkqmSQ3dai X-Authority-Analysis: v=2.4 cv=CqCPtH4D c=1 sm=1 tr=0 ts=6a425719 cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=uYDRVFWwO1WiFYTZPIgA:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNjI5MDA5NCBTYWx0ZWRfX+r872Akd77GD fiFsQcwPrCVbjCCc7nmB4q/t8yuM+nULLQ27SGfV2msn+BDbhnjVslYbcRYWE3oFwXL2aRgHeZv pX+HNqyCOxUHC+vGxE3i+mL3oLRcl5k= X-Proofpoint-ORIG-GUID: kyqrraFBcILxJkbWV_-uwiAkqmSQ3dai X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjI5MDA5NCBTYWx0ZWRfX0YIbczQbrKZR mhJrNQAFZLa5QHPHpoa45EPDpSCAQYo5C2dHdeQbNXGLZMpNoFoN/tx/PfBe2bx+DPmsWxkDjqd hiAfhHM/SCnNaTUsRTiF4eyYK9rZcbsPzf9uVNCYl9Gy/Jy3w8cCV8K2SImDX2yq88QepgzIGf7 m101Ckh+nxkNb3hmDIaBVnzjtIy65+hk5DAfLxaD5skh85oEYRvymNQPs33gCtBwAMSxRhPotOV Erdhh3gmpVFBTdBkKi+UgFcBd/Ykh2B5Nl1/erjww0Sp2ZcTuV9tUUicvhgjstJVYu0d342cnJ+ +4UL2mvAHNUjYgoNw9ts8+Ff6JfItnQRGOU3qoASDxrLE0+ly1RnSSjADhgaGJAuEQugdnUaMol wQ8pvprK3J8aZ1CPIShZYGXGZS+hTS6Z0cyrQX6MxZ9LE5N1RB71UedYt+IdF/yUuyPtOemt6WX 73ji4ATdNen5lGj1Qtw== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-29_03,2026-06-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 bulkscore=0 clxscore=1015 impostorscore=0 malwarescore=0 priorityscore=1501 spamscore=0 adultscore=0 suspectscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606290094 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 47b70b5e706f221c01f1c0ae3b1acafae6641165..fa3447b90315672d706d5ce7d71= 0bdec6214e4e6 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) return; =20 @@ -322,7 +317,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 @@ -352,7 +347,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 @@ -432,7 +427,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 @@ -456,7 +451,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 { @@ -472,7 +467,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; @@ -495,9 +490,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 @@ -511,7 +506,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); @@ -538,7 +533,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 @@ -743,11 +738,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)) @@ -784,7 +775,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 Thu Jul 2 05:26:57 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 2118C402430 for ; Mon, 29 Jun 2026 11:29:33 +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=1782732576; cv=none; b=JlA/eDF91IPD45y5ilwGwfuO5YlVfUSgWR1R4J/r/lJWniCkazPSo6pkF6Zot8SXpTmPK2eAAdSm0Oqu/EAWcsVl39jF2ix+v8WuWMDlm0wvJouGEegkAcidST3eS+pZcGDbgTnT2R1hTLlrGtKMokhoOatI7VJ3VZg8GN+g1cQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782732576; c=relaxed/simple; bh=o5XoyX1coHzwS5MK4Nao0YTpRLZfe0Qwh6ArwM+K5eE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=BVHX0Ivbbl+NPm+HL8Hu953CkEVatwgba9eA7FTGaVB3u0sVdjpliPHYnWBk6hUoZfXrezH28G/FArQUedWqqwUgtZh7pQmpon0TafQwkJGGTQtB+pPw8ninPfb8eoqfjBsvKLi11YsvpUhkFfRREhnmWW3WSj1Mb87HO8XflFI= 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=O2a8aA/h; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=d3P0xvUp; 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="O2a8aA/h"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="d3P0xvUp" 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 65TATRAi2592780 for ; Mon, 29 Jun 2026 11:29:33 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= cyAtb4Z5AA87tJM4aAbz48OZuPpDfL6rZEVyCzADtro=; b=O2a8aA/h4nhMHkFW vsknL2Ick1SFdK2BsJ6bMWbfm11nyrFBnRzojmxlHak4ZBdI7UKqsi4RoySF4e9H SqkURymOu0zI9tSec1PWxPZxeUu2GJZ3faf+hdI31bwIUMgaUVv6eM1s6ObX4haa jzgJTnmXNoJ+o/PN8XBkTwytIxJxKM/1s5cq4jwMMG1nQjra1HyJpjMXRogC5Q/i 6DHyPs5S/30q9qTRdY1D2j+y2Xt7TUsRPipZFyUcDV1rJkBU9Z8eSIYgBGKOzDxv yJjWCJ8/rz31w+5Y6MHKfIaE9TT4cV5AzNKRvLwMfb3JWqC/wqYneARhCw4ICY4h bbED0Q== Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f3k7vhdfa-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 29 Jun 2026 11:29:32 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-92af3d5e85aso685439885a.0 for ; Mon, 29 Jun 2026 04:29:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1782732572; x=1783337372; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=cyAtb4Z5AA87tJM4aAbz48OZuPpDfL6rZEVyCzADtro=; b=d3P0xvUpqvxjjVsi40MJUpf1KCOMmH/OjNTeaNIvUByC3mQPV4uePpiK/WHjZcILaV s0EzF7cZv90T4Y1rSeDdNynWB1a3yuySF9JE2ZrDHzNxvoey7yVna8E29I0fpLKYjfa/ 3qxlsSGnxUvosX6qnOKPCx6SxASUKEDLu7XZkr/RwDu6K9ox1gGxTBwHm1ZgFwv3td+l c4mf2EDnF4sb0sfP/sb6C7C56O+u3xqAWimsQFDjAqQhaP2dCFZSyzhQCEl8/HL28VOZ ImvS28CFwyZH3vhCnVAJdi3gunjptltGmn0EpIPmequi6NVJ/rQ1n3EvE1XALdrIi5OZ tvNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782732572; x=1783337372; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=cyAtb4Z5AA87tJM4aAbz48OZuPpDfL6rZEVyCzADtro=; b=Rb2fX3kVk04QkaNVXmUHTTF5+AJ4kCkbd0q7qR15Lzmn/vtL63+sr0rzKmdlQiTXrr Ljw2TCZB9lhWKWgpWn7nZgNPl81Db9oIbHlNZduAnLOB64B+FwkCp8U9OxRA+4ELMR40 7zS0zcP5TtZJTEBnKoVbzmJ2te43poYwHEUhCsIIxL9X2212my0jBwjOmn0rkmqk/eXz YPTwdnC7Y+oTh58EDalMJTqDv8tzjVpojD5Ujj5TRet6cSfUOJi4IFEnJv/dOBpKg3Xx taTv7DemMCvqytFk10oAYrjaxGwvFjrwGBI+xnsldkqRT84YO8uGp1njjaqXzHb4bJJ/ 8EOQ== X-Forwarded-Encrypted: i=1; AFNElJ+FkzqOTXOnBt30vruht8Yh7bgAm/ZVRz4jaDEsm/qIbuwxcQyYunpAnXje2WefnDn6B12BjgbMfDwh52o=@vger.kernel.org X-Gm-Message-State: AOJu0YwOeUt4RWeVOiLj0ss9Z0HoRBg9shtiTzfO+9Fe0HRVmxbNLty1 WOsOP7hDXnIdjOmdgYLpT71ei7km+lSgvoGO/AcAFnxtwryqmYkkYsvYdWuO7bHSB8iTcpZt2iI ZBXrDqw3ssTnZzbOdvXoKytCk2bhhtP9Y5UbqaJCXkB2K2BJ8TD5C7PYxSzciYJy1iLg= X-Gm-Gg: AfdE7cl0PsZWW/6/8t9DpeWkNuXs9Ij/Gbi1AYTVw+sUW9J0rLqn8Pn3ifsLnY8QI86 yiRvpubhxqqbaY2efypJnuphCPS7Yp/aw+xYHssBmfnSWdT8Zc+3f+oQlTh4pco7jB41JwLno9G GQSsirnkt/Uzp+nazlRR0ILF+5t20XZDLG2Naj6+YlrZDJZ0nQq7srQsmGzF52V2oSVleTsgylp 8vN2xpd21A/6pvQE+NrQCFzd1bF8fLm9i69hnOyndWN4OW0lHM/wS5E4pVWYXggOtBpgk5hhV4a sJr36t0V9a4/PC/z+uCU95AnPvKPCzzM1nFH3SDCmz7Lq2qK3kKp5HWhNSUJqe+w6yRiDoR6uGi 3DtX25/sN+SEC+/gmn1NUEiRb+NLU1Av/uSych/YI X-Received: by 2002:a05:620a:45aa:b0:92e:4e45:dea6 with SMTP id af79cd13be357-92e4e45e5c3mr483919885a.52.1782732571601; Mon, 29 Jun 2026 04:29:31 -0700 (PDT) X-Received: by 2002:a05:620a:45aa:b0:92e:4e45:dea6 with SMTP id af79cd13be357-92e4e45e5c3mr483911785a.52.1782732570816; Mon, 29 Jun 2026 04:29:30 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:4640:d76a:6126:9b65]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-46d86960983sm41936351f8f.4.2026.06.29.04.29.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Jun 2026 04:29:30 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 29 Jun 2026 13:28:52 +0200 Subject: [PATCH net-next v11 6/7] 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: <20260629-qcom-sa8255p-emac-v11-6-1b7fb95b51f9@oss.qualcomm.com> References: <20260629-qcom-sa8255p-emac-v11-0-1b7fb95b51f9@oss.qualcomm.com> In-Reply-To: <20260629-qcom-sa8255p-emac-v11-0-1b7fb95b51f9@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=o5XoyX1coHzwS5MK4Nao0YTpRLZfe0Qwh6ArwM+K5eE=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqQlcDTAon0X83/cuVf2FonlyDJldJI+jtgKRNr qw94YCFiE+JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCakJXAwAKCRAFnS7L/zaE w/hYD/4l+Si6QWsD7+ZZxmaH96VzTsVjckV/wXRff5CAaOIfjpJvFKCtXTaM3YdcF42IaaYN1Hx 2HNWSLGg1VdwPzcYScIC3MEokznjNOhfTT4g49+bvYwDDlBCtNLiMDc7s3VDTKgVOCHHFu283rb ON/ZxL8rsLPQLMe1Zovv0J6E+Ha0QbrbOXCWEIPZMx8Xzef+f5NZWiloH5IDGoztVm2s4V1FDp+ jXYSCwHCYXpMig7U0ZbGkNwW2VtIZfNOEUQswnoFnP7cxQltjaCJfKxJZwZ3KCzbm5lxjV+KLfr /dzqZZl7Ng9OAZSzksTPGeIZTtNkUxIi3UOwtYF8PRk5x+k4ElPxQy/0uVUsmB6Gtpko6JAIL2A PtOTpmcE6CbyKI/0xOfhl8+lW4lZRcSGYLpQCbzX/8Z37/3i6S/irGyzB45DjYpLPICGaaBGYU6 Jsb8gWfgQkeD8rfrBYi4d1eElYfYUFdRemSeg2vS/u4NMaEhOtG2NmwMuLd9vlyr790vRPN/hso VwTMBS+A81ha8yuYxdFxURpA4kaZ0pfJrQmpCHbm2xBYkQIZlaM6dH9umSmVRftI83uTfFZ2x27 L6qtp7zKI00038b7/0ZEgI7Z95MYowxHtqkMs30AHeR47uZq9EOncyUC2xbyr6s4mqqPTwLsyWT MpjfoP9Wuse2kYw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: 013I30cL7Nsv1483NothAp3G2QIw3ck8 X-Authority-Analysis: v=2.4 cv=CqCPtH4D c=1 sm=1 tr=0 ts=6a42571d cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=dj4JEN0qHmgdNMwDfcEA:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNjI5MDA5NCBTYWx0ZWRfX3/qUV/TzhMPU t1KB4pU724ZOSt27Y3MIRMsAMw95us/q3PwlbxVoPR/nBm9YM04AgrfVWaMf/GYygF5Xw4jfruq 0CkKIxSSDWVAe9aH+KHWFPrA9yjyyZI= X-Proofpoint-ORIG-GUID: 013I30cL7Nsv1483NothAp3G2QIw3ck8 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjI5MDA5NCBTYWx0ZWRfX1cKMMJp15Waz /Jbb2S95z0LPBgJHOxs4WrhIe4EABqp168xoNHv2+PyEPYhYrFrRtM1C+oO2akQFT2/2q184ijb xjJpqAtr2mK7oTzIf5+ndiYdrihhHItNZI8nogKNtzrl2y1rVmRR9NhkQgcK1ikpl299tcbFFSr 83s0gVAi98VXcVS9RbsrCNKOUMbpiy2S8ERRftKuENGcMFQna+QFLhNI185ZOheJnZxHyJoRoio OY4wOAM7Fia7IkvjI5alPoHeyNTjbWM5jYjOQ6feVsYrubOEyRS95ej54ldLUrmHWHnnthMaapB SOsqLxqXMwmNqIShbUtztQvmGn96Lj1iyqGn6cKwhRaO/Y+gIATJUrT+bHV/jE+DqOVzc8CF3bP 8k27O9uVfrAc43xudqMTG01cKPrQ94hirVkXR3w1YXt4lsB05hOPDA70GYFPVjmMo07jaZ3fSKi 78mZNkOpCpOMDUWq8AA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-29_03,2026-06-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 bulkscore=0 clxscore=1015 impostorscore=0 malwarescore=0 priorityscore=1501 spamscore=0 adultscore=0 suspectscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606290094 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 fa3447b90315672d706d5ce7d710bdec6214e4e6..f379570f80680e96f027873cda6= a6bca398e22dc 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 { @@ -199,6 +204,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 }, @@ -213,6 +221,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 { @@ -229,6 +238,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 { @@ -261,6 +271,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 { @@ -296,6 +307,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) @@ -685,6 +697,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; @@ -706,23 +770,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: @@ -732,24 +793,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 @@ -758,21 +808,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 Thu Jul 2 05:26:57 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 3C9DB4028C0 for ; Mon, 29 Jun 2026 11:29:36 +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=1782732578; cv=none; b=dk2WWf9nBHrIoJMXHzS8RIkfN1CDAgtjYHnLs+DNJu5ylfWZJ2R7gD6a8I8gOWbjFKTlYYQVhwzZ+iJAcncOW638RIxCzUbfV25rHCL1BRJkBtdt/hiGVI084aLmsrdoYF6WVRknINTuW0/m3O7GNpN09dYdx/dfRQO+a4wS0Ss= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782732578; c=relaxed/simple; bh=zlpwRA2B5tVQ/D/s7B0Bufz2lMNZ9fNOyqanrb1FAug=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=YKuUtwuQgpNwAxS5pm7e220naejcCDYcN+GDUwm24B1WnyVjTghWvgrgGgPNWJXd4VgkCDZFDoSzN/VtHFy1AsVqmmYmC/tcoZymBaRMO/CLlZuXlT0kAeb16NfBjvDXwbC2iephjlQQrg5SxssvIvo54AkGfqlJRBf2336lUPc= 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=VME4b6pe; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=VFUtPBML; 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="VME4b6pe"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="VFUtPBML" 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 65TATRxu2592814 for ; Mon, 29 Jun 2026 11:29:35 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= +Q6bqQDHUHrjtIHiVjOhXKx+2i7lMgyb4QA6T5rl8AE=; b=VME4b6pe0s8CuQcT zb9F7XtQFAMjYW3UUW4Xs4rfkBOz89g3rI1FkLqhocUuFQ1NshWQ0OfLcdrSWGv3 dCDKd9Z9myw7SA2E9nxEVSL9ookplm32yU7k3WCOX7lJGwphKL9ZJsOG3Agr7zm+ RuuuS1+5w9qaXhUyF2bxnoBO0dTpAoTF+pTkoLxhDc1FLbTtwsMDq+k3aCcfQobP sIkguaOaDTYm9E/Ac5kRS+b7sFym7konv97/6OSBPsAvUNzevqbzP4vjmd1K6Z2X 1FKX4LqzVeWDz7KkMOgN6mtZhd9U2vCEAtQ2LuHqm3fbIFpJ4JO3QSWN/+dwaFxu oy9rxA== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f3k7vhdfp-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 29 Jun 2026 11:29:35 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-92229624a71so596650985a.3 for ; Mon, 29 Jun 2026 04:29:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1782732574; x=1783337374; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=+Q6bqQDHUHrjtIHiVjOhXKx+2i7lMgyb4QA6T5rl8AE=; b=VFUtPBML0zvsliyPq+4Adcww7DJObpevjkkBisRkABUX92Ez+sNHAGcxs2WofpWDph ms5irQ8rx/VCrL6VaWbB9Wd9pFtclx1CyRu4aoNNi/HANWk+dEz/wAUnsoGp8LdgHspY K7RWvzaMhVF/WWfhg/KtImyLcKfOqAmGGnQnH1rcStjKwAuOXJTDXNdt171UxdFWxFRW HKHpjoXwZDB4ahKvB012K+0hvCLnAZn3nB/wvzDpbaaBIOQxxi8aMjzr8mVCTgNP2uhD l+XWqwkIT9hDqExZiTzbX/QH1+xBWz1Q9XbcQPoISwor5JJqX6kUck9CyCEFaQgrMrfc ntSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782732574; x=1783337374; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=+Q6bqQDHUHrjtIHiVjOhXKx+2i7lMgyb4QA6T5rl8AE=; b=Duziu6QBoSf2MsaY0HeeM9VEU8XssqPXLVJTrEMjw1S0r8V9sNCWrqr7X5TJaShB/M ereKpq3+hMHoaqlPEgYgvpEcZ2QvSYqx5GpLycQUT66iceze1DnP5Y7hyjBwJwvhmOZV 61VGT1IDBiPpC/JmjoNB8/Ttl6u7T6FtR0Q4MCTnT34xcd8ScNzZebmdwPI7RpKHc2xc rUceuKGnQhQLhYTsAq0J3Pkoh0VTsSiwagVspHbMDkD/o9IQZfME74L1svkypjP46gcV WQZkKNH0LCl0BIpTdiWgcFvKZFt/tE3jVuDYhR6hJuyWT0rCeZ67PjN821Eq72WUAgJQ hxRQ== X-Forwarded-Encrypted: i=1; AFNElJ/YJpXAFOfmapD1Gumy/DGJdF2aXooLoqahxkrslaruvD6obw24iXhXZXhrlJENlCO7bY4wYiOz0APuse0=@vger.kernel.org X-Gm-Message-State: AOJu0YxSiEfqM0X8BgWbP8891h2ng0eYa8XUizHRRV1v8pajiFU6OFJq hP4z/KwA867UvkBLwbSlKNSMfxczNIz3TqIf4lHuTofk9rxV6f1pqn5QxA8EvvpVbwPrS7VxIEE nN/m9BxsOILRg9MYJReGU7eeRXaemVDpuI9Wm0cRrNioh72MoxMnQSFo9UESp6eUSCU4= X-Gm-Gg: AfdE7ckANiWY7SyD2+V7Vs+q5lAwiGz+T/+0/dBrn6O78UUD1u1lHcf6WcQ5Td/wMrN 5sT913fk0NxponSiwgMtVX+Dgx1kvgLR+dPSC96EAZnUhjVNuCsHX2mRNq2ouO82eU2Bz84P/NT 8eDxD6p87vTtytzgy2K+UX2p4jCeV3NrszImH4qQXoJ+YZzyALiIzvtrMI9kW+PGJWVr6PIRO1n 2KxtxWcwYx2WN5QrWvW1l0163yjchhj9Xpllz8oHHLB2hHR5m43ZDVprui0YkNqdrLkIawqL+sy ZJSTEHJFtANx152phdl2eMMcNnXmivV2T+uxQrKFQXW909R6BrIBb7Q8u5fA52ssGRPO68NPf2A 1IlZ4gnT31E9+qgvDslh8A3onlTT/WE4KQUhy1vtp X-Received: by 2002:a05:620a:6910:b0:915:b852:435e with SMTP id af79cd13be357-9293a9a0911mr2438682885a.14.1782732574195; Mon, 29 Jun 2026 04:29:34 -0700 (PDT) X-Received: by 2002:a05:620a:6910:b0:915:b852:435e with SMTP id af79cd13be357-9293a9a0911mr2438669785a.14.1782732573277; Mon, 29 Jun 2026 04:29:33 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:4640:d76a:6126:9b65]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-46d86960983sm41936351f8f.4.2026.06.29.04.29.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Jun 2026 04:29:32 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 29 Jun 2026 13:28:53 +0200 Subject: [PATCH net-next v11 7/7] 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: <20260629-qcom-sa8255p-emac-v11-7-1b7fb95b51f9@oss.qualcomm.com> References: <20260629-qcom-sa8255p-emac-v11-0-1b7fb95b51f9@oss.qualcomm.com> In-Reply-To: <20260629-qcom-sa8255p-emac-v11-0-1b7fb95b51f9@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=5134; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=zlpwRA2B5tVQ/D/s7B0Bufz2lMNZ9fNOyqanrb1FAug=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqQlcEanL1FozExLzbB2CNw7QgHT0+vuG3E3TYv vlirghb6BWJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCakJXBAAKCRAFnS7L/zaE w545D/sFwyf136vnKWGIWE5mFjoPntaYvEb9XbIPHbPDLyLyBE5XGa4vL8daVHrE9ttYSHHicug cgto+b7tNG+Fdgv66ccpX/OPFJ288VrdQXu08TFHm8rbVuAwdJVGakFZDQM586+nnFtHX90FFCJ IYbBvmkPtI4jX6tVNt04onvWsH60gsbQaOJ2sXc0qrzlABFC3ZDyWCOnuHSjyptruZk7K1KOgTR np3KO1nttnj3nBFUVaVmgnFkKgpzwvqrkGPbEPX5mhvla5xe5ixRTykZ9dRDNi3KhhJeSqvrHpW mvjIt+lhH2YYRzTQ8pbVEdXw+wLTE+ix41vqVoQBPDWLcRtOOIsBA7gZln2tlyHeHabfa3RAxl/ 4K4gfxWbVNQDSX59JsK760mq7/UOtG9vZe+0N0RD45radrnHGCDyXrGbnLjrGr8vg4L07SXkfAU TrwHAdR+H/fNHAzriC5y+8lwoLcVl/eSl6fBwEMJzTRhcpaUbUBvHhCCGI78tyBUS3/43Ssrlg/ yhK/f+h2j9bAwb2MebJspnvTZw1oALLO48vK6Bi+MBekjlSHXyEkVAtHaK/9Z1HPp5S/9vvAf6X a6YOb07mTXouuxowjFQ+eSdQ54brBkbr9MQWCJxU34Rx3HFTBWgtURBW7cuivUHI/CzFRWHbF6D tQOXj/IRERuPa5w== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: vLVfezKtTgurM0V7Ey-DpYRnspDf3wNg X-Authority-Analysis: v=2.4 cv=CqCPtH4D c=1 sm=1 tr=0 ts=6a42571f cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=RTgpwGSXUauNkVmvBPUA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNjI5MDA5NCBTYWx0ZWRfX3/U/aOSZMANn MSUyjJ+98NBwPB5Ntb90E/OenkG8cWZ/sO2aOMIlMxkRYeMEIqXV8l5AdHZDyRyDjNS8hg1HIZz JO2jyO4Th5VcOyFRAVmu4Lzcy9gZowk= X-Proofpoint-ORIG-GUID: vLVfezKtTgurM0V7Ey-DpYRnspDf3wNg X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjI5MDA5NCBTYWx0ZWRfX2tWCqcn83/ub wQ9KCvLzhpzMa9vAxRxrSwu+Fdn6X/Fl88Iu+t/i/fXq7ysTSuLmVo+1CDv3vAmTgRfFhiXTYcN e0C7oQB9gj98fObxODxaVnAng3aJRrAaKtBDgcqEh7/75s02jg1be9w9LYm9MldcCuBzbUIfCew par+8szZh4mQOaXN+cJYvQdzDhx3mRsw63fj3bx804OfTr5UKGlW2z1AXJRLMz41xSMB3vIN984 1Q7Zr5tzOWtG5Tnk5wEvmSfd3zVYBFswo9lRWVjU0Hrl/3NR6OR18Z/YVTAH9Kg5CAluLgfyBpR EafBkY1GOcfw2ujrhY4liDI50XJb79Wjle4RUkpjRx4ObNYJ/YP0n34faRDtGS+dI+5Pik0xWoZ GFKc08ZEhp1GQUOCwpfQNHTbOuQHmxciVEON4XY9Q5Cnr1Nd5r/POeWtmY1Jcbe9tkEVTkR3cZd 939RcpfkjsM82dl8wAQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-29_03,2026-06-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 bulkscore=0 clxscore=1015 impostorscore=0 malwarescore=0 priorityscore=1501 spamscore=0 adultscore=0 suspectscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606290094 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 | 83 ++++++++++++++++++= ++++ 1 file changed, 83 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 f379570f80680e96f027873cda6a6bca398e22dc..47175670a32631369a2cf8b0038= 8d9359513e090 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c @@ -108,6 +108,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 @@ -206,6 +207,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 }, @@ -310,6 +313,29 @@ 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, + .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; @@ -749,6 +775,62 @@ 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; + + 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; @@ -836,6 +918,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