From nobody Thu Sep 24 12:53:00 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 7AEFA3F4DD2 for ; Thu, 24 Sep 2026 06:10:24 +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=1790230225; cv=none; b=duyQmKJBTXTekB5lPQM7U7VIBbJ4IrdaMjg/qY/rWl0CDrTS7ak+ajsJLzo38NGAi7HUNS7oGjbzQkS13fEQBc6kSJwOPu/PAutLSOHJAtIg7TaQUjtWWqTtfPfmoBgeBAng92ziOU0T9qVdhQeiQ+4vGPszQNtpuX9wdq1rXyU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790230225; c=relaxed/simple; bh=NzsD4QcajZOVRH4NV4GO2obUNyWXJF0JtcZuLN8XyqE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=JkagFigjrMXzouwRhk6K5V9q26EOs7cLMaReM9Dgv1Kzl9Syq6l95LY+stn2Tv+6USOB/lsQt/BZHWvEVR8FEuBKNilfyVByr88axrWKbhBF54xtAiNmhGWrXJ0irxyi4mJh9wfYyKdgzEzNSt1gYGqRbcxX+00z//55MVRyooE= 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=S0NbT0FZ; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=I4Xx6sSb; 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="S0NbT0FZ"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="I4Xx6sSb" 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 68O5eWta1741995 for ; Thu, 24 Sep 2026 06:10:23 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= yxOiia23GtlGiNnaYrLL6nmn5DZZAppKMl6jIYoOE4E=; b=S0NbT0FZIxcuhKot HDtBPzTEh4ryyTu4nJ6JZRXC2cku5E3yg4ow69g55l5WYr/a4l7p5szRhVfOrnPT L4GIJwkx18Ubf2ALsDP5oCF/hvgfAtuWGnW4u1NZueL78mzJBbf2DZ/9NiDNrjMf 6ZttFXCUYyNbCfal57g/13A8PVBVpaDY6jNxmyZRrHT5kGR/CIIEXX0cf145cqv3 9UF3vzp55UkcjYqaGseD122LfGqGX2o27/9mrVnCR4LtR+EwEA8wz0GoUcv/C+lg zAO0r0ErFftHetMlYJWY5mOs9sNMKBZmev3JwFDjxMX+N+gdYLWpzUJ1jysWcu81 DU/5Ew== Received: from mail-dl1-f70.google.com (mail-dl1-f70.google.com [74.125.82.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gvfkbkhxc-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 24 Sep 2026 06:10:22 +0000 (GMT) Received: by mail-dl1-f70.google.com with SMTP id a92af1059eb24-1416f32fe11so2379046c88.0 for ; Wed, 23 Sep 2026 23:10:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1790230222; x=1790835022; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=yxOiia23GtlGiNnaYrLL6nmn5DZZAppKMl6jIYoOE4E=; b=I4Xx6sSbNYee5Is/4CVTiopl8JXUSSXAwwCL0ByhCvD5+kqcWiylnfylojdhxb7MVt ZfLZwTdQffCjGr59mfZ/VGqZDJRVhAciXALJ7QPpFgMkLp9ysi0yWP6VEaBiZYndjz7S AM6+6Pp9ym35jWcOdCY+GJvQomr515o+IaoamVIqmJYN5JssCLtEHnencoZgqL99bPYJ tm8hzg4NeH15EyzcEGSYsErqHl2my6iGvKuoZuoWEW1HE+g21qU6Ghw4TFYfWIU9oNDg xzlgXQXGOQAsZRaPN3VWCkSHVXnsNDNMKd/zBBw3srF+f6pwfVjxoui79gkB9SkgBLFV 4gZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790230222; x=1790835022; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=yxOiia23GtlGiNnaYrLL6nmn5DZZAppKMl6jIYoOE4E=; b=Frq1VZ3/0YdLTwymHtYrPGc+PRwd0Uub8PROyPfTb4gSK85qQ72P8kgVuF9Seg8TRm gODYaHXvN5NxFNXZBV2pA6sTzmHhKv+h2icUA7bstXlTc1eUPEOUA1aP0QyG/zWw8Dzv ZICt7YoiWOcwsbgUr7JrptmgRq016dbLVTzZnOHu9xsZ6K3OLoWu6QNZFMyCYChmA+c2 tXsw83Y5k7J2kj1bcMZTHQocEbA0+6eDvCjIUKO7dNMWvznEOVgb4JCXn/Mgl5M8SJ48 mfKjxPTALTEKmVAJgtcp6xX7eWywxG0/xSHa5eKsNUTjMtUVBfwr6lqNDmatayQAaXjs E5PA== X-Forwarded-Encrypted: i=1; AKwUvByCe/ClEhXWQVr9O2DCar1HGbG/KAMILHdfpoXH9b00yWSucx0ZW5rn78EUwVha0v+vdiLgYrhu/EqZze0=@vger.kernel.org X-Gm-Message-State: AFuF++m46r8QKV9ejCBgYdi/9UscBmNkoAUZ8ae6fV13T+WY1YvFfOIz jLCqEcPtvm9tQMOBUKRX4KE+VISWZaNYVJ11qfSAoh2xPyaTKGGwHUSqcQnDQn0AQCgxeo8/m2f fdfS8u8+Bw2R9DHpnCz9A8fCC51+SwfnL1eVOqmQwQJxTAfQiMZce/q11RVh9kZUz6ns= X-Gm-Gg: AYBFou0mVj5GW22HQrfi6UgbeGMzfuDFe/rmGRYBy01FBBs5ReoCMBGFwiFGtxijOKQ zJH2qYKdMUWg2eTZ5zhcA3OwAGipmf1R6sOSfSt2xh3fuE9FCvTwdsO9uGIb4RIAO6SSTK6TZQS kOm5HAPyM/vpzxLlnX03rdfIpVdw76iQj/H6a2r3vZZqfw3inif0FsetBb3jzULdzfIHtSm/bx8 s/58iGzG4FIyRw5A6MhK37Jz65/oiXbEwTkY98arh/ZoUJOmYhC9Ya2146Wv81dcDfJ/Kaw6KVs vYrfP4B8IskGf90weS8xSgzQvlkVBfSD0wAvoeIGbu9cBm+sYXJs14hWPSS7SuSAuCDhF9UygG4 v56tqxgmDxs6XsOYIo1hcEcwbWo/4HbBtzN6HzgDWy0FbvHtutOdtyKbGXA+Jk7DTlig/ca2HLc MRtfuW0tukh8O4BwuYCSIZsdIV5vw7 X-Received: by 2002:a05:7022:3c86:b0:143:31ea:ebc2 with SMTP id a92af1059eb24-14503fc189bmr1068098c88.6.1790230221798; Wed, 23 Sep 2026 23:10:21 -0700 (PDT) X-Received: by 2002:a05:7022:3c86:b0:143:31ea:ebc2 with SMTP id a92af1059eb24-14503fc189bmr1068063c88.6.1790230221207; Wed, 23 Sep 2026 23:10:21 -0700 (PDT) Received: from hu-varada-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-144f9895c1asm10197680c88.12.2026.09.23.23.10.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Sep 2026 23:10:20 -0700 (PDT) From: Varadarajan Narayanan Date: Thu, 24 Sep 2026 11:40:02 +0530 Subject: [PATCH v3 1/5] dt-bindings: phy: qcom,qmp-usb: Add IPQ9650 USB3 PHY 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: <20260924-phy-v3-1-088e7be0cfaa@oss.qualcomm.com> References: <20260924-phy-v3-0-088e7be0cfaa@oss.qualcomm.com> In-Reply-To: <20260924-phy-v3-0-088e7be0cfaa@oss.qualcomm.com> To: Vinod Koul , Neil Armstrong , Manivannan Sadhasivam , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Wesley Cheng , Manu Gautam , Stephen Boyd , Philipp Zabel Cc: linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Varadarajan Narayanan , Krzysztof Kozlowski X-Mailer: b4 0.14.3 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTI0MDAyNiBTYWx0ZWRfX3CshFa3U8zqi HNzoXvh6iuyME80gGJN6+M1AtkP7q644tV7J2MJ07gl/jY1mv1OjPlY71eSIAwMjSHrUA9+z8x4 KBplNdV02eWcoqKGl1Yg6nNNPS87YVI= X-Proofpoint-GUID: pimoZX-fM-OI0pfZpqz4j8rlWHYHibnd X-Authority-Analysis: v=2.4 cv=RYMFmFtv c=1 sm=1 tr=0 ts=6ab4bece cx=c_pps a=SvEPeNj+VMjHSW//kvnxuw==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=CyeWGLuohibXKJY0YOUA:9 a=QEXdDO2ut3YA:10 a=Kq8ClHjjuc5pcCNDwlU0:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTI0MDAyNiBTYWx0ZWRfX0PRgfHmm2um0 ccfCJ7mgmoR1SZzKdnVOpVFmMW9JTiCWV966VPTAXSacyXLhhej+7g6mcnZalilNBo/x/2/A0hq Vz75w/DfNDDz0zrSZXtrJTu7GwifiLPiRJVJPPjvkJfGWWUitaLIep4ZFP8dnqmLNrfg8Pf/Tz+ DzO8FgNhnQ1F+hU16RfzX32FQOQMIAxTBPdJPBHizq0hqJDWkL0x+0gM6b/HTj5ovjv67MGIDdO BJ+XU1j/rqKC2TeS/oV8vSUrKPbZAI9ezoqUz4OC2BTBj/+MpV/hmNf/Fv95PmzBIFcReCyFUnB QZfpXXrn7U85AfED6M0orsCjZ/y/hJP1knrhOx3aTQReFVB5hwMDOn8qLf2SRDm7UNaik+Bjc/C PabShv7YHXJJrkFnuJcp6A3JbBihm6FbreByfTzcVB+a64/bgDckRtaU1/72KHu78G2BMTUfEma xM+LMqiJl6X7r4rByPw== X-Proofpoint-ORIG-GUID: pimoZX-fM-OI0pfZpqz4j8rlWHYHibnd X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-24_02,2026-09-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=0 clxscore=1015 priorityscore=1501 phishscore=0 adultscore=0 impostorscore=0 lowpriorityscore=0 bulkscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609240026 Document the Qualcomm IPQ9650 USB3 QMP PHY compatible. Use a standalone compatible because the IPQ9650 PHY has register configuration data that differs from the currently supported SoCs and should not fall back to an existing definition. Reviewed-by: Krzysztof Kozlowski Signed-off-by: Varadarajan Narayanan --- .../devicetree/bindings/phy/qcom,sc8280xp-qmp-usb3-uni-phy.yaml | = 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb3-u= ni-phy.yaml b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb3-= uni-phy.yaml index 01342823e57f..746c5a331f48 100644 --- a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb3-uni-phy.= yaml +++ b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb3-uni-phy.= yaml @@ -23,6 +23,7 @@ properties: - qcom,ipq6018-qmp-usb3-phy - qcom,ipq8074-qmp-usb3-phy - qcom,ipq9574-qmp-usb3-phy + - qcom,ipq9650-qmp-usb3-phy - qcom,msm8996-qmp-usb3-phy - qcom,qcs8300-qmp-usb3-uni-phy - qcom,qdu1000-qmp-usb3-uni-phy @@ -102,6 +103,7 @@ allOf: - qcom,ipq6018-qmp-usb3-phy - qcom,ipq8074-qmp-usb3-phy - qcom,ipq9574-qmp-usb3-phy + - qcom,ipq9650-qmp-usb3-phy - qcom,msm8996-qmp-usb3-phy - qcom,sdx55-qmp-usb3-uni-phy - qcom,sdx65-qmp-usb3-uni-phy --=20 2.34.1 From nobody Thu Sep 24 12:53:00 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B678B3F4DDB for ; Thu, 24 Sep 2026 06:10:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790230230; cv=none; b=siuR4cr9MIegqzO36M/ODmQ8xqYjkapzlNQwuv8VH+cWQxs/Pz6tVcEwZh2RpeOVOoajUiikPNfp8dokblt83J8C/2OFzI4uM+MLsbcSYY0q3sp4s4Cm/VKLS7z58c5Udq/TiWB2RGoP3OlTlF7rxr1kFYXE4RUEDo1p7DyKm4o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790230230; c=relaxed/simple; bh=r93Jb+RRci5KjslpMwSwutEV/c/USqhXg7qpdeh+1sU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Hl0gRq9RobJzkeiXAP8kZK1LKF1rdKL/Gx9ZArRXT4TNtoXxmeR3PhoIuJpYzlBFfNIA9h1G85/zEfR24TX1gev81Ycp3IY7mAHWLExqoo0qSjFv+QViTOkaOOt6GxKuEEwXhXputdTmX9OD1jBn7egsm5Bi6imZYzYUZJXFIuY= 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=bzZhDI07; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=im4U0WzZ; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="bzZhDI07"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="im4U0WzZ" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68O5e4SI567403 for ; Thu, 24 Sep 2026 06:10:28 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= jrWr4WEEoDxY2QpPfvYR+d27cAyfCi80wCzqnJN1qlI=; b=bzZhDI07zkIv0RJk KFVzL7qcXzsEHyoICLuGCy6ORCMhcccHjwrImh79sAxUta0mG1V0Baf5bSt6OVio xu03OP8xXgcbyP4zR1d543hyMai8mWFPR8T6stRKMBqSNfLUgJDnzXKY0of+/gvo dkORfrsKDIOLRdo7PpmxUL6AbwgapK5DR1VnbuTasG05P3lOxhHlc41xUYlRoCIR u2d/QiabYzSgxffonDOtwpqaMTSCkHbqiZ/PSGy6FXYtTbb3mMH9oYGiBllYZWgA SIqz7epK7FroP3Yt8Ct240LIgKtkWJWfAmeXqx/UCP3lv3ncVIeDPrMqYqAgi5MP Ug4u1A== Received: from mail-dl1-f69.google.com (mail-dl1-f69.google.com [74.125.82.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gvvgh8c71-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 24 Sep 2026 06:10:27 +0000 (GMT) Received: by mail-dl1-f69.google.com with SMTP id a92af1059eb24-1416f32fe11so2379219c88.0 for ; Wed, 23 Sep 2026 23:10:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1790230227; x=1790835027; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=jrWr4WEEoDxY2QpPfvYR+d27cAyfCi80wCzqnJN1qlI=; b=im4U0WzZ3UfI6dVAz61ijsASoJRg3+AKOGVxkF5nbhpKlpIB+Ugg2P0ajuLyt7JRPN 3x49c2iDH4k6AqigVmf40ML/0y2TsJ0QRQ66JGwXOh4+Jx6rq5HS8YmTOofj5t2C9xaq Ofese9RmKQY18bj7v1bri3MoanVI8AHW71i0dgZx2SBds3fr6kIu7ssdWq+MfJf5ojRZ vf9R2x+T7E5Zl0F+Ypj+0Kcau2US5nT3BGSQwhSw0VzYeifhWCvH06JmkC+pqdWoYslq OFetl33BcWuHEt4yX5XHHOU2GWC+vUgLT32v/DvqHFVgdhY5fd3Bp6m6mnoRrlpq46MY QIzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790230227; x=1790835027; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=jrWr4WEEoDxY2QpPfvYR+d27cAyfCi80wCzqnJN1qlI=; b=avD+ZNaK/EpgY6ihCZjUrmAxqvTG2U0bo5ktxTlnH9WLQzTEsEMBtGGTtkiqeIReHw IUsMeHf+oMMgXYniJqhE902tsg1FaGES7VAKz53mSfYQ58XjqV8vDdhYoHr+wLBQI5Ew cbXICsSTprgCGvSTv1dO2TY6RzX/DEvpcAxuYGDBTEMm+9q0HUz2mMA8RV5eh6/FlxSH 7QjITF2FwF9JLhaG9wJjRMyLsyBahaeSnp+qtRFmwxyQk4vOnAbLdUZ2aKNB52ZhGpLP R+MKjzjWBEZdYO95ob7dm+4FPJYT3kCzGp5uRdDAq4fk3CwXelbrEtgrYA+ejEEDkFov IUEQ== X-Forwarded-Encrypted: i=1; AKwUvBwjF/ED+QVi+XDMNdtI2VHy1ff9UU0UKVNcHCH5+IBBuXWJyhsxzw9uw2MLdPviOBNSyxQBqy6O9lYqVEY=@vger.kernel.org X-Gm-Message-State: AFuF++nVQ/B9BcANcTQA+ZxIOIQahVQr2CHbXucYx+YDMX7VUuaFL+x8 3W/va5W5/IyEN7bZw8Yh4r16wBjZEvTmsoQWP6Iv4hXCcidw/1LfK+tdUTjd/zslCPRA/nzpMN0 WxE3Cv0zjY8hGwXA9jp6wo+bqy35x0ClxbOmAbexBm/eK0VNdVe0TWrWqYJnfRi9z6M0= X-Gm-Gg: AYBFou3we8NNgFBaCL7Np0TbBqduFwMpXvYiJmPtUcVh0IwuWXKcLoXR6m+lhX1QQZa VRNsu2WMKXBshuA1MZmtLQ6zDAzAztSNwl0yTgAoWf+GmZBnQxRyQQSctG8xU5C8RykyAE1QLfB n8mrOW1JVlSQbjfKWDTFaHbm4pUgIBYc9pNW6huDn138e0EyLW1fCLLwrvEVxSbdjsccTMOwdY6 kiCk11VOpXdwaGHumCn+C9AljwhxnaX8Uxicq+sjhfHrUX4ziP3R62J6rZv9TEBa5TaTvkccFAd khjfl1fU13r3npR0HztqAr2pvADt1YPuatFGaXQn8GcEHVTevBTE4fZCHJKC+CLqXQYSSeZq45D 5+wIG++rds2IhatBZQRbDjRYSvbGXE1GUi3Gk1+iGeBjOudI2o3Gt9pSIo24IzkeVRBsXk+E9aF VyyZXH28bmw8FGdfMHkslUfY/BLRDU X-Received: by 2002:a05:7022:ec84:b0:144:eb46:be0 with SMTP id a92af1059eb24-14503fd2d16mr1503665c88.13.1790230227140; Wed, 23 Sep 2026 23:10:27 -0700 (PDT) X-Received: by 2002:a05:7022:ec84:b0:144:eb46:be0 with SMTP id a92af1059eb24-14503fd2d16mr1503643c88.13.1790230226604; Wed, 23 Sep 2026 23:10:26 -0700 (PDT) Received: from hu-varada-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-144f9895c1asm10197680c88.12.2026.09.23.23.10.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Sep 2026 23:10:26 -0700 (PDT) From: Varadarajan Narayanan Date: Thu, 24 Sep 2026 11:40:03 +0530 Subject: [PATCH v3 2/5] dt-bindings: phy: qcom,usb-snps-femto-v2: Add IPQ9650 compatible 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: <20260924-phy-v3-2-088e7be0cfaa@oss.qualcomm.com> References: <20260924-phy-v3-0-088e7be0cfaa@oss.qualcomm.com> In-Reply-To: <20260924-phy-v3-0-088e7be0cfaa@oss.qualcomm.com> To: Vinod Koul , Neil Armstrong , Manivannan Sadhasivam , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Wesley Cheng , Manu Gautam , Stephen Boyd , Philipp Zabel Cc: linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Varadarajan Narayanan , Krzysztof Kozlowski X-Mailer: b4 0.14.3 X-Authority-Analysis: v=2.4 cv=KYhHIgYD c=1 sm=1 tr=0 ts=6ab4bed3 cx=c_pps a=kVLUcbK0zfr7ocalXnG1qA==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=EUspDBNiAAAA:8 a=JwZr8aepJa0OdLIFGX0A:9 a=QEXdDO2ut3YA:10 a=vr4QvYf-bLy2KjpDp97w:22 X-Proofpoint-GUID: yoYDBv9g4IOnDm53Nh60j0yZ3juIYPf- X-Proofpoint-ORIG-GUID: yoYDBv9g4IOnDm53Nh60j0yZ3juIYPf- X-Proofpoint-Spam-Info: AW1haW4tMjYwOTI0MDAyNiBTYWx0ZWRfX2L5XAoHb03We UMPnSAivEIt9fuF7n5zYc3fVUnwJ+u5weQGKBTFvNu+WRBvmbOF/zjUg4c+dwOhwm4JwCg3t7uf TxPERGbRzuZxOxpvzVYie1J08AZuk7I= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTI0MDAyNiBTYWx0ZWRfX5DVkvRhQU7ga djyB9GTfrm55ObV9RHuv02q5a8FAAGIrtCO/UIpzayZZJZvPaiCQBQiiXKO5hqBNlN5eJCmZiyv GDgAjiDKAiCvy99vbh0FkR7ZCXz5hNuknBhonVXhxqEavE69U1rrV+7/RZRuFdWHGK71VKQwgnX nq4kbs3SwXj1ucBVKs3/zVeXwuBgDePP1DylSvZ1KYavJSQLz+78HzC2IOaP9hnJ+UcH6kpxMWQ HtwXoFSmvOXB7fZPPeAEbWMr92ceqJXRdvLM+V50WDAgkKe737Vau0TDx1rFPTbNEWS5gFLGjJ8 xKQ5uIorQWhkJIckbUQsuUC4zwhbCHgob4NQUDY16ulgFUz4WF6CidzoWpVJmyYjyYPu9WYyJkh Kg+UHLCnfqabp1Xb2M7fe+TyWsOVtjcRnnpWSWu47SqDe4L0MiRJ8ZG5Cye2H6BFFkUeepfzUES 5DziSfADEUidnNR5eJg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-24_02,2026-09-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 impostorscore=0 adultscore=0 lowpriorityscore=0 bulkscore=0 clxscore=1015 spamscore=0 suspectscore=0 phishscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609240026 Add qcom,ipq9650-usb-hs-phy to the list of supported compatibles. Unlike the existing SoCs, IPQ9650 does not share a generic "qcom,usb-snps-hs-*nm-phy" fallback, since it requires its own tuning/override sequence, so list it as a standalone entry. Reviewed-by: Krzysztof Kozlowski Signed-off-by: Varadarajan Narayanan --- Documentation/devicetree/bindings/phy/qcom,usb-snps-femto-v2.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/phy/qcom,usb-snps-femto-v2.y= aml b/Documentation/devicetree/bindings/phy/qcom,usb-snps-femto-v2.yaml index 661759b25064..db00f5a99d80 100644 --- a/Documentation/devicetree/bindings/phy/qcom,usb-snps-femto-v2.yaml +++ b/Documentation/devicetree/bindings/phy/qcom,usb-snps-femto-v2.yaml @@ -15,6 +15,8 @@ description: | properties: compatible: oneOf: + - enum: + - qcom,ipq9650-usb-hs-phy - items: - enum: - qcom,sa8775p-usb-hs-phy --=20 2.34.1 From nobody Thu Sep 24 12:53:00 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9C60F3932D9 for ; Thu, 24 Sep 2026 06:10:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790230236; cv=none; b=QshDYIBskOoYZIIKkTFXF+SGsCV/mwv0zHWIskhQi1YPC+CGUYf1buCnOyV4t8XLQh5P5WJreJUhfrBhJPiznJJwrt7rJLIxdr7WgPp7fhzliTFOUjV6dF0MGIK/lvchcouLvy7I3PnakZxZMY/xEkIR5eGLKwODEQ9FV1MZ6Nk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790230236; c=relaxed/simple; bh=4YaiRj0EruogM3vB6ar/BqOcXs5wxkMYrvnCtxPKVyo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=IzHgbqxusTtzjQ/QpxDosidSxLp/aXUZkLOlo65YMMRHlMSsc9Vuu/dev+QZrDSbs5XU8/HS5bXfIOVXxtuB0ea3ixgLakG3M92ImhvU5p8LT6caPMmdnDFXtEop6bPN65TMvDwQACVTXF/B43YJazT7Z1PuLyHcKx/gYRGx940= 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=ozwOpvG4; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Z4LBmu5m; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="ozwOpvG4"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Z4LBmu5m" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68O5eGFG2277216 for ; Thu, 24 Sep 2026 06:10: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= O4tnRt+BeNXcNiBvIio1lUad6y6QIIHL7crYNQLh6M0=; b=ozwOpvG4MLkdi46U vELvIOknLnl5FBe/v7PSs55pHCyIScp8kWceE51kBG8Z/wpk0UonIuodenxKKk7u wdqA1cv0nbVfviJr/YeWM6Cbt8zJt1edhlafblYf6zk7YNa5o0XY9RWU3lHDboDT JgBzPWPpNPZ9h8h1IXJh+w00Bl5SvjuJ1AVNwsU5a5WhKJ1SOrx0UfTBOq/ES/7g O5+xdPGDbERW5HCDZUZkdYgFS6NDfcYGFfHDoDaZCiHi8Rk+WphKdHTYAe6qEaKQ Du6aCSJGjV+iSx827kRNC9NzVty6lLZNZV+VG9LcEIuU+mB+dLYnsNIVrxjwwrc3 IqLrvw== Received: from mail-dl1-f69.google.com (mail-dl1-f69.google.com [74.125.82.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gvfjxuj60-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 24 Sep 2026 06:10:33 +0000 (GMT) Received: by mail-dl1-f69.google.com with SMTP id a92af1059eb24-143826c4a13so1717787c88.1 for ; Wed, 23 Sep 2026 23:10:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1790230233; x=1790835033; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=O4tnRt+BeNXcNiBvIio1lUad6y6QIIHL7crYNQLh6M0=; b=Z4LBmu5mJfhE+qBFI8rDE+eWGQc8MWLn7/gvGa1R1rvQMRFg1LkhY1Qjpe+JJ3qY4D qAYlcTM6+x8tBhGeU+aHesD4WhN4RpcgrxOBvLusI2l+aMMBn8EI0i0vexbG1DyZNiP5 Ktz5SRrHnnhTI1jhy22G8TSc2u49LGJHflhPw4TMfJRGASG1gccZkWPEPvneNw6UH6Qc sxJQ5AGehCJTTbCgQLbwOwvPad3BcbwWJV5luMLpR+0KY9EkaNZ4VL0jUvdTxI4RVTaz omW0t9rKT5VsdVrPiO58eDf+m9APIH5qItvX12S0SZat7cZJAdlulC3Ffonars6uPm/m XE5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790230233; x=1790835033; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=O4tnRt+BeNXcNiBvIio1lUad6y6QIIHL7crYNQLh6M0=; b=umpfS+3y2gvkqKusxYIXHLUruLJbn66cWDmT+yWJJ7lKxBiDuDRgMebhoVdxcT5CKa jhFgQnAnXNpFtmE5kkasMX4lNlkERVYALmPcU+ntEvGp62B8WW3vPPLsGjDMkQqdCOFc 4Jtz7pqyYxMUyycZWyeS03q+pOltYCyvkKYo5ZNwZuzBGg7PGdXvf8SOfauppDsaDt+7 L3jhtrZtWM5nn6rkniVsJSi3nxMFOKRprOgDMTDCrlOJJA6+iZIp+cUYSZKd26oFumUa Iiih4Qu3bkoWrfOHgSOhiP/4YaeM2QoILvNw8c8v7lWtAOg3fRozEzy3DYM8VwxwAREM x2nw== X-Forwarded-Encrypted: i=1; AKwUvBy6UECLMAeROw/i86HQl4xY1aqoECiHOxlKZLC/MpDAQ74Mx0PZKI70zo1pBY1GXxvzSpRfA/m2kwMaidU=@vger.kernel.org X-Gm-Message-State: AFuF++mqOl3iHyrp85ITVdLpiSrqVwM3noxMSWGItXI7W3ChUic3Bx7Y Y/ZfUlNTEGEptseh+LHw3bkERuCMvvT0c/JFtJEfK1k5L6jeUPu/hrgkU558JhVeqY0HOT+e9hB /wBbYuIjYL2lB+Ta5w7ZmhL3Kupx8Li+KE3Rrq592FdE3aDp+sRuZRJ+NHnLDiQY1WO4= X-Gm-Gg: AYBFou0vNmFXqvQaylt9RDnYwM/lANPiBT+kfGXmMjMCzCJeiij68ScFxNQOPtBM7mY AKYJYhn7zwBhNyLvL8178koRCi+EioKPtX17jZ3Ipr9lQ1stAvuLvtNgCqBeU0A4aRB0JFnsCAY t8KunYc2E94x4urmSwuchrfwxkBHtfUA1lGl7e+X3AvGk/TWYcr3f7Vz8Oii0ah/qI4v6EFkysO iPDffVtc4TQHdA6iPMP6kttnAWpTf+dRSeRdGlCYzpgX2EkMw9crHUCpug8wmjNEICM45ViApWi e+1HiFtecS3957Rfs8nag8Na/RWePiSZzphu/KA7+uZLLB1H9Dm9DCIn9ujkoVbxYzFKdXd7Do5 NCWJSGdtoFCCyyKenW/9eyPClHmm2CL4vvzhc/IxCeK6ahci33jKwIpJNfev8MCPZVqoHRcDNpN K1WRSN29nr06XzurFPI08tLVvSbfld X-Received: by 2002:a05:7023:a5c:20b0:144:fb87:5b91 with SMTP id a92af1059eb24-14503fee63amr1043961c88.44.1790230232617; Wed, 23 Sep 2026 23:10:32 -0700 (PDT) X-Received: by 2002:a05:7023:a5c:20b0:144:fb87:5b91 with SMTP id a92af1059eb24-14503fee63amr1043916c88.44.1790230231977; Wed, 23 Sep 2026 23:10:31 -0700 (PDT) Received: from hu-varada-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-144f9895c1asm10197680c88.12.2026.09.23.23.10.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Sep 2026 23:10:31 -0700 (PDT) From: Varadarajan Narayanan Date: Thu, 24 Sep 2026 11:40:04 +0530 Subject: [PATCH v3 3/5] phy: qcom: qmp-usb: Add IPQ9650 USB3 PHY configuration 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: <20260924-phy-v3-3-088e7be0cfaa@oss.qualcomm.com> References: <20260924-phy-v3-0-088e7be0cfaa@oss.qualcomm.com> In-Reply-To: <20260924-phy-v3-0-088e7be0cfaa@oss.qualcomm.com> To: Vinod Koul , Neil Armstrong , Manivannan Sadhasivam , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Wesley Cheng , Manu Gautam , Stephen Boyd , Philipp Zabel Cc: linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Varadarajan Narayanan , Abel Vesa X-Mailer: b4 0.14.3 X-Proofpoint-ORIG-GUID: 9tL-uczikuh59Trav3RUWaeQ575je3XC X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTI0MDAyNiBTYWx0ZWRfXwR3c8HnJq//n /3s1VoB9DEH6U84FC8t4TWmGfEO91jjGLQk3pN69V3TZunlDd8QTWnEPfoznPrRh7hKYH9Da7TQ 7X8DsN/nNQhYjbORJBxjciQCQ1NzJusnwNf5DLQwkDTepS3dn88z4DWXpSXDgDmK6kDQpspwx1G Bsq0b6HcnwbLxuo2oxvv7r0hLaRA/hWCEk6hiVWj3ZBFGLgCqYfg/gkZLhS6OHUXkbRHBpZbNW1 9EzSxZj75YOh9yAqBjI7pKtJUqBEY8qIjDxQ2FKzuyA2QgPm6fWHR6x53drqdxtLl7iCvmqOg0L xUmAeuKtK6+1VTZn8ytGRYjnRdOkPsC7NN35kq9/Jr1YdSBTC5ugGsbgs+RRv4D47CQ1/lrTyVp wcoIbj/RP4/3Nt5fFgBjPLPwoMvdk94E9PsDLwUwhzASsavwr7i5WKDZHHOajMUuv3FBpIf3Yn6 HIoiH36YZPG7S7TFnCw== X-Proofpoint-GUID: 9tL-uczikuh59Trav3RUWaeQ575je3XC X-Authority-Analysis: v=2.4 cv=NLpAaE6g c=1 sm=1 tr=0 ts=6ab4bed9 cx=c_pps a=kVLUcbK0zfr7ocalXnG1qA==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=EUspDBNiAAAA:8 a=1pfUWIqQpZhN5ooAS-4A:9 a=QEXdDO2ut3YA:10 a=vr4QvYf-bLy2KjpDp97w:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTI0MDAyNiBTYWx0ZWRfX/VOhEcANxbhm wO5OjaJ3UqLVC3gsrPYKTmBdwiEnnsByHmZJDRgTJbbIKgBD26nLhpCHtNg4U0lCD3UfAzMWT4d /PJociG849aNcpvgMGyaBjko6mWhvPU= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-24_02,2026-09-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 bulkscore=0 adultscore=0 suspectscore=0 priorityscore=1501 impostorscore=0 clxscore=1015 lowpriorityscore=0 malwarescore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609240026 Add the USB3 QMP PHY configuration for IPQ9650, including the SoC-specific init tables and compatible data. IPQ9650 uses settings that do not match any existing supported SoC, so add a dedicated configuration to allow the driver to support it. Reviewed-by: Abel Vesa Signed-off-by: Varadarajan Narayanan --- drivers/phy/qualcomm/phy-qcom-qmp-usb.c | 118 ++++++++++++++++++++++++++++= ++++ 1 file changed, 118 insertions(+) diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-usb.c b/drivers/phy/qualcomm= /phy-qcom-qmp-usb.c index b0790bcf0bc8..e772e1fa27cf 100644 --- a/drivers/phy/qualcomm/phy-qcom-qmp-usb.c +++ b/drivers/phy/qualcomm/phy-qcom-qmp-usb.c @@ -400,6 +400,101 @@ static const struct qmp_phy_init_tbl ipq8074_usb3_pcs= _tbl[] =3D { QMP_PHY_INIT_CFG(QPHY_V3_PCS_TXDEEMPH_M3P5DB_V0, 0x0f), }; =20 +static const struct qmp_phy_init_tbl ipq9650_usb3_serdes_tbl[] =3D { + QMP_PHY_INIT_CFG(QSERDES_V4_COM_PLL_IVCO, 0x0f), + QMP_PHY_INIT_CFG(QSERDES_V4_COM_SSC_EN_CENTER, 0x01), + QMP_PHY_INIT_CFG(QSERDES_V4_COM_SSC_PER1, 0x7d), + QMP_PHY_INIT_CFG(QSERDES_V4_COM_SSC_PER2, 0x01), + QMP_PHY_INIT_CFG(QSERDES_V4_COM_SSC_STEP_SIZE1_MODE0, 0x0a), + QMP_PHY_INIT_CFG(QSERDES_V4_COM_SSC_STEP_SIZE2_MODE0, 0x05), + QMP_PHY_INIT_CFG(QSERDES_V4_COM_SYSCLK_BUF_ENABLE, 0x0a), + QMP_PHY_INIT_CFG(QSERDES_V4_COM_CMN_IPTRIM, 0x20), + QMP_PHY_INIT_CFG(QSERDES_V4_COM_CP_CTRL_MODE0, 0x06), + QMP_PHY_INIT_CFG(QSERDES_V4_COM_PLL_RCTRL_MODE0, 0x16), + QMP_PHY_INIT_CFG(QSERDES_V4_COM_PLL_CCTRL_MODE0, 0x36), + QMP_PHY_INIT_CFG(QSERDES_V4_COM_SYSCLK_EN_SEL, 0x1a), + QMP_PHY_INIT_CFG(QSERDES_V4_COM_BG_TIMER, 0x0b), + QMP_PHY_INIT_CFG(QSERDES_V4_COM_LOCK_CMP_EN, 0x42), + QMP_PHY_INIT_CFG(QSERDES_V4_COM_LOCK_CMP1_MODE0, 0xd4), + QMP_PHY_INIT_CFG(QSERDES_V4_COM_LOCK_CMP2_MODE0, 0x14), + QMP_PHY_INIT_CFG(QSERDES_V4_COM_DEC_START_MODE0, 0x68), + QMP_PHY_INIT_CFG(QSERDES_V4_COM_DIV_FRAC_START1_MODE0, 0xab), + QMP_PHY_INIT_CFG(QSERDES_V4_COM_DIV_FRAC_START2_MODE0, 0xaa), + QMP_PHY_INIT_CFG(QSERDES_V4_COM_DIV_FRAC_START3_MODE0, 0x02), + QMP_PHY_INIT_CFG(QSERDES_V4_COM_VCO_TUNE_MAP, 0x00), + QMP_PHY_INIT_CFG(QSERDES_V4_COM_VCO_TUNE1_MODE0, 0x24), + QMP_PHY_INIT_CFG(QSERDES_V4_COM_VCO_TUNE2_MODE0, 0x02), + QMP_PHY_INIT_CFG(QSERDES_V4_COM_HSCLK_SEL, 0x01), + QMP_PHY_INIT_CFG(QSERDES_V4_COM_BIN_VCOCAL_CMP_CODE1_MODE0, 0xa2), + QMP_PHY_INIT_CFG(QSERDES_V4_COM_BIN_VCOCAL_CMP_CODE2_MODE0, 0x18), + QMP_PHY_INIT_CFG(QSERDES_V4_COM_BIN_VCOCAL_HSCLK_SEL, 0x01), +}; + +static const struct qmp_phy_init_tbl ipq9650_usb3_tx_tbl[] =3D { + QMP_PHY_INIT_CFG(QSERDES_V4_TX_RES_CODE_LANE_OFFSET_TX, 0x00), + QMP_PHY_INIT_CFG(QSERDES_V4_TX_RES_CODE_LANE_OFFSET_RX, 0x00), + QMP_PHY_INIT_CFG(QSERDES_V4_TX_LANE_MODE_1, 0xb5), + QMP_PHY_INIT_CFG(QSERDES_V4_TX_LANE_MODE_2, 0x02), + QMP_PHY_INIT_CFG(QSERDES_V4_TX_RCV_DETECT_LVL_2, 0x12), + QMP_PHY_INIT_CFG(QSERDES_V4_TX_PI_QEC_CTRL, 0x00), +}; + +static const struct qmp_phy_init_tbl ipq9650_usb3_rx_tbl[] =3D { + QMP_PHY_INIT_CFG(QSERDES_V4_RX_UCDR_FO_GAIN, 0x0a), + QMP_PHY_INIT_CFG(QSERDES_V4_RX_UCDR_SO_GAIN, 0x06), + QMP_PHY_INIT_CFG(QSERDES_V4_RX_UCDR_FASTLOCK_FO_GAIN, 0x0f), + QMP_PHY_INIT_CFG(QSERDES_V4_RX_UCDR_SO_SATURATION_AND_ENABLE, 0x7f), + QMP_PHY_INIT_CFG(QSERDES_V4_RX_UCDR_FASTLOCK_COUNT_LOW, 0xff), + QMP_PHY_INIT_CFG(QSERDES_V4_RX_UCDR_FASTLOCK_COUNT_HIGH, 0x0f), + QMP_PHY_INIT_CFG(QSERDES_V4_RX_UCDR_PI_CONTROLS, 0x99), + QMP_PHY_INIT_CFG(QSERDES_V4_RX_UCDR_SB2_THRESH1, 0x04), + QMP_PHY_INIT_CFG(QSERDES_V4_RX_UCDR_SB2_THRESH2, 0x08), + QMP_PHY_INIT_CFG(QSERDES_V4_RX_UCDR_SB2_GAIN1, 0x05), + QMP_PHY_INIT_CFG(QSERDES_V4_RX_UCDR_SB2_GAIN2, 0x05), + QMP_PHY_INIT_CFG(QSERDES_V4_RX_VGA_CAL_CNTRL1, 0x54), + QMP_PHY_INIT_CFG(QSERDES_V4_RX_VGA_CAL_CNTRL2, 0x0c), + QMP_PHY_INIT_CFG(QSERDES_V4_RX_GM_CAL, 0x11), + QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_EQU_ADAPTOR_CNTRL2, 0x0f), + QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_EQU_ADAPTOR_CNTRL3, 0x4a), + QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_EQU_ADAPTOR_CNTRL4, 0x0a), + QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_IDAC_TSETTLE_LOW, 0xc0), + QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_IDAC_TSETTLE_HIGH, 0x00), + QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_EQ_OFFSET_ADAPTOR_CNTRL1, 0x47), + QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_OFFSET_ADAPTOR_CNTRL2, 0x00), + QMP_PHY_INIT_CFG(QSERDES_V4_RX_SIGDET_CNTRL, 0x04), + QMP_PHY_INIT_CFG(QSERDES_V4_RX_SIGDET_DEGLITCH_CNTRL, 0x0e), + QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_MODE_01_LOW, 0xe4), + QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_MODE_01_HIGH, 0x64), + QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_MODE_01_HIGH2, 0xf6), + QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_MODE_01_HIGH3, 0x89), + QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_MODE_01_HIGH4, 0x35), + QMP_PHY_INIT_CFG(QSERDES_V4_RX_DFE_EN_TIMER, 0x04), + QMP_PHY_INIT_CFG(QSERDES_V4_RX_DFE_CTLE_POST_CAL_OFFSET, 0x38), + QMP_PHY_INIT_CFG(QSERDES_V4_RX_DCC_CTRL1, 0x0c), +}; + +static const struct qmp_phy_init_tbl ipq9650_usb3_pcs_tbl[] =3D { + QMP_PHY_INIT_CFG(QPHY_V4_PCS_RATE_SLEW_CNTRL1, 0x03), + QMP_PHY_INIT_CFG(QPHY_V4_PCS_LOCK_DETECT_CONFIG1, 0xd0), + QMP_PHY_INIT_CFG(QPHY_V4_PCS_LOCK_DETECT_CONFIG2, 0x07), + QMP_PHY_INIT_CFG(QPHY_V4_PCS_LOCK_DETECT_CONFIG3, 0x20), + QMP_PHY_INIT_CFG(QPHY_V4_PCS_LOCK_DETECT_CONFIG6, 0x13), + QMP_PHY_INIT_CFG(QPHY_V4_PCS_REFGEN_REQ_CONFIG1, 0x21), + QMP_PHY_INIT_CFG(QPHY_V4_PCS_RX_SIGDET_LVL, 0xaa), + QMP_PHY_INIT_CFG(QPHY_V4_PCS_RCVR_DTCT_DLY_P1U2_L, 0xe7), + QMP_PHY_INIT_CFG(QPHY_V4_PCS_RCVR_DTCT_DLY_P1U2_H, 0x03), + QMP_PHY_INIT_CFG(QPHY_V4_PCS_PCS_TX_RX_CONFIG, 0x0c), + QMP_PHY_INIT_CFG(QPHY_V4_PCS_FLL_CNTRL2, 0x83), + QMP_PHY_INIT_CFG(QPHY_V4_PCS_FLL_CNTRL1, 0x02), + QMP_PHY_INIT_CFG(QPHY_V4_PCS_FLL_CNT_VAL_L, 0x09), + QMP_PHY_INIT_CFG(QPHY_V4_PCS_FLL_CNT_VAL_H_TOL, 0xa2), + QMP_PHY_INIT_CFG(QPHY_V4_PCS_FLL_MAN_CODE, 0x40), +}; + +static const struct qmp_phy_init_tbl ipq9650_usb3_pcs_usb_tbl[] =3D { + QMP_PHY_INIT_CFG(QPHY_V4_PCS_USB3_LFPS_DET_HIGH_COUNT_VAL, 0xf8), +}; + static const struct qmp_phy_init_tbl msm8996_usb3_serdes_tbl[] =3D { QMP_PHY_INIT_CFG(QSERDES_V2_COM_SYSCLK_EN_SEL, 0x14), QMP_PHY_INIT_CFG(QSERDES_V2_COM_BIAS_EN_CLKBUFLR_EN, 0x08), @@ -1596,6 +1691,26 @@ static const struct qmp_phy_cfg ipq9574_usb3phy_cfg = =3D { .regs =3D qmp_v3_usb3phy_regs_layout, }; =20 +static const struct qmp_phy_cfg ipq9650_usb3phy_cfg =3D { + .offsets =3D &qmp_usb_offsets_v4, + + .serdes_tbl =3D ipq9650_usb3_serdes_tbl, + .serdes_tbl_num =3D ARRAY_SIZE(ipq9650_usb3_serdes_tbl), + .tx_tbl =3D ipq9650_usb3_tx_tbl, + .tx_tbl_num =3D ARRAY_SIZE(ipq9650_usb3_tx_tbl), + .rx_tbl =3D ipq9650_usb3_rx_tbl, + .rx_tbl_num =3D ARRAY_SIZE(ipq9650_usb3_rx_tbl), + .pcs_tbl =3D ipq9650_usb3_pcs_tbl, + .pcs_tbl_num =3D ARRAY_SIZE(ipq9650_usb3_pcs_tbl), + .pcs_usb_tbl =3D ipq9650_usb3_pcs_usb_tbl, + .pcs_usb_tbl_num =3D ARRAY_SIZE(ipq9650_usb3_pcs_usb_tbl), + .vreg_list =3D qmp_phy_vreg_l, + .num_vregs =3D ARRAY_SIZE(qmp_phy_vreg_l), + .regs =3D qmp_v4_usb3phy_regs_layout, + + .has_pwrdn_delay =3D true, +}; + static const struct qmp_phy_cfg msm8996_usb3phy_cfg =3D { .offsets =3D &qmp_usb_offsets_v3_msm8996, =20 @@ -2483,6 +2598,9 @@ static const struct of_device_id qmp_usb_of_match_tab= le[] =3D { }, { .compatible =3D "qcom,ipq9574-qmp-usb3-phy", .data =3D &ipq9574_usb3phy_cfg, + }, { + .compatible =3D "qcom,ipq9650-qmp-usb3-phy", + .data =3D &ipq9650_usb3phy_cfg, }, { .compatible =3D "qcom,msm8996-qmp-usb3-phy", .data =3D &msm8996_usb3phy_cfg, --=20 2.34.1 From nobody Thu Sep 24 12:53:00 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 5B3EA401A18 for ; Thu, 24 Sep 2026 06:10:40 +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=1790230242; cv=none; b=Zfu37LteaGa+uYQIwybaQBlW28nc0V4Slr0HxHF3RZ7pVksm0GEbWbGHXkCt6OpSNPPEbBqXuhIG4QmIvG4bt6L267El1ldEZ8xgQQ7gnCvCkENfIFzX5F+79n8XTB8iOHMyUfD9zhd5V49meD2pZkKehN1nfx8RuhzuE6PP9/g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790230242; c=relaxed/simple; bh=mFZMa7AsDuWFLglUJnP+YjUZySr/vnuKz/pWC+d41b4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=cVaCWd8H5jXO9gX1gX4NVDvAWXrn5pTjYB/FNR9JjsPEQW+Vw35CcxvjwS6vvgkjYIty4giTudcRTBFJImyj7zqiICyEftCg0LrXVJSbmWkH5DVmN9FC9qm7qxu2xYbvX82JoXrdFMwdFwzNFAD86b7iZbEORDQRIqkP2NvXGN4= 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=AaH6D2VS; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=FqfDascL; 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="AaH6D2VS"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="FqfDascL" 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 68O5eKJN1532371 for ; Thu, 24 Sep 2026 06:10:39 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= /aKERj8vOTgNopINdWRvI+TeRfCoisGCiNjo8nkQDqg=; b=AaH6D2VSBcI1/DT/ 6c3/2Evqd8/WFuiZ6mFHriVBrU721jrC+Ih9PeKs3WSQ+0SD7xEA8dgfGYMVLBTw r5fFaufh+2QXjnVVWX3PXom204MtQzW0J92KvBJa8NSBjJyAbpYCBg948QyVEtwN riFaFwJsss4oBAZWJPOd8r9SPPQIy0vD6r+oKa+qRtJOOBQYDY9rpizs7vBOmS+m MwEXZ5h0i7KUkSb/j8N2o3ylK3ZTMpgYUfA+ZErf9UFqfKjG1rE9RPki4IuhZ7BG +FGquIHQ2t+PkUOffKtaEPD3zPxrJ36cnZA8sb0v4KzFnMt/Q77XrE/BMon3ZsrH iw7eTQ== Received: from mail-dy1-f200.google.com (mail-dy1-f200.google.com [74.125.82.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gvsfgrxh8-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 24 Sep 2026 06:10:38 +0000 (GMT) Received: by mail-dy1-f200.google.com with SMTP id 5a478bee46e88-33f01b74124so517898eec.1 for ; Wed, 23 Sep 2026 23:10:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1790230238; x=1790835038; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=/aKERj8vOTgNopINdWRvI+TeRfCoisGCiNjo8nkQDqg=; b=FqfDascLYATRqGNcOF7wwlhlbtprTUm9ml219SIvZCJcw+8qaMOf3Sq0LzIQU1lAqR x6eoJ3FBZNqDGbCNgS/Q0Zql7nihm2UfpYutHFJ4IaI65o5zb8MM8b9OSP/zCYHLC+Xy +DhY5sHc9dfuYK2TKhFK4sx7FRGNVSlWMMJAdPyqajYe38Ipo25w3R/eiv4c/QmAyyX2 KdoYEFe8GhRE9WmbTvuVPkRJJJoy+fjJTBeUHeSrBSL5dt0R1e4U7xoy9DD3kodkH87x j40mgdCgk1NZ4f3AxP+JOE17WjXDQpEDNPcx4Ip5xPS63Pfn+voQTYt8OJhLpeg55oLO i9Qw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790230238; x=1790835038; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=/aKERj8vOTgNopINdWRvI+TeRfCoisGCiNjo8nkQDqg=; b=FigZILbigRThfGucTZ7NdtcCm5CKrkHQW8/rw+W9HXi9ja1O68qXFQu1zaRh5ZqdAM q9+piRaEifcq2SDpS+NOSB+I8o8E6WkRh/WFxwAQzhWDq1wWpmChhsgSp2+X9z4C4tVP jIj3TzRl6E8IzSAhUjGbUHwJETVOfeMrkdXSTYEAwsp0nCO0ym7olzO1Suw9eh+/VqlN DOicSThERO80DbOVrSUSGukynyDgiG6cQCIIO85RvSS/kU1eaSZ4quGGcMNBcdWJiJrX KtFf02lLqK28q/H+eQjQC+hcGWL7o5enwwQ0KEhwHwvZDRgZT6KUB8GJa9ZXLDerO7Af 6hew== X-Forwarded-Encrypted: i=1; AKwUvBy8QnEBBwQewOt1LQfSR+vR6W1ayHJmhhVANjf8d8ZmB5zOt73ZTbN7KlJks1Xmqj3MtJX8ycjvfsaMDzo=@vger.kernel.org X-Gm-Message-State: AFuF++mZuSTHB+mW84fNLmuXKkr7ee0vFe8x9SoaLyRJv9HXptT+9QQN 0aDaqaYfyRxb9HR28TP+EdF6+miBHZuf2nmi5gez2siLIVGBljZ0AGucsP51QzsvTzhmlrKSM5o 5Mh4qx8J3iGeFCz/oesdwQMwJm3kYA3ervS3IQz8noVMIzFELRCVjtejDOtNXI+9Pmk8= X-Gm-Gg: AYBFou2avzR91BpMjGaL9u94jFWwd/nJ1OelAL0rDOZVqSB+G0zt8ISGseNwtcZRS+m /gpxjypeso2kSJf+tQmdcnlf9ozDM/ePczFUrUTXBC19mAT8zMsGNULfBf31+9jk/jZCcWWatkg 4fRlsH16H37ckZXOv/BxEDR5Rrbv0Thp62Lhas98nJH37UekukVbWq642cqvCBpK+fxz6OTLylr qWFCTE7xKbK8J4nL/1Drc1Ynq8v/m5zZT/4FBzIqYoq0Iml+vAs0dqjDdZ0etdkTw3h2n5o7MLG IA6VMr6X6Ac7DtNwvOzPk9s0gfxYHcO8sPkXBBP9nGtVoVEcyCDbGky81RHIR6inWDxqMu70KKp Y9JWcaFLWai8raCei/Ec4+44EON3kFMvgTHS88A1vxYmkIx9pqBdAhXpXIF1oJtTt1mJZAhlsGj SFe0ihP4eL7A7NCa+Z0UI874PtWhKV X-Received: by 2002:a05:701a:ca87:b0:143:6328:2a93 with SMTP id a92af1059eb24-1450404d562mr983342c88.10.1790230237807; Wed, 23 Sep 2026 23:10:37 -0700 (PDT) X-Received: by 2002:a05:701a:ca87:b0:143:6328:2a93 with SMTP id a92af1059eb24-1450404d562mr983304c88.10.1790230237178; Wed, 23 Sep 2026 23:10:37 -0700 (PDT) Received: from hu-varada-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-144f9895c1asm10197680c88.12.2026.09.23.23.10.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Sep 2026 23:10:36 -0700 (PDT) From: Varadarajan Narayanan Date: Thu, 24 Sep 2026 11:40:05 +0530 Subject: [PATCH v3 4/5] phy: qcom: snps-femto-v2: Move PHY init registers to config tables 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: <20260924-phy-v3-4-088e7be0cfaa@oss.qualcomm.com> References: <20260924-phy-v3-0-088e7be0cfaa@oss.qualcomm.com> In-Reply-To: <20260924-phy-v3-0-088e7be0cfaa@oss.qualcomm.com> To: Vinod Koul , Neil Armstrong , Manivannan Sadhasivam , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Wesley Cheng , Manu Gautam , Stephen Boyd , Philipp Zabel Cc: linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Varadarajan Narayanan X-Mailer: b4 0.14.3 X-Authority-Analysis: v=2.4 cv=YfoodARf c=1 sm=1 tr=0 ts=6ab4bede cx=c_pps a=PfFC4Oe2JQzmKTvty2cRDw==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=EUspDBNiAAAA:8 a=dpbSYRCFOxhwq305YcMA:9 a=QEXdDO2ut3YA:10 a=6Ab_bkdmUrQuMsNx7PHu:22 X-Proofpoint-ORIG-GUID: YNWp6kPIe6ThiKo5zRzIZU9Itj97WpfL X-Proofpoint-GUID: YNWp6kPIe6ThiKo5zRzIZU9Itj97WpfL X-Proofpoint-Spam-Info: AW1haW4tMjYwOTI0MDAyNiBTYWx0ZWRfXw4r1hx4DWIWF NUbKKGNJ9CMfD2+DC53zyLYY2KHe/MyN/Jr+UYx0WElyp10hEAoxgD6MPtQfKit1nllmw424rZ+ 6EvUng2wu7nRJ7a58B52e5CTUEHbCHw= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTI0MDAyNiBTYWx0ZWRfX1WylY37B6r0e lfHEgBnBGjFaAz2T4BGoISiGbM4z2TICY51HLdaQmoRo2PZ0Y7/T09a0YfLhZkMc0lMTPB5/Hor oHrUlfucNpPAx8fQgn1Mj0eA3Y3gXV8eoD0FwOQayo6EvTz3nKEYv7w6uKOYLGxIznxfIJzLmjr MiGeBL9uGloQHVB7i38rKMfVRodKoOKEgMn3qIrm4KijQLkI6EO3aSLKtuxXxjB3yv4137t6MKz 5FxajV7P2OHkbzIfVhaqq+Wc6I68DdUmm9oSphwb9cCJjzu4JaQ5zKsKZL4L4XptsNs4+iLEVeX zqGbRlnbXtKFo86dxn1F3uCja+LkiAtot0LRJbYXf1Oa61Ecwegj9HfAMkPv/A4SLruhRzphLmP 7dUFgVwEFeAdfYtd3FOxIXNvVPm5v8qBIdEanyx42mNfGqb/oyPHZeVTZD2qJhPEIqABHYdLopb lD9Kf9KGr8mOV7jB85g== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-24_02,2026-09-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 clxscore=1015 lowpriorityscore=0 spamscore=0 priorityscore=1501 phishscore=0 adultscore=0 malwarescore=0 bulkscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609240026 The driver currently programs the common PHY register sequence directly in qcom_snps_hsphy_init(), with the fixed register writes split around the override parameter handling. This makes it hard to support SoCs that need a different sequence or different values. Move the fixed pre- and post-override register programming into per- compatible configuration tables, and keep the 7 nm override parameters in the same match-data structure. This allows the driver to share the common sequence while adding SoC-specific sequences for future platforms such as IPQ9650. Additionally, address the register bit field mask & value mixup for USB2_PHY_USB_PHY_REFCLK_CTRL in qcom_snps_hsphy_init() and USB2_AUTO_RESUME in qcom_snps_hsphy_suspend(). Fixes: 51e8114f80d07 ("phy: qcom-snps: Add SNPS USB PHY driver for QCOM bas= ed SOCs") Fixes: 0d75f508a9d56 ("phy: qcom-snps: Add runtime suspend and resume handl= ers") Signed-off-by: Varadarajan Narayanan --- drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c | 126 ++++++++++++++++------= ---- 1 file changed, 79 insertions(+), 47 deletions(-) diff --git a/drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c b/drivers/phy/qu= alcomm/phy-qcom-snps-femto-v2.c index 980ad1fb1e2e..b6bbf2b570c7 100644 --- a/drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c +++ b/drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c @@ -104,6 +104,20 @@ struct phy_override_seq { u8 mask; }; =20 +struct phy_reg_config { + u32 offset; + u32 mask; + u32 val; +}; + +struct phy_config_data { + const struct phy_reg_config *pre_tuning; + const struct override_param_map *override; + const struct phy_reg_config *post_tuning; + const u32 num_pre_tuning; + const u32 num_post_tuning; +}; + #define NUM_HSPHY_TUNING_PARAMS (9) =20 /** @@ -193,7 +207,7 @@ static int qcom_snps_hsphy_suspend(struct qcom_snps_hsp= hy *hsphy) usleep_range(500, 1000); qcom_snps_hsphy_write_mask(hsphy->base, USB2_PHY_USB_PHY_HS_PHY_CTRL2, - 0, USB2_AUTO_RESUME); + USB2_AUTO_RESUME, 0); } =20 return 0; @@ -383,13 +397,40 @@ static const struct override_param_map sc7280_snps_7n= m_phy[] =3D { {}, }; =20 +static const struct phy_reg_config hs_5nm_phy_pre_tuning[] =3D { + { USB2_PHY_USB_PHY_CFG0, UTMI_PHY_CMN_CTRL_OVERRIDE_EN, UTMI_PHY_CMN_CTRL= _OVERRIDE_EN }, + { USB2_PHY_USB_PHY_UTMI_CTRL5, POR, POR }, + { USB2_PHY_USB_PHY_HS_PHY_CTRL_COMMON0, FSEL_MASK, 0 }, + { USB2_PHY_USB_PHY_HS_PHY_CTRL_COMMON1, PLLBTUNE, PLLBTUNE }, + { USB2_PHY_USB_PHY_REFCLK_CTRL, REFCLK_SEL_MASK, REFCLK_SEL_DEFAULT }, + { USB2_PHY_USB_PHY_HS_PHY_CTRL_COMMON1, VBUSVLDEXTSEL0, VBUSVLDEXTSEL0 }, + { USB2_PHY_USB_PHY_HS_PHY_CTRL1, VBUSVLDEXT0, VBUSVLDEXT0 }, +}; + +static const struct phy_reg_config hs_5nm_phy_post_tuning[] =3D { + { USB2_PHY_USB_PHY_HS_PHY_CTRL_COMMON2, VREGBYPASS, VREGBYPASS }, + { USB2_PHY_USB_PHY_HS_PHY_CTRL2, USB2_SUSPEND_N_SEL | USB2_SUSPEND_N, + USB2_SUSPEND_N_SEL | USB2_SUSPEND_N }, + { USB2_PHY_USB_PHY_UTMI_CTRL0, SLEEPM, SLEEPM }, + { USB2_PHY_USB_PHY_HS_PHY_CTRL_COMMON0, SIDDQ, 0 }, + { USB2_PHY_USB_PHY_UTMI_CTRL5, POR, 0 }, + { USB2_PHY_USB_PHY_HS_PHY_CTRL2, USB2_SUSPEND_N_SEL, 0 }, + { USB2_PHY_USB_PHY_CFG0, UTMI_PHY_CMN_CTRL_OVERRIDE_EN, 0 }, +}; + static int qcom_snps_hsphy_init(struct phy *phy) { struct qcom_snps_hsphy *hsphy =3D phy_get_drvdata(phy); + const struct phy_config_data *data; + const struct phy_reg_config *tmp; int ret, i; =20 dev_vdbg(&phy->dev, "%s(): Initializing SNPS HS phy\n", __func__); =20 + data =3D of_device_get_match_data(hsphy->dev); + if (!data) + return -ENODEV; + ret =3D regulator_bulk_enable(ARRAY_SIZE(hsphy->vregs), hsphy->vregs); if (ret) return ret; @@ -414,24 +455,8 @@ static int qcom_snps_hsphy_init(struct phy *phy) goto disable_clks; } =20 - qcom_snps_hsphy_write_mask(hsphy->base, USB2_PHY_USB_PHY_CFG0, - UTMI_PHY_CMN_CTRL_OVERRIDE_EN, - UTMI_PHY_CMN_CTRL_OVERRIDE_EN); - qcom_snps_hsphy_write_mask(hsphy->base, USB2_PHY_USB_PHY_UTMI_CTRL5, - POR, POR); - qcom_snps_hsphy_write_mask(hsphy->base, - USB2_PHY_USB_PHY_HS_PHY_CTRL_COMMON0, - FSEL_MASK, 0); - qcom_snps_hsphy_write_mask(hsphy->base, - USB2_PHY_USB_PHY_HS_PHY_CTRL_COMMON1, - PLLBTUNE, PLLBTUNE); - qcom_snps_hsphy_write_mask(hsphy->base, USB2_PHY_USB_PHY_REFCLK_CTRL, - REFCLK_SEL_DEFAULT, REFCLK_SEL_MASK); - qcom_snps_hsphy_write_mask(hsphy->base, - USB2_PHY_USB_PHY_HS_PHY_CTRL_COMMON1, - VBUSVLDEXTSEL0, VBUSVLDEXTSEL0); - qcom_snps_hsphy_write_mask(hsphy->base, USB2_PHY_USB_PHY_HS_PHY_CTRL1, - VBUSVLDEXT0, VBUSVLDEXT0); + for (tmp =3D data->pre_tuning, i =3D 0; i < data->num_pre_tuning; i++, tm= p++) + qcom_snps_hsphy_write_mask(hsphy->base, tmp->offset, tmp->mask, tmp->val= ); =20 for (i =3D 0; i < ARRAY_SIZE(hsphy->update_seq_cfg); i++) { if (hsphy->update_seq_cfg[i].need_update) @@ -441,28 +466,8 @@ static int qcom_snps_hsphy_init(struct phy *phy) hsphy->update_seq_cfg[i].value); } =20 - qcom_snps_hsphy_write_mask(hsphy->base, - USB2_PHY_USB_PHY_HS_PHY_CTRL_COMMON2, - VREGBYPASS, VREGBYPASS); - - qcom_snps_hsphy_write_mask(hsphy->base, USB2_PHY_USB_PHY_HS_PHY_CTRL2, - USB2_SUSPEND_N_SEL | USB2_SUSPEND_N, - USB2_SUSPEND_N_SEL | USB2_SUSPEND_N); - - qcom_snps_hsphy_write_mask(hsphy->base, USB2_PHY_USB_PHY_UTMI_CTRL0, - SLEEPM, SLEEPM); - - qcom_snps_hsphy_write_mask(hsphy->base, USB2_PHY_USB_PHY_HS_PHY_CTRL_COMM= ON0, - SIDDQ, 0); - - qcom_snps_hsphy_write_mask(hsphy->base, USB2_PHY_USB_PHY_UTMI_CTRL5, - POR, 0); - - qcom_snps_hsphy_write_mask(hsphy->base, USB2_PHY_USB_PHY_HS_PHY_CTRL2, - USB2_SUSPEND_N_SEL, 0); - - qcom_snps_hsphy_write_mask(hsphy->base, USB2_PHY_USB_PHY_CFG0, - UTMI_PHY_CMN_CTRL_OVERRIDE_EN, 0); + for (tmp =3D data->post_tuning, i =3D 0; i < data->num_post_tuning; i++, = tmp++) + qcom_snps_hsphy_write_mask(hsphy->base, tmp->offset, tmp->mask, tmp->val= ); =20 hsphy->phy_initialized =3D true; =20 @@ -495,14 +500,38 @@ static const struct phy_ops qcom_snps_hsphy_gen_ops = =3D { .owner =3D THIS_MODULE, }; =20 +static const struct phy_config_data hs_5nm_phy =3D { + .pre_tuning =3D hs_5nm_phy_pre_tuning, + .num_pre_tuning =3D ARRAY_SIZE(hs_5nm_phy_pre_tuning), + .post_tuning =3D hs_5nm_phy_post_tuning, + .num_post_tuning =3D ARRAY_SIZE(hs_5nm_phy_post_tuning), +}; + +static const struct phy_config_data hs_7nm_phy =3D { + .pre_tuning =3D hs_5nm_phy_pre_tuning, + .num_pre_tuning =3D ARRAY_SIZE(hs_5nm_phy_pre_tuning), + .override =3D sc7280_snps_7nm_phy, + .post_tuning =3D hs_5nm_phy_post_tuning, + .num_post_tuning =3D ARRAY_SIZE(hs_5nm_phy_post_tuning), +}; + static const struct of_device_id qcom_snps_hsphy_of_match_table[] =3D { - { .compatible =3D "qcom,sm8150-usb-hs-phy", }, - { .compatible =3D "qcom,usb-snps-hs-5nm-phy", }, + { + .compatible =3D "qcom,sm8150-usb-hs-phy", + .data =3D &hs_5nm_phy, + }, + { + .compatible =3D "qcom,usb-snps-hs-5nm-phy", + .data =3D &hs_5nm_phy, + }, { .compatible =3D "qcom,usb-snps-hs-7nm-phy", - .data =3D &sc7280_snps_7nm_phy, + .data =3D &hs_7nm_phy, + }, + { + .compatible =3D "qcom,usb-snps-femto-v2-phy", + .data =3D &hs_5nm_phy, }, - { .compatible =3D "qcom,usb-snps-femto-v2-phy", }, { } }; MODULE_DEVICE_TABLE(of, qcom_snps_hsphy_of_match_table); @@ -541,11 +570,14 @@ static void qcom_snps_hsphy_read_override_param_seq(s= truct device *dev) s32 val; int ret, i; struct qcom_snps_hsphy *hsphy; - const struct override_param_map *cfg =3D of_device_get_match_data(dev); + const struct phy_config_data *data =3D of_device_get_match_data(dev); + const struct override_param_map *cfg; =20 - if (!cfg) + if (!data || !data->override) return; =20 + cfg =3D data->override; + hsphy =3D dev_get_drvdata(dev); =20 for (i =3D 0; cfg[i].prop_name !=3D NULL; i++) { --=20 2.34.1 From nobody Thu Sep 24 12:53:00 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 DF9A5403E9C for ; Thu, 24 Sep 2026 06:10:45 +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=1790230247; cv=none; b=oHjWD9G5WbCh/zm1COmVjNFcLX33P6ZL2tQf5Eq1fk77lYtSkokItKFxssUa7h2kyv9FLYhA/SuiwODapOfzCIsaAAFdA0jRp7Yf0tWRrbVqN45y5dS71xBUk527cN+YCuGhgjWoWYE+LyBB6ERnZAhsMlRlyLHg/S0xMr/Zq18= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790230247; c=relaxed/simple; bh=7ILArANYD5gi/Ol8mfS5svPlqqomUyThtypHtKuxdS8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=iMvz06lpGuck4duV91NwrwLrXhtFCMFw9jaahQur85cD3h0moU/DGBh25YmCOB11Uh2YccWZKaSrNiOEZvY7RWWM8w2/zrbSs0ZR3Bu0S4wa0MliJt25N+k/8wOrcmz9SGRQXZdg+SqTeTQxK6kyYqQFESxr1Rqf/fFY+oQjQwY= 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=YqxEbuE9; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=P26wnSl2; 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="YqxEbuE9"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="P26wnSl2" 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 68O5eXSv582582 for ; Thu, 24 Sep 2026 06:10:44 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= QT+YF61f5o/fn7STVpLg6IhJeyrRCRNijTHEH9W41Es=; b=YqxEbuE9KzaAGMk5 oxX3v9z/OMB4yhLcrRaiBoQrUIQ5kUYcReGc5tcXemKQ29rZ6UFEfK8KZLpq3CH6 k0TWYYJPyI+klV4CX0P28tyumwxlFed/76w0MKzV3LejtrxUpWGy+B8O3XVrV+lP qhMgdKSMJdZ2oSdZTArX3HVXuuF+V8u7VyTqdYapbIWAnpNMqyIbyfxY03yBtKlc o1zODpAKFmq7DCxnuA5Zm8gAVUtWl5AICd6pF5D2JoYzrvLFsWORjSrEyewZcLFD NkABBeRHHkTr/pz7ufdm2IMHQExow6NqUJMYfwYAsjRg2QtQhy8Q+H8vl6Ze0JVf 21uydg== Received: from mail-dl1-f72.google.com (mail-dl1-f72.google.com [74.125.82.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gvfmwkhum-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 24 Sep 2026 06:10:44 +0000 (GMT) Received: by mail-dl1-f72.google.com with SMTP id a92af1059eb24-1438492fb40so2680182c88.1 for ; Wed, 23 Sep 2026 23:10:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1790230243; x=1790835043; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=QT+YF61f5o/fn7STVpLg6IhJeyrRCRNijTHEH9W41Es=; b=P26wnSl20cf1MT9Bqd02swQefhO4Ht3IfyeP+YGioYhpnbW0g/VUZaPbcPZVUExyUP 61bz9mdJmfV22IUky5g1L88mpCI9aOlGvjjmG+bAwx7gW/GAlogxfIAcsXc+uvVOl3US X5ZZcS8aFGaYh3v1jWaYpO0O4lIXRn6lwF4cnojT4T34hfZfyvxy1GpqYrNSYPhqlpvj WgyoQ1A6yyY/L5tYxaFqAasOOsT2QHQn1ts2JrGx7xaL/YpQOpHviGbWBymwVRI4AG2G GzXzSkEai7zMn8gCqxLuIEc+sqhnF1O/X/G0CAsI8G7ZwrcVVIj7x+Lo78fa3xMsaCZ9 vZDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790230243; x=1790835043; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=QT+YF61f5o/fn7STVpLg6IhJeyrRCRNijTHEH9W41Es=; b=L7QrIiEbBY3Z38lRhogbzicvjGhq1RdH/FB9JbESlsbZvS7OMF7ZmC5mUKM40DWDBs f7RMj98kgJu/ok1F0Pmsbx/xqndmpSi4DNkL3uuSWRyll9legusowJQrwVxndeVxCD5g wtmAuuYtzCETRP3ki/IA3H6CtveOv3uBEt/D1DtjaH/1NXtq/VpGz7ZmUz2vzy1ADggr 80U/Bghv3+w7NsdsdpjlRCg2wdWUAcsdH7/hWYgc2L8AEdVzpVC7bed3fqeRZhHk349O E6UQzjx9geXAktjN5FgXEI9I9981RhwZGuD8CG7kBV31FVe/g78Qdx79MGIQjKwX0xV+ Qn6Q== X-Forwarded-Encrypted: i=1; AKwUvBzdkMJVxOGgI/gmnLPFun9koljZ0PJfwJQcvZ5UjSj7NEnauIo6Y+sVTNcSyie0ovzsHpAFYHEc5QKUkd4=@vger.kernel.org X-Gm-Message-State: AFuF++kx1p+0PT6NrK9zOMXKuqWiIg11X+RxSKhlV7FXnaMqEhVsmUwA JtURQ9ykeopDfi7/EPkHtVBYxN1emUxQa0G/g1V1KDz3fN5cLQTAOCYe2oylsDywa+yy+jmf8tJ fqkcmSN+uanKO+5aZA2wzh/8ZGqJoZCeQNjQjFaKDuHKz4m9rZw5MbT8r7tyylpbEUoU= X-Gm-Gg: AYBFou2ztia0ktJTJwLJNMXU0gbJYYyMTVmv8stsFj3QAupE6XRP8/X+NAOd9m5UaDP HTFdQ+UKB0B8kNQDy7BL8h13YTHe3cFJoiok4sPe7RQVs9WHAoc7EmNDo91ZFnLVW5WySPoQwsk djGm+tkdWyqKuSkCaEqIdoe7pfANBo2DecR6L2KCfZC3Cx6OW4RcDuxmu6hz+BX4pqkGqE2+LGO WqQXeUdoB8IEVD97vcEl5deZ1Tp4s3tCneYsIvllDYzaRrq2alm/0DPuojGJ0mDPxzm2Lye6kFe PBEHCy5jHiBP/la1g9l8ssl2RftPtzaci4eJWugDYv8fBizb9CDwX3UGkcoMbZsFMEnHDpRdXCx ldlkZcM+Ejso/ZGYuocKiMcaG47SJOlkzbVDKTD+ISzII6g29tRbAyCI2Du0HwLAfra2XVYtJwI Aosb/zxMIsByw6pj/cDFsM1/Jb3n3B X-Received: by 2002:a05:7022:7e05:b0:13f:ad08:44aa with SMTP id a92af1059eb24-1450404d6a9mr1131434c88.13.1790230243334; Wed, 23 Sep 2026 23:10:43 -0700 (PDT) X-Received: by 2002:a05:7022:7e05:b0:13f:ad08:44aa with SMTP id a92af1059eb24-1450404d6a9mr1131393c88.13.1790230242671; Wed, 23 Sep 2026 23:10:42 -0700 (PDT) Received: from hu-varada-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-144f9895c1asm10197680c88.12.2026.09.23.23.10.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Sep 2026 23:10:42 -0700 (PDT) From: Varadarajan Narayanan Date: Thu, 24 Sep 2026 11:40:06 +0530 Subject: [PATCH v3 5/5] phy: qcom: snps-femto-v2: Add IPQ9650 support 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: <20260924-phy-v3-5-088e7be0cfaa@oss.qualcomm.com> References: <20260924-phy-v3-0-088e7be0cfaa@oss.qualcomm.com> In-Reply-To: <20260924-phy-v3-0-088e7be0cfaa@oss.qualcomm.com> To: Vinod Koul , Neil Armstrong , Manivannan Sadhasivam , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Wesley Cheng , Manu Gautam , Stephen Boyd , Philipp Zabel Cc: linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Varadarajan Narayanan X-Mailer: b4 0.14.3 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTI0MDAyNiBTYWx0ZWRfX+c8FSNY2AEaX IzNVoK3qMV3OhXdwstg3AzxhMqAXkK81XplDOvUr/ink2xNvwKVIBc1gZ4GcWxRUOhhNGiEpfrH 1DSeGTiWwGCKlmc4jwvrCidi9HD1iO94vK8CSjt0Wx/chuZ/Tdmf8pv/aQIuOrnh6XOoeDpSyNH OvZpVSTZeBSPUGnfg7ktSR5jVI33uz6DgD+zoH7/GgZBWkul74sNZ7AOhTloNUe/spJV85tBV0F I4UypK1Er9GIT2EYTvbOG+9FxvnoPJvTFZSfEKo/wm3FLYGo0uAizkXlB7qeXaRT6fhQIw+A+Xr Ac8icGBBiBrXnIZlBN9vkhpCWyoIb6+zNtcs9OIjjdNR+n/H6nWPSeKzUGnaq6m2oUDwjsIHkWV S4itiylP1rom9BZ4oIbIf6OEsysdzFjfO7ACmfrDR2K8sbyYUSL3CSxo/6TyWcnWBa7uJqGr9D7 wFD8Q/CPjvHCiB8OdAA== X-Authority-Analysis: v=2.4 cv=WK/qzXsR c=1 sm=1 tr=0 ts=6ab4bee4 cx=c_pps a=bS7HVuBVfinNPG3f6cIo3Q==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=Q9t0gmS3rCGuRMBXcNQA:9 a=QEXdDO2ut3YA:10 a=vBUdepa8ALXHeOFLBtFW:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTI0MDAyNiBTYWx0ZWRfX73S50Oyj2v5a jdvkjabxAhJxJ8kRzKFSEh24aFcfoleBpj2HFVdC+ezvUPA5RYvz7gY0wp0GDJFvuohlnBTJi6F g4b77nncYUqCPt3CpsR83QqTN4lW8+g= X-Proofpoint-ORIG-GUID: CzU3b-0YyQ_VVgr5vJ6p7gLwTnlOXFTD X-Proofpoint-GUID: CzU3b-0YyQ_VVgr5vJ6p7gLwTnlOXFTD X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-24_02,2026-09-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 clxscore=1015 bulkscore=0 suspectscore=0 adultscore=0 priorityscore=1501 malwarescore=0 lowpriorityscore=0 impostorscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609240026 Add the 6 nm SNPS femto USB2 PHY configuration needed by IPQ9650. The PHYs on this SoC require a dedicated init sequence and override parameters before they can be enabled. Signed-off-by: Varadarajan Narayanan --- drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c | 62 +++++++++++++++++++++++= ++++ 1 file changed, 62 insertions(+) diff --git a/drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c b/drivers/phy/qu= alcomm/phy-qcom-snps-femto-v2.c index b6bbf2b570c7..8957f208bc51 100644 --- a/drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c +++ b/drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c @@ -29,12 +29,15 @@ =20 #define USB2_PHY_USB_PHY_UTMI_CTRL5 (0x50) #define POR BIT(1) +#define ATERESET BIT(0) =20 #define USB2_PHY_USB_PHY_HS_PHY_CTRL_COMMON0 (0x54) #define SIDDQ BIT(2) #define RETENABLEN BIT(3) #define FSEL_MASK GENMASK(6, 4) #define FSEL_DEFAULT (0x3 << 4) +#define FSEL_24MHZ (0x2 << 4) +#define VATESTENB_MASK GENMASK(1, 0) =20 #define USB2_PHY_USB_PHY_HS_PHY_CTRL_COMMON1 (0x58) #define VBUSVLDEXTSEL0 BIT(4) @@ -57,6 +60,13 @@ #define USB2_PHY_USB_PHY_HS_PHY_OVERRIDE_X3 (0x78) #define PARAM_OVRD_MASK 0xFF =20 +#define USB2_PHY_USB_PHY_HS_PHY_TEST0 0x80 +#define TESTDATAIN_MASK GENMASK(7, 0) + +#define USB2_PHY_USB_PHY_HS_PHY_TEST1 0x84 +#define TESTDATAOUTSEL BIT(4) +#define TESTCLK BIT(6) + #define USB2_PHY_USB_PHY_CFG0 (0x94) #define UTMI_PHY_DATAPATH_CTRL_OVERRIDE_EN BIT(0) #define UTMI_PHY_CMN_CTRL_OVERRIDE_EN BIT(1) @@ -78,6 +88,9 @@ =20 #define LS_FS_OUTPUT_IMPEDANCE_MASK GENMASK(3, 0) =20 +#define USB2_PHY_USB_PHY_FSEL_SEL 0xb8 +#define FSEL_SEL BIT(0) + static const char * const qcom_snps_hsphy_vreg_names[] =3D { "vdda-pll", "vdda33", "vdda18", }; @@ -330,6 +343,17 @@ static const struct override_param ls_fs_output_impeda= nce_sc7280[] =3D { { 1310, 0 }, }; =20 +static const struct override_param_map ipq9650_snps_6nm_phy[] =3D { + { + "qcom,pre-emphasis-amplitude-bp", + preemphasis_amplitude_sc7280, + ARRAY_SIZE(preemphasis_amplitude_sc7280), + USB2_PHY_USB_PHY_HS_PHY_OVERRIDE_X1, + PREEMPHASIS_AMPLITUDE_MASK, + }, + {}, +}; + static const struct override_param_map sc7280_snps_7nm_phy[] =3D { { "qcom,hs-disconnect-bp", @@ -418,6 +442,32 @@ static const struct phy_reg_config hs_5nm_phy_post_tun= ing[] =3D { { USB2_PHY_USB_PHY_CFG0, UTMI_PHY_CMN_CTRL_OVERRIDE_EN, 0 }, }; =20 +static const struct phy_reg_config hs_6nm_phy_pre_tuning[] =3D { + { USB2_PHY_USB_PHY_CFG0, UTMI_PHY_CMN_CTRL_OVERRIDE_EN, UTMI_PHY_CMN_CTRL= _OVERRIDE_EN }, + { USB2_PHY_USB_PHY_UTMI_CTRL5, POR, POR }, + { USB2_PHY_USB_PHY_FSEL_SEL, FSEL_SEL, FSEL_SEL }, + { USB2_PHY_USB_PHY_HS_PHY_CTRL_COMMON0, FSEL_MASK, FSEL_24MHZ }, + { USB2_PHY_USB_PHY_HS_PHY_CTRL_COMMON1, PLLBTUNE, PLLBTUNE }, + { USB2_PHY_USB_PHY_REFCLK_CTRL, REFCLK_SEL_MASK, REFCLK_SEL_DEFAULT }, + { USB2_PHY_USB_PHY_HS_PHY_CTRL_COMMON1, VBUSVLDEXTSEL0, VBUSVLDEXTSEL0 }, + { USB2_PHY_USB_PHY_HS_PHY_CTRL1, VBUSVLDEXT0, VBUSVLDEXT0 }, +}; + +static const struct phy_reg_config hs_6nm_phy_post_tuning[] =3D { + { USB2_PHY_USB_PHY_HS_PHY_CTRL_COMMON2, VREGBYPASS, VREGBYPASS }, + { USB2_PHY_USB_PHY_UTMI_CTRL5, ATERESET, 0 }, + { USB2_PHY_USB_PHY_HS_PHY_TEST1, TESTDATAOUTSEL, 0 }, + { USB2_PHY_USB_PHY_HS_PHY_TEST1, TESTCLK, 0 }, + { USB2_PHY_USB_PHY_HS_PHY_CTRL_COMMON0, VATESTENB_MASK, 0 }, + { USB2_PHY_USB_PHY_HS_PHY_TEST0, TESTDATAIN_MASK, 0 }, + { USB2_PHY_USB_PHY_HS_PHY_CTRL2, USB2_SUSPEND_N_SEL | USB2_SUSPEND_N, + USB2_SUSPEND_N_SEL | USB2_SUSPEND_N }, + { USB2_PHY_USB_PHY_UTMI_CTRL0, SLEEPM, SLEEPM }, + { USB2_PHY_USB_PHY_UTMI_CTRL5, POR, 0 }, + { USB2_PHY_USB_PHY_HS_PHY_CTRL2, USB2_SUSPEND_N_SEL, 0 }, + { USB2_PHY_USB_PHY_CFG0, UTMI_PHY_CMN_CTRL_OVERRIDE_EN, 0 }, +}; + static int qcom_snps_hsphy_init(struct phy *phy) { struct qcom_snps_hsphy *hsphy =3D phy_get_drvdata(phy); @@ -507,6 +557,14 @@ static const struct phy_config_data hs_5nm_phy =3D { .num_post_tuning =3D ARRAY_SIZE(hs_5nm_phy_post_tuning), }; =20 +static const struct phy_config_data hs_6nm_phy =3D { + .pre_tuning =3D hs_6nm_phy_pre_tuning, + .num_pre_tuning =3D ARRAY_SIZE(hs_6nm_phy_pre_tuning), + .override =3D ipq9650_snps_6nm_phy, + .post_tuning =3D hs_6nm_phy_post_tuning, + .num_post_tuning =3D ARRAY_SIZE(hs_6nm_phy_post_tuning), +}; + static const struct phy_config_data hs_7nm_phy =3D { .pre_tuning =3D hs_5nm_phy_pre_tuning, .num_pre_tuning =3D ARRAY_SIZE(hs_5nm_phy_pre_tuning), @@ -524,6 +582,10 @@ static const struct of_device_id qcom_snps_hsphy_of_ma= tch_table[] =3D { .compatible =3D "qcom,usb-snps-hs-5nm-phy", .data =3D &hs_5nm_phy, }, + { + .compatible =3D "qcom,ipq9650-usb-hs-phy", + .data =3D &hs_6nm_phy, + }, { .compatible =3D "qcom,usb-snps-hs-7nm-phy", .data =3D &hs_7nm_phy, --=20 2.34.1