From nobody Thu Oct 2 20:25:52 2025 Received: from mail-ej1-f45.google.com (mail-ej1-f45.google.com [209.85.218.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8EF36342CB4 for ; Thu, 11 Sep 2025 14:45:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757601947; cv=none; b=kgqUFXPHhrh5Mgx6IKfGXWeYRmwwS0pkMNiPKEpR3a9ylTfAjpeF/TvHHfH4k9oEbfWeGy+mb8zzKOqXfiymK0g7VffZc1Xhsb3FB56sQtDlpwJ5NTu7Of5NxWnKyMRwRhx2c8GOf0/JyuCZ61jkvpGySM5Jbx8fgKt0dSRrUmk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757601947; c=relaxed/simple; bh=03YskNZLKf8OhvkKpOjLnPHFdGEAsbxR+ROwyIo2lLQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LGiA9aKpmrpkNHpPJT6w0QDeernpRhI+ZoeXEcG/5OEmIJ17WDBHKAKV8U8YlJWE3pCy7pvWXiKJw9OtdGFlHmPzC+1QxvYD7cjvRSDL84XLNS/6nAi9vbRdMtMwcirBrIaghZxrukRxDbdpqLzNJ96P3WCW04UMqvvLJs0e78Y= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=HyUkSf5y; arc=none smtp.client-ip=209.85.218.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="HyUkSf5y" Received: by mail-ej1-f45.google.com with SMTP id a640c23a62f3a-b078aabeb9fso133018666b.1 for ; Thu, 11 Sep 2025 07:45:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1757601944; x=1758206744; 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=TmaovmcheFOmFnp07VWNh+ByfgZPGvN3Mt5j2vCPIc0=; b=HyUkSf5yzHGNNcQr2xsccSOQygQc4M3hiB3CygSqa+LzQJo1ScEa6EVlso+kkRs4Hs YoqKGwqKtr127x1KU+pRKtHwGRjZjKNZxZKJIRw+OnjcoiWl40/zjwEa321h27GdAklS o+ZVKf5CgVP4360f4fNnFqBGdgNdCzDznaXLXBVGO1wEcWKNw1yUQYLpD14epanv2+8J UFmWLFWbOQNlFDjfiR4B7FbkRe70XbHVg9AHqNVfHlFk29pdjvj4OkQKURJRunUVMKe2 9lOInqAPNoVsnDGXWp4NxdqJl8Ocb4mPmYSlEqv2VX+aJjfHm55aTPyMt1agTiiENwm8 2nbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757601944; x=1758206744; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TmaovmcheFOmFnp07VWNh+ByfgZPGvN3Mt5j2vCPIc0=; b=PhUq6WvjD0nTH4l23SyWOEOoaxEDXP7i/HUZJw58lpuQnYhNtda0zuyn+YhWR8APhO XIRsbpXrC+RcJia07sAvKNoC7PG5B5G9GUdyz2NJVu9ewAWldouexuaIl8ArKiq/ydiA 5yNaFkzi8Y3k//Pl99C+H+fdjNOepD/8v695hszp3KPYbjjQGP5gWTC1B5+OSQUHoQJP OsbT78MTz/+2zeSTPWBGx60iTsknNEmwYhX6B1e6k9pnbVv2VG4YWW8FK+8os+p6gPP6 9gHS3ZwemTEqgQf7N8T1x3XGktgsN+gmzsUq9wdVcOu46l74X16wsTP+c1gncw5WZTWT FvoA== X-Forwarded-Encrypted: i=1; AJvYcCV5wmgvz0BTL+2nGMDSOgcYiuMJDRgDKxHXjtgfxcukAIx154DHbPaO6Ne+JNzrKklSiE3dpg1N+YGINbY=@vger.kernel.org X-Gm-Message-State: AOJu0YxIQd9WjG1Zha/YxmlYFRTI4FM1JljaIkBYQinWIpfr7pYt3YxI Ubup7hm+odAoyP7dI7fvY6yuKrjgJhLMO11bEwdBkM+/qXIaQZGfq5t4KJUM7dhliis= X-Gm-Gg: ASbGncuE2TyIHKeC9Nhouhd+l1KWiDmGnFvPNxGcuYACOyPcdy1aIFt5ktlsL3X3GgO wqyy4tIQOe110UAzhld0TnoRo1RIeOlAaEDnM3jwRP9SuxoD/dP7F8WnZxrDh1FeUCS/GeDPbPq Q3WGTChlvvVfdMfAK1VjrdezG0zhKuODrSpl8/brK9eVAJAV6GyjMmfiAReLDzQ61wvJtqXc9I8 hK1Ex3NmKM0P/jk3zfRY2JLS+pZSOr0/R5DC9mimFnEOlxeJbxIJyxyB7MJ0IvLvImXVPwd+Aba iQtF2hnTQgcn/y2TOWwUldh+eC+SfX3QFDbac1lHBMBlQeSTSVmExq1JhGuqqINVAqFoG68YonM HW3NifXMXiN2JYYslT9TxFnrVIuii58ar6btEwd0Z96FI X-Google-Smtp-Source: AGHT+IEMGu3GJ/3a4WGqg/zWMK0hDQtQmJ6Iryn3J3JjlXUMGe4FLDan/R6dvlN1OT4FB+YPOlnyAA== X-Received: by 2002:a17:907:c921:b0:b07:8894:35 with SMTP id a640c23a62f3a-b078894027amr514662266b.27.1757601943851; Thu, 11 Sep 2025 07:45:43 -0700 (PDT) Received: from hackbox.lan ([86.121.170.194]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b07b31282e7sm147196266b.23.2025.09.11.07.45.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Sep 2025 07:45:43 -0700 (PDT) From: Abel Vesa Date: Thu, 11 Sep 2025 17:45:22 +0300 Subject: [PATCH v3 1/4] dt-bindings: phy: Add DP PHY compatible for Glymur 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: <20250911-phy-qcom-edp-add-glymur-support-v3-1-1c8514313a16@linaro.org> References: <20250911-phy-qcom-edp-add-glymur-support-v3-0-1c8514313a16@linaro.org> In-Reply-To: <20250911-phy-qcom-edp-add-glymur-support-v3-0-1c8514313a16@linaro.org> To: Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Dmitry Baryshkov , Konrad Dybcio , Neil Armstrong Cc: Johan Hovold , linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Abel Vesa X-Mailer: b4 0.15-dev-dedf8 X-Developer-Signature: v=1; a=openpgp-sha256; l=1120; i=abel.vesa@linaro.org; h=from:subject:message-id; bh=03YskNZLKf8OhvkKpOjLnPHFdGEAsbxR+ROwyIo2lLQ=; b=owEBbQKS/ZANAwAKARtfRMkAlRVWAcsmYgBowuCPnspwHKIZuOZw7Vc7dqO/VRg7HNsBadaLS qe4sALclxiJAjMEAAEKAB0WIQRO8+4RTnqPKsqn0bgbX0TJAJUVVgUCaMLgjwAKCRAbX0TJAJUV VpOkEACEGvJeUaLnixFnmTZWS2Ex+hDrx0G1njopKGtlFM+swtrbL9z9C8aHLYwt3nkiYXPzccC KslQ6dBsuW+6pEVYHKKTehDjjfSIlVF/KZIB1M10pY8iuA9lnZpUbGBggnFHsBRdB+VmxxkBXzX U9eCcuGiA0myD42WScdZoEhmnyfeWACSURsWJFm35IsHtYbYSZAzPeYO6E0wxrwUaqLlQ5fYQ+V SQFrgaJIczJOWymcybAgOG+fiD9JvPVwiyVHOeKwAe/dQ8Kcy3dpyUHNBqel9lCVUn2O6VLzwRR eKdWt7g23lrqxmR1V1XFRvnVrrOVG7nWZBVbrEeOVDwDqbBL/cNdoCaOS1qsQC5/5LNC/X2whpQ 9i6eYETZvZ4hnWCq0lmZZ54z3cyFD0yxxmUt+Gl03HffHOO14H5TEG2oyXf9v1DAkOHq7QfuSis tRs9a/7pjs+NW7DjXFUIKsf89EjIjDlqO5r9G6xmcowKWipR7RCEB5LLYrhyPZ6OYXY0W09KA1+ OSeugCXy9dFO+ClUKaZ9dKcHn+t0v8y8YSF15A4tlv1+yzxeO5b9BZ+nMmFI7l6Jx6gDILrKWK6 mXj2LcOHAp+TdAUSmbJ7M7qd0cKeUPB4r3uVrLQd5Jp4Ok3yzdwsrBo7hLBbON6Al9Ge0MFRSeI WiuQxRrlECuGOGA== X-Developer-Key: i=abel.vesa@linaro.org; a=openpgp; fpr=6AFF162D57F4223A8770EF5AF7BF214136F41FAE The Glymur platform is the first one to use the eDP PHY version 8. This makes it incompatible with any of the earlier platforms and therefore requires a dedicated compatible. So document it. Signed-off-by: Abel Vesa Acked-by: Rob Herring (Arm) --- Documentation/devicetree/bindings/phy/qcom,edp-phy.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/phy/qcom,edp-phy.yaml b/Docu= mentation/devicetree/bindings/phy/qcom,edp-phy.yaml index bfc4d75f50ff9e31981fe602478f28320545e52b..4a1daae3d8d47ca5f08d97a1864= cfd615dcf108d 100644 --- a/Documentation/devicetree/bindings/phy/qcom,edp-phy.yaml +++ b/Documentation/devicetree/bindings/phy/qcom,edp-phy.yaml @@ -18,6 +18,7 @@ properties: compatible: oneOf: - enum: + - qcom,glymur-dp-phy - qcom,sa8775p-edp-phy - qcom,sc7280-edp-phy - qcom,sc8180x-edp-phy @@ -72,6 +73,7 @@ allOf: properties: compatible: enum: + - qcom,glymur-dp-phy - qcom,x1e80100-dp-phy then: properties: --=20 2.45.2 From nobody Thu Oct 2 20:25:52 2025 Received: from mail-ej1-f43.google.com (mail-ej1-f43.google.com [209.85.218.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DBD2031353F for ; Thu, 11 Sep 2025 14:45:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757601951; cv=none; b=r17hESN5itXLoopoq2QKOalv7WFzbVooYHOdfgvm0VN56OiKkVP/vzmrFijwE9QIl1S+zND5MJJaghmre2DOTASQ1OQ5RuC4Mw5/85mfMh+gvaKi9q2imTmQn4eTrvmmqB299a7yR1keIueA/3ZX4OFOHwlI/ftqxanpJAdwF8Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757601951; c=relaxed/simple; bh=prBRws9AKyD86wZTW+eWIKYLz5knWj5rzAD98i9R9I0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=g1YbcZOQqAVQX8ZPujmfheyvtu7jDk1LdXacB3+3wBd9iJfBkJaW9L7tTWzdJEpka9rgPAjELxJkVaFTIVSoBRK8RdIZxlteCsjWuEc5viNihRb3TUU2UyLhQIqmbbH2OTDnVWKXCiFOTmUZqwpzuUigFShS3JuUhbBn1MMjuFY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=iCAi32+m; arc=none smtp.client-ip=209.85.218.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="iCAi32+m" Received: by mail-ej1-f43.google.com with SMTP id a640c23a62f3a-afcb7a16441so124929866b.2 for ; Thu, 11 Sep 2025 07:45:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1757601948; x=1758206748; 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=ZvfZ8Qsgh+4iuPHesI9UycLWEQBcekeYQGNlzH84XAw=; b=iCAi32+m6hlKIZMXZujhlcfVaCuyNVbLvU7dXIFdbasBsPImAHLDPoQMWp686rIpks 1D7ts7dFA+pjLm41wuQFb1sxkusmk892joqeOp7nWDCjwblBUDbFPghosneOLURJcVHJ t08qtXfcr0viEynvtQaiBMGiV6FbEM19tCrByVhQ3J/Oec7Yj9XrEWgZYQ2CMEP+H5pO X5w+PraxAJoGj3ufPzm/9NdVUbaSs6gXahA28V9lUeaGJssNm/8Stch9eMXj874P9OqV yE1hAj5sThoQrxsRIxRxDYaFkorqY5KzXnIMonWfaEJzFMG6zEPqALf3BqyS8YDyWgwp qypA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757601948; x=1758206748; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZvfZ8Qsgh+4iuPHesI9UycLWEQBcekeYQGNlzH84XAw=; b=ZmZJCR3gn/JlAcgDgwRKFs9f3hMTap1yYWQaoG8UFlDf/5TKeKZwF387BP1ebmcNaC K2XZOE9YyPetYTCdq0kSuK2lJbiNLZ58tWSx0rr8CzNbqsBmpDv3Z/wvV+pT1hAij98s Bvh+Jnt06XGL14QgyT78TE2o1RySkAZZQeV9k0Q7+J8QI0+YrrHZ7WefTOv1pN7Xag5j vHFakXnfs3V1ZhL+3aY9S5U8uDM29mVdIIdk63tYd9x2uV6f8jmKVIUCzRLT4DyqcBR0 AL3PTjAo5nKWceO1ubsg6jhE0bpesaKZFuEwDavmabiCYp9As6huMSKQiMvupoTlrniA 6XwQ== X-Forwarded-Encrypted: i=1; AJvYcCUYPfKvGMGJ44qYBN+cMbxd4qQFlMhQNwxkrGl0JRsghRADmcSVCezGAukri8PVdttpA7VDejQq0o3smpE=@vger.kernel.org X-Gm-Message-State: AOJu0Yxyngvca6Kn5jB20ceMmCY1zwbExQ58RskTvGCAg1UkVT8JwM+x /qZ3jvlsHZYJhxwg3n15Sr3qccXjH7rTQ5Tj9uJ/kchzG0/hFWiLOFeEtwNTtvvIkG4= X-Gm-Gg: ASbGncvnx3hbXJ4Dw+9b6MqYBna68fYmnPdumkNUbr72sOUnrza5qzaU6bXO5Qg1vjH 0n4aXtt++8jVnB86NQQtAR7SQjA1x2lJjoX4gM27cLGhM5SCUA1NNMKKEQ8EF1LSOZQB1jOOyNT erpUlQm5eDnNh9aEGwB9ZPF79WkkL7We/wqNZwxvVo2wbbVsGDLxt2ViK+IbqT6nxiKAu+ka7Hv dqnH2qKqM1PviQvTCBUP3zHNBOlgcKYQIsL8lRoPulg7Q82qh0FRaCro6aUDtEz+Ip3swf0eAXO 3BCSU/MRETVoWmSMiyy+471ZCPy+JMHFHG6XSHBsPsF4lkKXNBi5U+nVz3PZM/PVUgZ2vJeSepz KjsVIifVAfe/EQ+7I28D4V/Q= X-Google-Smtp-Source: AGHT+IHGnXEifVquqv/KZPf9m6Jh8pdEXvXherPbOAmrvLY1GZz5C+RIz5Z2dfGTZ2NzWEPIu90quA== X-Received: by 2002:a17:907:72d2:b0:b04:24b1:83ed with SMTP id a640c23a62f3a-b04b14e274amr2268211266b.27.1757601945489; Thu, 11 Sep 2025 07:45:45 -0700 (PDT) Received: from hackbox.lan ([86.121.170.194]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b07b31282e7sm147196266b.23.2025.09.11.07.45.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Sep 2025 07:45:44 -0700 (PDT) From: Abel Vesa Date: Thu, 11 Sep 2025 17:45:23 +0300 Subject: [PATCH v3 2/4] phy: qcom: edp: Fix the DP_PHY_AUX_CFG registers count 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: <20250911-phy-qcom-edp-add-glymur-support-v3-2-1c8514313a16@linaro.org> References: <20250911-phy-qcom-edp-add-glymur-support-v3-0-1c8514313a16@linaro.org> In-Reply-To: <20250911-phy-qcom-edp-add-glymur-support-v3-0-1c8514313a16@linaro.org> To: Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Dmitry Baryshkov , Konrad Dybcio , Neil Armstrong Cc: Johan Hovold , linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Abel Vesa X-Mailer: b4 0.15-dev-dedf8 X-Developer-Signature: v=1; a=openpgp-sha256; l=1186; i=abel.vesa@linaro.org; h=from:subject:message-id; bh=prBRws9AKyD86wZTW+eWIKYLz5knWj5rzAD98i9R9I0=; b=owEBbQKS/ZANAwAKARtfRMkAlRVWAcsmYgBowuCQPM+Rd9X5/h99qNDUNk50u0Miuhv61KVFv qAuYfAscYKJAjMEAAEKAB0WIQRO8+4RTnqPKsqn0bgbX0TJAJUVVgUCaMLgkAAKCRAbX0TJAJUV VsYLD/wJga5xVmz5zQrZUWdEoATC/hv+sJzmIYC/96casS6hAXEDgHBUZ9WLkH0d6YWBGz7JGWW XfcFOuOvQl2qQkIsR4/p0VdBut4EQJGaPvtIIJdZfjOgytjdTmOsFFACZ4SZQJQhqtG1/qjBe2g wYp9VgjSeAaJVrAXsCf9qzkLnLQdDxZcKFWUk40nSZ+/GbMpld7tyEhYRK4015eTCZiC0mZhRAG /Aw3sWUg4g6fZpH5pT4dSqNKyiUPtEJiZ/9Sjz20WpMPr8b9DejLyXM7rnpVQaItSfjkgEGDAlC jMdlgd7pi+cxtpUcxAXBkYVGu3njNGJpc3ujtZlGIJ8yx/4OE4XScyT0E1YFeFFATIYB0r1K0al J/SjVtP5slJlIVw1V0n+G8gpzU2424qemAsOpX6s6O6yn6AxrbCw9KFfDJN9UEAGvEogmTgkNWT 9uxUR0YLa/2SDRYjKDPQNxzUMnZSYGfbBx/fNxIMbTywLyZVQ/KU1LNy2QTKRIypezjNa43rTPA 4QaZwZ8kDolfJZuoEEdyFOXPxDxQa8pjHj3D2CAMV5qOwBxEkSbCRhfnTvUbkyhLjHiBA+VDs2Y 6G2zx+MY+Uzn/8GJBKC0L40TUcyj2bYSB2ygZp1GBuGgL2HiIjoFQOGY+oXv0f6ehOK6GZ3lnd9 rQ9MWOt4zShBoLg== X-Developer-Key: i=abel.vesa@linaro.org; a=openpgp; fpr=6AFF162D57F4223A8770EF5AF7BF214136F41FAE On all platforms supported by this driver, there are 13 DP_PHY_AUX_CFGx registers. This hasn't been an issue so far on currently supported platforms, because the init sequence never spanned beyond DP_PHY_AUX_CFG9. However, on the new upcoming Glymur platform, these are updated along with the rest of the init sequence. So update the size of the array holding the config to 13. Signed-off-by: Abel Vesa Reviewed-by: Konrad Dybcio --- drivers/phy/qualcomm/phy-qcom-edp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/phy/qualcomm/phy-qcom-edp.c b/drivers/phy/qualcomm/phy= -qcom-edp.c index ca9bb9d70e29e1a132bd499fb9f74b5837acf45b..7b642742412e63149442e4befeb= 095307ec38173 100644 --- a/drivers/phy/qualcomm/phy-qcom-edp.c +++ b/drivers/phy/qualcomm/phy-qcom-edp.c @@ -32,7 +32,7 @@ #define DP_PHY_PD_CTL 0x001c #define DP_PHY_MODE 0x0020 =20 -#define DP_AUX_CFG_SIZE 10 +#define DP_AUX_CFG_SIZE 13 #define DP_PHY_AUX_CFG(n) (0x24 + (0x04 * (n))) =20 #define DP_PHY_AUX_INTERRUPT_MASK 0x0058 --=20 2.45.2 From nobody Thu Oct 2 20:25:52 2025 Received: from mail-ej1-f44.google.com (mail-ej1-f44.google.com [209.85.218.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id ED4883451D1 for ; Thu, 11 Sep 2025 14:45:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757601950; cv=none; b=SgaP2tvia/xE5b2tYDlnSUKF4usaDB9V9pl8VtSpk+dpF1p6TNyO6r1CKPy8GXqSd/rmiilZzlJ8MGDK/L6z4iSZ+hMTOyAz2uer+fLeMH4IZUhQ/gDhC0kVZtcobJgSuRhJWCFq7ixDgb1ZQP7A4t+odKVn0UWXRIKqxJfsSu8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757601950; c=relaxed/simple; bh=hHQLYPrS95HhfGu/5yJz6rF+PZQQgVsSP41YzrqnMf4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gsuCqAELEi5hkKFmZiFvygfKLMMJ8L9rtdQOs0ZuSLUb/EYeRqhUP2Y3lCkNzaIaxaVfCjqoe9bCSA3tlksUZx4u6zBheKDLqVShpf+CtC1/ZaMj5SXdRrjm6jg8+2IGqf9W1U4MeJlWhPxYOZOI3hyThEW0Sc/ut8h9L7vUTzU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=YtChM1VT; arc=none smtp.client-ip=209.85.218.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="YtChM1VT" Received: by mail-ej1-f44.google.com with SMTP id a640c23a62f3a-b04271cfc3eso104265566b.3 for ; Thu, 11 Sep 2025 07:45:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1757601947; x=1758206747; 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=Xj8+ODxk5TPgmrm1epN9Zg+MtdZ3FT1uQ44Z3bdR4/c=; b=YtChM1VTajPtiKvk/rtoVflJms7mj7LudFZUXLbEOGiUSd1oa79krTcC4ub0iiGajn SNgPmekMh9PT6Gw6l8Mr162wRPK72CXgmPFQgPSuEBFuUmr7djjEW9RlbCT0ujfsyzyb l2z+dJQB5KH772cN1j7yomQZpu7+b80qsXW8kTkEoZBq2Q2Yr2s4aMZYMcbLrCuqc1Mp 96VZk/MQBjtCK8pHgx220KjpzZU6dXCbA0L+FCeP2g2CFqI2fz+W/aemzLif5/5WkXiP gLYz08couAFT8x5V5gjnJ+fIwaB6pOmKdt2ciZ0dx3dlaGQnpyrBO31+AJdrXh1h4nUt JAhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757601947; x=1758206747; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Xj8+ODxk5TPgmrm1epN9Zg+MtdZ3FT1uQ44Z3bdR4/c=; b=ZVtAH8XeKh2nOK5GOIzBRt0eDGyb8/wl42rm8XfLh1EMPVi+VrunYxUgvy/fgy029l lCe65/FIwuNf76i4lwf+2p/WEMMwRLaiixtPiOIW5SUnJ/6DrI5oHWllMwIyk9zALg32 7ws7to6KMGf/I0QjYN5Z5f9KbAbtK/kXQsCNeClUYPyO/milEwJ7dWAYvBzHzeREHbPI J38BsK4UxHI46GwPYigz1vyjjjg+MByVZwHSUMgtyVGPRQO6l1GJ9Lq0Xy7+uMcu+hnN EhzB2IVnsCtTHREnC+Vd4pTVUuP0DfUm/A0HLZdwlnTszyWQDWvOBC3bgljYz/H7Wofy l0wA== X-Forwarded-Encrypted: i=1; AJvYcCX0PtU/5TVF0DZGeljImE9wHq4Zp2PyeVA9YpFEeo9diWaxOv5HoWkGmtIBJE8JnLCScMlZvqN8qh0sh4A=@vger.kernel.org X-Gm-Message-State: AOJu0Yw5y5Zkwye4BGg09vR1Xu7QOpWkjBBKrdy5tYjKY8NgXXfXNifw epXULnbNJu8OwNDZisS/qU5hKsbUB2QQilE3jhsPxkEM2M32MY8euLfhfImZMOOa2II= X-Gm-Gg: ASbGncsWjtTh1QB54CT+9B0uPUHTBv94+QUouZSf8jiQiPCXUAzJCkbOG9qcj3CnW9i VL/pMWHwUXWPc+jGt9I7xFy5j601sB91tacElWd7w1sbqU3BMgSYsW2T/cvjR90/W0qyMis8MLy PQBzesaHQvw1cwnNhTcVv2Ni1klh8q/dRM2C5TEd04iEB09Ws3LOKvH6573chO2e1rvpEiQ81UG Rowy91s5KjECA8WT1ZDR0ZpseJ3UudUE3gC+h2hQDzCE0litp+hXpJYBufuYt2ncfYswJs6l8gU CfBvNyITokJSrY+/sFfgH8GmMlFOMFOZD+nsQU275JKt6/ttQX2lNb4/2F18XWCKRQoYsr0E/S1 1WmoxhX24z1hYkmjseAP9gZ6ROkXEDiQGAQ== X-Google-Smtp-Source: AGHT+IGkALLpWTe3A8RNhgP0uFdtVHraWmoT4jDSLkYh5kEm44UzmREGpHh3iFHLZsyP0xNJwzIkSA== X-Received: by 2002:a17:906:4910:b0:b07:880c:145a with SMTP id a640c23a62f3a-b07880c14c2mr560536066b.55.1757601947220; Thu, 11 Sep 2025 07:45:47 -0700 (PDT) Received: from hackbox.lan ([86.121.170.194]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b07b31282e7sm147196266b.23.2025.09.11.07.45.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Sep 2025 07:45:46 -0700 (PDT) From: Abel Vesa Date: Thu, 11 Sep 2025 17:45:24 +0300 Subject: [PATCH v3 3/4] phy: qcom-qmp: qserdes-com: Add v8 DP-specific qserdes register offsets 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: <20250911-phy-qcom-edp-add-glymur-support-v3-3-1c8514313a16@linaro.org> References: <20250911-phy-qcom-edp-add-glymur-support-v3-0-1c8514313a16@linaro.org> In-Reply-To: <20250911-phy-qcom-edp-add-glymur-support-v3-0-1c8514313a16@linaro.org> To: Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Dmitry Baryshkov , Konrad Dybcio , Neil Armstrong Cc: Johan Hovold , linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Abel Vesa , Dmitry Baryshkov X-Mailer: b4 0.15-dev-dedf8 X-Developer-Signature: v=1; a=openpgp-sha256; l=3130; i=abel.vesa@linaro.org; h=from:subject:message-id; bh=hHQLYPrS95HhfGu/5yJz6rF+PZQQgVsSP41YzrqnMf4=; b=owEBbQKS/ZANAwAKARtfRMkAlRVWAcsmYgBowuCRH6z1M9ZM9ZaMTneqmIBMUwkkH/Rm3J46W VSbWcYEXWqJAjMEAAEKAB0WIQRO8+4RTnqPKsqn0bgbX0TJAJUVVgUCaMLgkQAKCRAbX0TJAJUV Vky8D/4xUcAwz/9INS6hx17pBLcIJ27QhH/9ni3u7g+9jubACJ4SDt8qnk124AGe/aEcSs14e7J DQtD+FMHsCRv7vRKKbbSaWTHhfULnVIRQDszqSE13G0nj44oVe+oTG3289fhcxjQxNEiVzR/bCX z4tEbsGo7Q3kNCkVfo4HSo249GFwuY1Vew0w8DyD0gKMm8v1JcN3/VyFy92cQ5pl+LqupWnMXN5 pbuAAcqlrI+5OLeONR5jpdif/xGwG5kk6ttATn/isPlleo7p5fk6taCOQxWDRH0WNoMX2dEtQIw vBnSWlQw2iNC1gHu6kt9e1zcgUjkTxj3QV01asDJ2JwxdRz8xirzZ0iICJG4NIuI7+j/7EAYjnj GJ1XYlL7FtsKNy7OJrt0ne6ZHB8vXdCy62Q4qTyXnBfAmBMK+l2P+T930whYQipniv0XbB6C4Zm h1Z6ltjSplscLuw2h4AQ63TVvW0CEEu2JErQhoyMqzZm7XCe3NtLz2IsowgeHfKVe6+w7OF6/y3 +KJZqQVzd6l4V5EYSSyYCF/in4pwXTm3hdazcYKiVqPXqmJ6+4gHG26W6QXzCDkwi+qCsLT2S6m e4O3r0KFYq9oyd8TDgmKmCd5gvoYvY4QWc9gfjHSXpuM1Jldc2M4iy272pYqw+0s5pmbfAyAr38 IU4E8k9DdkFAGrg== X-Developer-Key: i=abel.vesa@linaro.org; a=openpgp; fpr=6AFF162D57F4223A8770EF5AF7BF214136F41FAE Starting with Glymur, the PCIe and DP PHYs qserdes register offsets differ for the same version number. So in order to be able to differentiate between them, add these ones with DP prefix. Reviewed-by: Dmitry Baryshkov Signed-off-by: Abel Vesa --- .../phy/qualcomm/phy-qcom-qmp-dp-qserdes-com-v8.h | 52 ++++++++++++++++++= ++++ 1 file changed, 52 insertions(+) diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-dp-qserdes-com-v8.h b/driver= s/phy/qualcomm/phy-qcom-qmp-dp-qserdes-com-v8.h new file mode 100644 index 0000000000000000000000000000000000000000..2bef1eecdc56a75e954ebdbcd16= 8ab7306be1302 --- /dev/null +++ b/drivers/phy/qualcomm/phy-qcom-qmp-dp-qserdes-com-v8.h @@ -0,0 +1,52 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2025 Linaro Ltd. + */ + +#ifndef QCOM_PHY_QMP_DP_QSERDES_COM_V8_H_ +#define QCOM_PHY_QMP_DP_QSERDES_COM_V8_H_ + +/* Only for DP QMP V8 PHY - QSERDES COM registers */ +#define DP_QSERDES_V8_COM_HSCLK_SEL_1 0x03c +#define DP_QSERDES_V8_COM_BIN_VCOCAL_CMP_CODE1_MODE0 0x058 +#define DP_QSERDES_V8_COM_BIN_VCOCAL_CMP_CODE2_MODE0 0x05c +#define DP_QSERDES_V8_COM_SSC_STEP_SIZE1_MODE0 0x060 +#define DP_QSERDES_V8_COM_SSC_STEP_SIZE2_MODE0 0x064 +#define DP_QSERDES_V8_COM_CP_CTRL_MODE0 0x070 +#define DP_QSERDES_V8_COM_PLL_RCTRL_MODE0 0x074 +#define DP_QSERDES_V8_COM_PLL_CCTRL_MODE0 0x078 +#define DP_QSERDES_V8_COM_CORECLK_DIV_MODE0 0x07c +#define DP_QSERDES_V8_COM_LOCK_CMP1_MODE0 0x080 +#define DP_QSERDES_V8_COM_LOCK_CMP2_MODE0 0x084 +#define DP_QSERDES_V8_COM_DEC_START_MODE0 0x088 +#define DP_QSERDES_V8_COM_DIV_FRAC_START1_MODE0 0x090 +#define DP_QSERDES_V8_COM_DIV_FRAC_START2_MODE0 0x094 +#define DP_QSERDES_V8_COM_DIV_FRAC_START3_MODE0 0x098 +#define DP_QSERDES_V8_COM_INTEGLOOP_GAIN0_MODE0 0x0a0 +#define DP_QSERDES_V8_COM_VCO_TUNE1_MODE0 0x0a8 +#define DP_QSERDES_V8_COM_INTEGLOOP_GAIN1_MODE0 0x0a4 +#define DP_QSERDES_V8_COM_VCO_TUNE2_MODE0 0x0ac +#define DP_QSERDES_V8_COM_BG_TIMER 0x0bc +#define DP_QSERDES_V8_COM_SSC_EN_CENTER 0x0c0 +#define DP_QSERDES_V8_COM_SSC_ADJ_PER1 0x0c4 +#define DP_QSERDES_V8_COM_SSC_PER1 0x0cc +#define DP_QSERDES_V8_COM_SSC_PER2 0x0d0 +#define DP_QSERDES_V8_COM_BIAS_EN_CLKBUFLR_EN 0x0dc +#define DP_QSERDES_V8_COM_CLK_ENABLE1 0x0e0 +#define DP_QSERDES_V8_COM_SYS_CLK_CTRL 0x0e4 +#define DP_QSERDES_V8_COM_SYSCLK_BUF_ENABLE 0x0e8 +#define DP_QSERDES_V8_COM_PLL_IVCO 0x0f4 +#define DP_QSERDES_V8_COM_SYSCLK_EN_SEL 0x110 +#define DP_QSERDES_V8_COM_RESETSM_CNTRL 0x118 +#define DP_QSERDES_V8_COM_LOCK_CMP_EN 0x120 +#define DP_QSERDES_V8_COM_VCO_TUNE_CTRL 0x13c +#define DP_QSERDES_V8_COM_VCO_TUNE_MAP 0x140 +#define DP_QSERDES_V8_COM_CLK_SELECT 0x164 +#define DP_QSERDES_V8_COM_CORE_CLK_EN 0x170 +#define DP_QSERDES_V8_COM_CMN_CONFIG_1 0x174 +#define DP_QSERDES_V8_COM_SVS_MODE_CLK_SEL 0x180 +#define DP_QSERDES_V8_COM_CLK_FWD_CONFIG_1 0x2f4 +#define DP_QSERDES_V8_COM_CMN_STATUS 0x314 +#define DP_QSERDES_V8_COM_C_READY_STATUS 0x33c + +#endif --=20 2.45.2 From nobody Thu Oct 2 20:25:52 2025 Received: from mail-ej1-f51.google.com (mail-ej1-f51.google.com [209.85.218.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C073934574E for ; Thu, 11 Sep 2025 14:45:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757601953; cv=none; b=eMPdnHYVdl01OQ6wQvJjo5n8N3UsN2RZUV2s8I2WskuZCby+4r8lexoNAgiFqtgraGBLcP2M+CzT7pFHVmXWbcdZavrRFDT1rzuJy2mnmBE7Y/mLkc4n7NsSyQUeusWq4hfSZdup7BohpLacZofQ3gKRVOvSbSrKiXboquCJ35k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757601953; c=relaxed/simple; bh=kXtyy4g/8gPiP3fYH2G8r7yHJzSZWdjq6ysRPfCJzjk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=hvRb1vxz6CGiadKopqU3tiIjmPJW5vbubrv3VIRhxcIRf5oAyU0fLpofcR/HV/db9F3FqFTnU/EI/1tFtmhRlgEuqNZHIlw1ZVmEP/a4F/VYnRWm2pGJFy4kocuNraqL/Ygk5Jm+sc+z9W0kPDM5z0R7DNzVGQM38yo3OUV4j/w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=Zd1XF0vJ; arc=none smtp.client-ip=209.85.218.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="Zd1XF0vJ" Received: by mail-ej1-f51.google.com with SMTP id a640c23a62f3a-b0472bd218bso140058766b.1 for ; Thu, 11 Sep 2025 07:45:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1757601949; x=1758206749; 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=2BmPUUCDGq3HURRo4amy/KcHcJEGjVxLMGBoZTJb2NI=; b=Zd1XF0vJ9CLquN6tVdyKwapS0hvOAf42cALqGQiIl2TAD7kl0N2qUEt/1F4KM3kRQI sp9wqrvXOki4dYk6B/XyOM+d6603kIDy2Q3jiweeOWEzHmYwaJjpiGlC4r2tPw+0GOL1 ZqQVOB50Eh9UUUbjNr9ZxEAtaQ/qoGPMbEva+eKzVoWCq7elgWVDjPY2C7RiIEbRMIY4 UFR8GnX3JAXsMwFd9XgtXLKcwSBv7ex3UvMsh4px+5k0hyOIzNhDmwH5HH93KukliqAk NUrF1z7aDgyvn3GCxWu4RA83kIwz/+eEOW06A7c+1k5QApXk3Xe+4AQFTFL2ieQsC/kW 0N7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757601949; x=1758206749; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=2BmPUUCDGq3HURRo4amy/KcHcJEGjVxLMGBoZTJb2NI=; b=e8e4/whW2U+MRJhFFsUiPKOs+lEgpDI/n9NnLtby2iZu5hzmnH6hqO3zuEovX/0ynJ joGx2IihzpGwS9jyzg4cOFsdNcHeTNCw6wJyY61OpODOfUYGk3ROShy+Mmuh43jaQDjV T8rLEwwU83dHO34VnJoMv7OPN+MSylFyBhD787iD+GXp+fpQFtLzVkrwtmrJ+9T60gXx FBegV1Htlgl8JQGY8HZtuoRfI+wt26V0yIfUAEkbsgI9xjgagYhg8aS19JWkRDnGNIWc vVMYX7uN7E5gTgrmSm0vES6ehJZvtrhX1fYEwAZIRDgewELVHz/m4SxHi7M5BcSIU66G zh7g== X-Forwarded-Encrypted: i=1; AJvYcCUvE+tcQI2B8DB0CfCnL+g8he4qOXV9iYitYxPvlF3In7Ttcjki/n81O4JE0bbT43diEouXwFhZ00IcaeI=@vger.kernel.org X-Gm-Message-State: AOJu0YxzteT1n0TqBZj3JFGvna4+TsdWj1WSGBAHN3xBu4oHyY9cYWCv 11AYXG4IW38kinjnCWLfRUtDcyaWeJdbtWqdz6dcNkmDjp7BqVn5uahPjV6P2BZf/WM= X-Gm-Gg: ASbGncs5hoaf7rKt4HIVKUvCOqHYfMkDA3y+o7ah/RN1/K7algajfumDlyMMdBRxxeb 3gJbmC5loS5gC24wBZu6Plpr1Bt2og+SvhS7OjOCa6kOd20MWasXXBa75QpuJ2AEAlcrHj34d29 7dluEdSgkxZp0JjAVn0gukh1U3LF7UgKM571maj41wRI/czyElyfkHqg8EZTIPCNakR14OvV7K8 oJXLbd+Ar+gAfxN5jHq5KDs5FjDuW2V5PvDUfiXUWRwOsxezjl1UxM+OkQToBgsYzg7XfcNdkEw 6qlz8jnGzONNUrf3NGq/NYpA9ZjSMcn6RK6xCtuTelB/TJsKNDNaI7nKV3WEZpD76t1AnsNwuyo UzVsWvaLLFeHWGEuuQlLw1MQ= X-Google-Smtp-Source: AGHT+IF+JeTZ5Eo/VCpQ+ME8qE2+l71Y+Rq4EY90N0nz/IHpIRERlI9hv3j/q/90UI9KladkxSbLMQ== X-Received: by 2002:a17:907:5cc:b0:afe:fb5a:6428 with SMTP id a640c23a62f3a-b04b140cfdbmr1727788166b.22.1757601948978; Thu, 11 Sep 2025 07:45:48 -0700 (PDT) Received: from hackbox.lan ([86.121.170.194]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b07b31282e7sm147196266b.23.2025.09.11.07.45.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Sep 2025 07:45:48 -0700 (PDT) From: Abel Vesa Date: Thu, 11 Sep 2025 17:45:25 +0300 Subject: [PATCH v3 4/4] phy: qcom: edp: Add Glymur platform 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: <20250911-phy-qcom-edp-add-glymur-support-v3-4-1c8514313a16@linaro.org> References: <20250911-phy-qcom-edp-add-glymur-support-v3-0-1c8514313a16@linaro.org> In-Reply-To: <20250911-phy-qcom-edp-add-glymur-support-v3-0-1c8514313a16@linaro.org> To: Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Dmitry Baryshkov , Konrad Dybcio , Neil Armstrong Cc: Johan Hovold , linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Abel Vesa X-Mailer: b4 0.15-dev-dedf8 X-Developer-Signature: v=1; a=openpgp-sha256; l=12901; i=abel.vesa@linaro.org; h=from:subject:message-id; bh=kXtyy4g/8gPiP3fYH2G8r7yHJzSZWdjq6ysRPfCJzjk=; b=owEBbQKS/ZANAwAKARtfRMkAlRVWAcsmYgBowuCTUEW85MBXJApwsWTlVcVi6jQOWI40g/HrE daQpVhW7f2JAjMEAAEKAB0WIQRO8+4RTnqPKsqn0bgbX0TJAJUVVgUCaMLgkwAKCRAbX0TJAJUV VnFSEACgr265Tgm8SUOLJkdHd67S+42SS3kmmOQ9+B+WHVKCQXXfoZAEBUcX5XqEu5+ZauHKA/m 14gfmYDQlv7dhJgcNMO0Vn0fTFvvXd/bpjeVR9KmT5vcoXw2jlXNSaO68JiRAfrOqSTaZq9nfLm 0xuqluMSfe20DA+ovFNKWeBgAiZpNgx2TAyrEB0TrHxOMxvT5SWBVfSLTlhT+4uaI8+dlO2FtGK qR+OCykz1NOSErM8oQ1mKgWQC8FQZ06Im97t3lsFVszl40+pBhoJnn0i/8kQrXedT3wmkwKtvYM eDC0Q+w0kGLedCMfpbnB4nOn3+PhSaRWjgDgqVb5efkNl4CkrRcDGmL77MNn1mqpsrmi/luAerb CUdpsFgryRZVk5ffXHT4zyQhCuLpf8jtlZ1vuZNAMXVkcv/D+mPdSnHkYGy5ew+KlIGg6tsToUE 4GLZ0sMqxLhj1xinglBFOeXl+ey+FrBbUei3nGcS/uXlilh27aSr4OWLchgz7D1vMYYnbvKFje/ 5feD2BslHxPmvpOR331+s8caapuG8Xulh344RMkbpRmjMK5db8AXbri+MkGXMe/XM3mMG2HCORB 1rovP4+CqXIhUnSK79FdNM7D4hIQcyH8Ygf1rv0rNYiKJQPHYI8D4WmElnPD/CmS/IqNKxH14TQ FjzDfL/+Eb+NU+g== X-Developer-Key: i=abel.vesa@linaro.org; a=openpgp; fpr=6AFF162D57F4223A8770EF5AF7BF214136F41FAE The Qualcomm Glymur platform has the new v8 version of the eDP/DP PHY. So rework the driver to support this new version and add the platform specific configuration data. Signed-off-by: Abel Vesa --- drivers/phy/qualcomm/phy-qcom-edp.c | 240 ++++++++++++++++++++++++++++++++= +++- 1 file changed, 234 insertions(+), 6 deletions(-) diff --git a/drivers/phy/qualcomm/phy-qcom-edp.c b/drivers/phy/qualcomm/phy= -qcom-edp.c index 7b642742412e63149442e4befeb095307ec38173..b670cda0fa066d3ff45c66b73cc= 67e165e55b79a 100644 --- a/drivers/phy/qualcomm/phy-qcom-edp.c +++ b/drivers/phy/qualcomm/phy-qcom-edp.c @@ -26,6 +26,8 @@ #include "phy-qcom-qmp-qserdes-com-v4.h" #include "phy-qcom-qmp-qserdes-com-v6.h" =20 +#include "phy-qcom-qmp-dp-qserdes-com-v8.h" + /* EDP_PHY registers */ #define DP_PHY_CFG 0x0010 #define DP_PHY_CFG_1 0x0014 @@ -76,6 +78,7 @@ struct phy_ver_ops { int (*com_power_on)(const struct qcom_edp *edp); int (*com_resetsm_cntrl)(const struct qcom_edp *edp); int (*com_bias_en_clkbuflr)(const struct qcom_edp *edp); + int (*com_clk_fwd_cfg)(const struct qcom_edp *edp); int (*com_configure_pll)(const struct qcom_edp *edp); int (*com_configure_ssc)(const struct qcom_edp *edp); }; @@ -83,6 +86,8 @@ struct phy_ver_ops { struct qcom_edp_phy_cfg { bool is_edp; const u8 *aux_cfg; + int aux_cfg_size; + const u8 *vco_div_cfg; const struct qcom_edp_swing_pre_emph_cfg *swing_pre_emph_cfg; const struct phy_ver_ops *ver_ops; }; @@ -185,6 +190,10 @@ static const u8 edp_phy_aux_cfg_v4[10] =3D { 0x00, 0x13, 0x24, 0x00, 0x0a, 0x26, 0x0a, 0x03, 0x37, 0x03 }; =20 +static const u8 edp_phy_vco_div_cfg_v4[4] =3D { + 0x1, 0x1, 0x2, 0x0, +}; + static const u8 edp_pre_emp_hbr_rbr_v5[4][4] =3D { { 0x05, 0x11, 0x17, 0x1d }, { 0x05, 0x11, 0x18, 0xff }, @@ -210,6 +219,14 @@ static const u8 edp_phy_aux_cfg_v5[10] =3D { 0x00, 0x13, 0xa4, 0x00, 0x0a, 0x26, 0x0a, 0x03, 0x37, 0x03 }; =20 +static const u8 edp_phy_aux_cfg_v8[13] =3D { + 0x00, 0x00, 0xa0, 0x00, 0x0a, 0x26, 0x0a, 0x03, 0x37, 0x03, 0x02, 0x02, 0= x4, +}; + +static const u8 edp_phy_vco_div_cfg_v8[4] =3D { + 0x1, 0x1, 0x1, 0x1, +}; + static int qcom_edp_phy_init(struct phy *phy) { struct qcom_edp *edp =3D phy_get_drvdata(phy); @@ -224,7 +241,11 @@ static int qcom_edp_phy_init(struct phy *phy) if (ret) goto out_disable_supplies; =20 - memcpy(aux_cfg, edp->cfg->aux_cfg, sizeof(aux_cfg)); + memcpy(aux_cfg, edp->cfg->aux_cfg, edp->cfg->aux_cfg_size); + + ret =3D edp->cfg->ver_ops->com_clk_fwd_cfg(edp); + if (ret) + return ret; =20 writel(DP_PHY_PD_CTL_PWRDN | DP_PHY_PD_CTL_AUX_PWRDN | DP_PHY_PD_CTL_PLL_PWRDN | DP_PHY_PD_CTL_DP_CLAMP_EN, @@ -252,7 +273,7 @@ static int qcom_edp_phy_init(struct phy *phy) =20 writel(0xfc, edp->edp + DP_PHY_MODE); =20 - for (int i =3D 0; i < DP_AUX_CFG_SIZE; i++) + for (int i =3D 0; i < edp->cfg->aux_cfg_size; i++) writel(aux_cfg[i], edp->edp + DP_PHY_AUX_CFG(i)); =20 writel(PHY_AUX_STOP_ERR_MASK | PHY_AUX_DEC_ERR_MASK | @@ -345,22 +366,22 @@ static int qcom_edp_set_vco_div(const struct qcom_edp= *edp, unsigned long *pixel =20 switch (dp_opts->link_rate) { case 1620: - vco_div =3D 0x1; + vco_div =3D edp->cfg->vco_div_cfg[0]; *pixel_freq =3D 1620000000UL / 2; break; =20 case 2700: - vco_div =3D 0x1; + vco_div =3D edp->cfg->vco_div_cfg[1]; *pixel_freq =3D 2700000000UL / 2; break; =20 case 5400: - vco_div =3D 0x2; + vco_div =3D edp->cfg->vco_div_cfg[2]; *pixel_freq =3D 5400000000UL / 4; break; =20 case 8100: - vco_div =3D 0x0; + vco_div =3D edp->cfg->vco_div_cfg[3]; *pixel_freq =3D 8100000000UL / 6; break; =20 @@ -398,6 +419,11 @@ static int qcom_edp_phy_com_resetsm_cntrl_v4(const str= uct qcom_edp *edp) val, val & BIT(0), 500, 10000); } =20 +static int qcom_edp_com_clk_fwd_cfg_v4(const struct qcom_edp *edp) +{ + return 0; +} + static int qcom_edp_com_bias_en_clkbuflr_v4(const struct qcom_edp *edp) { /* Turn on BIAS current for PHY/PLL */ @@ -530,6 +556,7 @@ static const struct phy_ver_ops qcom_edp_phy_ops_v4 =3D= { .com_power_on =3D qcom_edp_phy_power_on_v4, .com_resetsm_cntrl =3D qcom_edp_phy_com_resetsm_cntrl_v4, .com_bias_en_clkbuflr =3D qcom_edp_com_bias_en_clkbuflr_v4, + .com_clk_fwd_cfg =3D qcom_edp_com_clk_fwd_cfg_v4, .com_configure_pll =3D qcom_edp_com_configure_pll_v4, .com_configure_ssc =3D qcom_edp_com_configure_ssc_v4, }; @@ -537,17 +564,23 @@ static const struct phy_ver_ops qcom_edp_phy_ops_v4 = =3D { static const struct qcom_edp_phy_cfg sa8775p_dp_phy_cfg =3D { .is_edp =3D false, .aux_cfg =3D edp_phy_aux_cfg_v5, + .aux_cfg_size =3D ARRAY_SIZE(edp_phy_aux_cfg_v5), + .vco_div_cfg =3D edp_phy_vco_div_cfg_v4, .swing_pre_emph_cfg =3D &edp_phy_swing_pre_emph_cfg_v5, .ver_ops =3D &qcom_edp_phy_ops_v4, }; =20 static const struct qcom_edp_phy_cfg sc7280_dp_phy_cfg =3D { .aux_cfg =3D edp_phy_aux_cfg_v4, + .aux_cfg_size =3D ARRAY_SIZE(edp_phy_aux_cfg_v4), + .vco_div_cfg =3D edp_phy_vco_div_cfg_v4, .ver_ops =3D &qcom_edp_phy_ops_v4, }; =20 static const struct qcom_edp_phy_cfg sc8280xp_dp_phy_cfg =3D { .aux_cfg =3D edp_phy_aux_cfg_v4, + .aux_cfg_size =3D ARRAY_SIZE(edp_phy_aux_cfg_v4), + .vco_div_cfg =3D edp_phy_vco_div_cfg_v4, .swing_pre_emph_cfg =3D &dp_phy_swing_pre_emph_cfg, .ver_ops =3D &qcom_edp_phy_ops_v4, }; @@ -555,6 +588,8 @@ static const struct qcom_edp_phy_cfg sc8280xp_dp_phy_cf= g =3D { static const struct qcom_edp_phy_cfg sc8280xp_edp_phy_cfg =3D { .is_edp =3D true, .aux_cfg =3D edp_phy_aux_cfg_v4, + .aux_cfg_size =3D ARRAY_SIZE(edp_phy_aux_cfg_v4), + .vco_div_cfg =3D edp_phy_vco_div_cfg_v4, .swing_pre_emph_cfg =3D &edp_phy_swing_pre_emph_cfg, .ver_ops =3D &qcom_edp_phy_ops_v4, }; @@ -734,10 +769,202 @@ static const struct phy_ver_ops qcom_edp_phy_ops_v6 = =3D { =20 static struct qcom_edp_phy_cfg x1e80100_phy_cfg =3D { .aux_cfg =3D edp_phy_aux_cfg_v4, + .aux_cfg_size =3D ARRAY_SIZE(edp_phy_aux_cfg_v4), + .vco_div_cfg =3D edp_phy_vco_div_cfg_v4, .swing_pre_emph_cfg =3D &dp_phy_swing_pre_emph_cfg, .ver_ops =3D &qcom_edp_phy_ops_v6, }; =20 +static int qcom_edp_com_configure_ssc_v8(const struct qcom_edp *edp) +{ + const struct phy_configure_opts_dp *dp_opts =3D &edp->dp_opts; + u32 step1; + u32 step2; + + switch (dp_opts->link_rate) { + case 1620: + case 2700: + case 8100: + step1 =3D 0x5b; + step2 =3D 0x02; + break; + + case 5400: + step1 =3D 0x5b; + step2 =3D 0x02; + break; + + default: + /* Other link rates aren't supported */ + return -EINVAL; + } + + writel(0x01, edp->pll + DP_QSERDES_V8_COM_SSC_EN_CENTER); + writel(0x00, edp->pll + DP_QSERDES_V8_COM_SSC_ADJ_PER1); + writel(0x6b, edp->pll + DP_QSERDES_V8_COM_SSC_PER1); + writel(0x02, edp->pll + DP_QSERDES_V8_COM_SSC_PER2); + writel(step1, edp->pll + DP_QSERDES_V8_COM_SSC_STEP_SIZE1_MODE0); + writel(step2, edp->pll + DP_QSERDES_V8_COM_SSC_STEP_SIZE2_MODE0); + + return 0; +} + +static int qcom_edp_com_configure_pll_v8(const struct qcom_edp *edp) +{ + const struct phy_configure_opts_dp *dp_opts =3D &edp->dp_opts; + u32 div_frac_start2_mode0; + u32 div_frac_start3_mode0; + u32 dec_start_mode0; + u32 lock_cmp1_mode0; + u32 lock_cmp2_mode0; + u32 code1_mode0; + u32 code2_mode0; + u32 hsclk_sel; + + switch (dp_opts->link_rate) { + case 1620: + hsclk_sel =3D 0x5; + dec_start_mode0 =3D 0x34; + div_frac_start2_mode0 =3D 0xc0; + div_frac_start3_mode0 =3D 0x0b; + lock_cmp1_mode0 =3D 0x37; + lock_cmp2_mode0 =3D 0x04; + code1_mode0 =3D 0x71; + code2_mode0 =3D 0x0c; + break; + + case 2700: + hsclk_sel =3D 0x3; + dec_start_mode0 =3D 0x34; + div_frac_start2_mode0 =3D 0xc0; + div_frac_start3_mode0 =3D 0x0b; + lock_cmp1_mode0 =3D 0x07; + lock_cmp2_mode0 =3D 0x07; + code1_mode0 =3D 0x71; + code2_mode0 =3D 0x0c; + break; + + case 5400: + hsclk_sel =3D 0x2; + dec_start_mode0 =3D 0x4f; + div_frac_start2_mode0 =3D 0xa0; + div_frac_start3_mode0 =3D 0x01; + lock_cmp1_mode0 =3D 0x18; + lock_cmp2_mode0 =3D 0x15; + code1_mode0 =3D 0x14; + code2_mode0 =3D 0x25; + break; + + case 8100: + hsclk_sel =3D 0x2; + dec_start_mode0 =3D 0x4f; + div_frac_start2_mode0 =3D 0xa0; + div_frac_start3_mode0 =3D 0x01; + lock_cmp1_mode0 =3D 0x18; + lock_cmp2_mode0 =3D 0x15; + code1_mode0 =3D 0x14; + code2_mode0 =3D 0x25; + break; + + default: + /* Other link rates aren't supported */ + return -EINVAL; + } + + writel(0x01, edp->pll + DP_QSERDES_V8_COM_SVS_MODE_CLK_SEL); + writel(0x3b, edp->pll + DP_QSERDES_V8_COM_SYSCLK_EN_SEL); + writel(0x02, edp->pll + DP_QSERDES_V8_COM_SYS_CLK_CTRL); + writel(0x0c, edp->pll + DP_QSERDES_V8_COM_CLK_ENABLE1); + writel(0x06, edp->pll + DP_QSERDES_V8_COM_SYSCLK_BUF_ENABLE); + writel(0x30, edp->pll + DP_QSERDES_V8_COM_CLK_SELECT); + writel(hsclk_sel, edp->pll + DP_QSERDES_V8_COM_HSCLK_SEL_1); + writel(0x07, edp->pll + DP_QSERDES_V8_COM_PLL_IVCO); + writel(0x00, edp->pll + DP_QSERDES_V8_COM_LOCK_CMP_EN); + writel(0x36, edp->pll + DP_QSERDES_V8_COM_PLL_CCTRL_MODE0); + writel(0x16, edp->pll + DP_QSERDES_V8_COM_PLL_RCTRL_MODE0); + writel(0x06, edp->pll + DP_QSERDES_V8_COM_CP_CTRL_MODE0); + writel(dec_start_mode0, edp->pll + DP_QSERDES_V8_COM_DEC_START_MODE0); + writel(0x00, edp->pll + DP_QSERDES_V8_COM_DIV_FRAC_START1_MODE0); + writel(div_frac_start2_mode0, edp->pll + DP_QSERDES_V8_COM_DIV_FRAC_START= 2_MODE0); + writel(div_frac_start3_mode0, edp->pll + DP_QSERDES_V8_COM_DIV_FRAC_START= 3_MODE0); + writel(0x96, edp->pll + DP_QSERDES_V8_COM_CMN_CONFIG_1); + writel(0x3f, edp->pll + DP_QSERDES_V8_COM_INTEGLOOP_GAIN0_MODE0); + writel(0x00, edp->pll + DP_QSERDES_V8_COM_INTEGLOOP_GAIN1_MODE0); + writel(0x00, edp->pll + DP_QSERDES_V8_COM_VCO_TUNE_MAP); + writel(lock_cmp1_mode0, edp->pll + DP_QSERDES_V8_COM_LOCK_CMP1_MODE0); + writel(lock_cmp2_mode0, edp->pll + DP_QSERDES_V8_COM_LOCK_CMP2_MODE0); + + writel(0x0a, edp->pll + DP_QSERDES_V8_COM_BG_TIMER); + writel(0x0a, edp->pll + DP_QSERDES_V8_COM_CORECLK_DIV_MODE0); + writel(0x00, edp->pll + DP_QSERDES_V8_COM_VCO_TUNE_CTRL); + writel(0x1f, edp->pll + DP_QSERDES_V8_COM_BIAS_EN_CLKBUFLR_EN); + writel(0x00, edp->pll + DP_QSERDES_V8_COM_CORE_CLK_EN); + writel(0xa0, edp->pll + DP_QSERDES_V8_COM_VCO_TUNE1_MODE0); + writel(0x01, edp->pll + DP_QSERDES_V8_COM_VCO_TUNE2_MODE0); + + writel(code1_mode0, edp->pll + DP_QSERDES_V8_COM_BIN_VCOCAL_CMP_CODE1_MOD= E0); + writel(code2_mode0, edp->pll + DP_QSERDES_V8_COM_BIN_VCOCAL_CMP_CODE2_MOD= E0); + + return 0; +} + + +static int qcom_edp_phy_com_resetsm_cntrl_v8(const struct qcom_edp *edp) +{ + u32 val; + + writel(0x20, edp->pll + DP_QSERDES_V8_COM_RESETSM_CNTRL); + + return readl_poll_timeout(edp->pll + DP_QSERDES_V8_COM_C_READY_STATUS, + val, val & BIT(0), 500, 10000); +} + +static int qcom_edp_com_clk_fwd_cfg_v8(const struct qcom_edp *edp) +{ + writel(0x3f, edp->pll + DP_QSERDES_V8_COM_CLK_FWD_CONFIG_1); + + return 0; +} + +static int qcom_edp_com_bias_en_clkbuflr_v8(const struct qcom_edp *edp) +{ + /* Turn on BIAS current for PHY/PLL */ + writel(0x1f, edp->pll + DP_QSERDES_V8_COM_BIAS_EN_CLKBUFLR_EN); + + return 0; +} + +static int qcom_edp_phy_power_on_v8(const struct qcom_edp *edp) +{ + u32 val; + + writel(DP_PHY_PD_CTL_PWRDN | DP_PHY_PD_CTL_AUX_PWRDN | + DP_PHY_PD_CTL_LANE_0_1_PWRDN | DP_PHY_PD_CTL_LANE_2_3_PWRDN | + DP_PHY_PD_CTL_PLL_PWRDN | DP_PHY_PD_CTL_DP_CLAMP_EN, + edp->edp + DP_PHY_PD_CTL); + writel(0xfc, edp->edp + DP_PHY_MODE); + + return readl_poll_timeout(edp->pll + DP_QSERDES_V8_COM_CMN_STATUS, + val, val & BIT(7), 5, 200); +} + +static const struct phy_ver_ops qcom_edp_phy_ops_v8 =3D { + .com_power_on =3D qcom_edp_phy_power_on_v8, + .com_resetsm_cntrl =3D qcom_edp_phy_com_resetsm_cntrl_v8, + .com_bias_en_clkbuflr =3D qcom_edp_com_bias_en_clkbuflr_v8, + .com_clk_fwd_cfg =3D qcom_edp_com_clk_fwd_cfg_v8, + .com_configure_pll =3D qcom_edp_com_configure_pll_v8, + .com_configure_ssc =3D qcom_edp_com_configure_ssc_v8, +}; + +static struct qcom_edp_phy_cfg glymur_phy_cfg =3D { + .aux_cfg =3D edp_phy_aux_cfg_v8, + .aux_cfg_size =3D ARRAY_SIZE(edp_phy_aux_cfg_v8), + .vco_div_cfg =3D edp_phy_vco_div_cfg_v8, + .swing_pre_emph_cfg =3D &edp_phy_swing_pre_emph_cfg_v5, + .ver_ops =3D &qcom_edp_phy_ops_v8, +}; + static int qcom_edp_phy_power_on(struct phy *phy) { const struct qcom_edp *edp =3D phy_get_drvdata(phy); @@ -1133,6 +1360,7 @@ static int qcom_edp_phy_probe(struct platform_device = *pdev) } =20 static const struct of_device_id qcom_edp_phy_match_table[] =3D { + { .compatible =3D "qcom,glymur-dp-phy", .data =3D &glymur_phy_cfg, }, { .compatible =3D "qcom,sa8775p-edp-phy", .data =3D &sa8775p_dp_phy_cfg, = }, { .compatible =3D "qcom,sc7280-edp-phy", .data =3D &sc7280_dp_phy_cfg, }, { .compatible =3D "qcom,sc8180x-edp-phy", .data =3D &sc7280_dp_phy_cfg, }, --=20 2.45.2