From nobody Tue Apr 7 08:11:14 2026 Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) (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 2EEA92BE031 for ; Sun, 15 Mar 2026 23:52:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773618726; cv=none; b=Lvf7pAkKEjJ3HsztRDsokv0IEIwrQDIhKhZwoS//+8E+2xZVgSdrHKoRiE617RGxRnfe3+HIT16DJxk9CQTs2WLOeVWzVLpKZ+Vir1EGXWpv8BuuFPLdlnQF2RwPwEzqaoodOozweTQyWq+cCZJ7aKJfhyAskYReZ+5EGfmI30M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773618726; c=relaxed/simple; bh=5HEh4Jzmjb+xpe1JeCJgfmz80o4mkPxB++PCRD7AH68=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=aGq37CB1Ya85B+xILh0umpGjzA+EBUu/73/0kbylAhlVfTH42Vw1Wh/tgWFGZf+NwGMdzQBkxpgX8KPuieyqujJxlbriZAD5OL9Dq8KhAxohvEJafR+/fAJho0/PoHuq3v8qbCruVVga/V7599Uny4+tRxVmH82XFnNWO7/GYP0= 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=m6Tf0urn; arc=none smtp.client-ip=209.85.221.49 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="m6Tf0urn" Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-43b3d9d0695so695395f8f.0 for ; Sun, 15 Mar 2026 16:52:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1773618723; x=1774223523; 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=SyuDGIxScz9o+1b+2ev2e6nu0IBiytGXGEcolSic1kM=; b=m6Tf0urnqq9aIc1m65B8ndzBbwceFvgYA0ILeX0MnKgD7dwN4SBhGLPtaqMs0b349r g6I0IKW9Xd9YYTYe7gXvTO7ATY2J35bRR0UXQyZOSDre4Dcp+fafrXXFnUqJCSS0HeEE j9qgMcGeCX+1y2lIzcRIGVc02+c6SdrRqKFIcccRHGstVRPIyDzun8I7dSU07rgJpCgB u3s5AR8c6FOS5HZ6C9Z5WX1c1sL1+Vg5CWmCSNtgVpe9gstusMssMYlP1W/77/2w8W51 Ff4dbigOA35A4U6ZW5KX7tLQGf9TfFo3uz2YRnQTeDZJvg5EpM4pzXRe4gWxN5mM1/68 5PLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773618723; x=1774223523; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=SyuDGIxScz9o+1b+2ev2e6nu0IBiytGXGEcolSic1kM=; b=osCc8HQM0gB8kx6yZiep8DHxyhtq2/nhWhOQAC1/orgfHR78vK8uKYrD0wEc+bz4ht 5m+p16VQOverGgDLPBbr2bRfQ3VR6KgvNG8jPnFltr2UxgTSsfAAC93eqqpvmHdfZ1j3 VP3JxFDEc1L6vgcq3R9rPfHwL8I8SOZyMygea2IVyUUN0EhPcIOhTpO0fECqUD2g8Trx 1YwRXl1ZeO3tnzKQjMQGkbs1q0igYhdraOML0WTU1jzJON+t0861Y/twX+u2UUGweD8z gSFEKo90JNGdGFOdYHcosMBVLoCtq3D7f0F2Rt00Yj4RaG8hh+D5U6rM8GiOZfACkn97 b6cg== X-Forwarded-Encrypted: i=1; AJvYcCXQX0K2If4FkqnPBaG2FOFVL7VBiTg/RhKfCfloYo2SXlYEB3q0S7LpW/UZMAhPPv+MWLETpFuk2jRXUMs=@vger.kernel.org X-Gm-Message-State: AOJu0YyXwKg+AYM8XysE9Mi41p0/QkJbipZm0zKVVwLRqKQ8J+HHJ2gm bk8sxX1i/d1GR8i4y6vsDLE0IdTecZPsa+BrDEKU+KAY41MxKQFz0KS4naAvpM6wESc= X-Gm-Gg: ATEYQzzwATb+yt0pVkwm5aUTyQOBWo3ty6V45jMuT4KAoWm2zTmbNoq1sBQ1UAQwyED 0DWtHiSYPoxiNR2EalmvfI8U0nGvPSjx0knQK1O5H9UpYzTgw4R2+U6HBeF19rFoLbTrmKorupP Jri6rHbK29xtdgll3rgqt5hpq2V3G9Oi4fZpgAQ862G5/aEsGfXwPh1VaO4DfBKAIBmVVEcOsJg Ybv9PTAUfX7C4JsOLNp+adOsxym7AmgO9fHt7l51crMU52K17LVGB3EGcPnuxAQsdzfTfGZ/6YM FRuJpwPKrZgB/YeM6yEMajEBoopyUtn1v8ZoznuFmkP3g0mhcmrSMSkWl86DwMLdZc9IJvcQRK3 FCE7bw1Yfiq8I1B/X4GRHmUwFi6XeqJQqaJdfoz3Veguvy+ahBZ6xTOlgaEbHZYsJpGmLDGXUes CWsIowpptYrnx0FfYPsTj2Nvkyqwmt9YR6yZY= X-Received: by 2002:a05:6000:310c:b0:43b:40f6:36fb with SMTP id ffacd0b85a97d-43b40f63922mr4908583f8f.31.1773618723446; Sun, 15 Mar 2026 16:52:03 -0700 (PDT) Received: from [192.168.0.35] ([109.76.190.215]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439fe20b544sm38233082f8f.20.2026.03.15.16.52.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 15 Mar 2026 16:52:02 -0700 (PDT) From: Bryan O'Donoghue Date: Sun, 15 Mar 2026 23:52:06 +0000 Subject: [PATCH v4 1/2] dt-bindings: phy: qcom: Add CSI2 C-PHY/DPHY schema 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: <20260315-x1e-csi2-phy-v4-1-90c09203888d@linaro.org> References: <20260315-x1e-csi2-phy-v4-0-90c09203888d@linaro.org> In-Reply-To: <20260315-x1e-csi2-phy-v4-0-90c09203888d@linaro.org> To: Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Neil Armstrong Cc: Bryan O'Donoghue , Vladimir Zapolskiy , linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Bryan O'Donoghue X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=4842; i=bryan.odonoghue@linaro.org; h=from:subject:message-id; bh=5HEh4Jzmjb+xpe1JeCJgfmz80o4mkPxB++PCRD7AH68=; b=owEBbQKS/ZANAwAKASJxO7Ohjcg6AcsmYgBpt0Yozg80iLZBMId4uWiwO/4+zJHWS38AW7mCj f97Md+Xpn+JAjMEAAEKAB0WIQTmk/sqq6Nt4Rerb7QicTuzoY3IOgUCabdGKAAKCRAicTuzoY3I OoxyD/9FXYcDjbqrKaXDMVRY1cBoYm8VneQCsmty3ndAdPjHHT4SRWGCWGQYveFPkEgieDP6QcZ 6iXPmPk5aR1mRlLqPgyBYSildKnAjHzAkqaPtpIHVr/clXqsR/teR2Gj1M+owfX/d/cjgfzihEM cmnGwPZMDur0IWEttW03F9QdCEcBLE8UZbDs7NxQaQnQq9Iry51HlcnGA3i2QdffVZM+6kIPB6k CxiZiH5de0oy8/fI1X0hb4lXfWRhJ/ilqk1BHSTU7XaqgY/D9u+ctq7AO0KQqirwtBeqycMjPDA SmhKEus80jntMbibWloqGtDl3V/07jXacNdzvRtT2Te65OCRDUEFsCpvFl22ttTL+oyNz6De+XS /3PPJz9hx6WgFbYmkJ4jjivx7HBMHAxJse9YtjGmoiUMrPiGxeytAHT4kjfwH791xZbp3Co1qMx chHgI6X8wdhxy2yQdCoFCn6xdrBtLWwO2blmODXUWdDs7JDu7O9cpxIDHhT5x3ez8DoXQ08b2My xccLUf+83eQj9rW0l79S63kjA/K8N17jf5DVn7o38gKCu2h/LwODYYuwalE/2yL9tWW7XYehBaD uOFzZSJ8fDWiqHyYyEHDs+WvtrVf+GT/kyifJr7qO0qXug7hD+vLfQ165zE4ngNpGtaLjze9PJT 1iwiF9hK9jJtpEw== X-Developer-Key: i=bryan.odonoghue@linaro.org; a=openpgp; fpr=E693FB2AABA36DE117AB6FB422713BB3A18DC83A Add a base schema initially compatible with x1e80100 to describe MIPI CSI2 PHY devices. The hardware can support both C-PHY and D-PHY modes. The CSIPHY devices have their own pinouts on the SoC as well as their own individual voltage rails. The need to model voltage rails on a per-PHY basis leads us to define CSIPHY devices as individual nodes. Two nice outcomes in terms of schema and DT arise from this change. 1. The ability to define on a per-PHY basis voltage rails. 2. The ability to require those voltage. We have had a complete bodge upstream for this where a single set of voltage rail for all CSIPHYs has been buried inside of CAMSS. Much like the I2C bus which is dedicated to Camera sensors - the CCI bus in CAMSS parlance, the CSIPHY devices should be individually modelled. Signed-off-by: Bryan O'Donoghue --- .../bindings/phy/qcom,x1e80100-csi2-phy.yaml | 133 +++++++++++++++++= ++++ 1 file changed, 133 insertions(+) diff --git a/Documentation/devicetree/bindings/phy/qcom,x1e80100-csi2-phy.y= aml b/Documentation/devicetree/bindings/phy/qcom,x1e80100-csi2-phy.yaml new file mode 100644 index 0000000000000..b83c2d65ebc6e --- /dev/null +++ b/Documentation/devicetree/bindings/phy/qcom,x1e80100-csi2-phy.yaml @@ -0,0 +1,133 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/phy/qcom,x1e80100-csi2-phy.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm CSI2 PHY + +maintainers: + - Bryan O'Donoghue + +description: + Qualcomm MIPI CSI2 C-PHY/D-PHY combination PHY. Connects MIPI CSI2 senso= rs + to Qualcomm's Camera CSI Decoder. The PHY supports both C-PHY and D-PHY + modes. + +properties: + compatible: + const: qcom,x1e80100-csi2-phy + + reg: + maxItems: 1 + + "#phy-cells": + const: 1 + + clocks: + maxItems: 4 + + clock-names: + items: + - const: csiphy + - const: csiphy_timer + - const: camnoc_axi + - const: cpas_ahb + + interrupts: + maxItems: 1 + + operating-points-v2: + maxItems: 1 + + power-domains: + items: + - description: TITAN TOP GDSC + - description: MXC or MXA voltage rail + - description: MMCX voltage rail + + power-domain-names: + items: + - const: top + - const: mx + - const: mmcx + + vdda-0p8-supply: + description: Phandle to a 0.8V regulator supply to a PHY. + + vdda-1p2-supply: + description: Phandle to 1.2V regulator supply to a PHY. + +required: + - compatible + - reg + - "#phy-cells" + - clocks + - clock-names + - interrupts + - operating-points-v2 + - power-domains + - power-domain-names + - vdda-0p8-supply + - vdda-1p2-supply + +additionalProperties: false + +examples: + - | + #include + #include + #include + #include + #include + + csiphy@ace4000 { + compatible =3D "qcom,x1e80100-csi2-phy"; + reg =3D <0x0ace4000 0x2000>; + #phy-cells =3D <1>; + + clocks =3D <&camcc CAM_CC_CSIPHY0_CLK>, + <&camcc CAM_CC_CSI0PHYTIMER_CLK>, + <&camcc CAM_CC_CAMNOC_AXI_RT_CLK>, + <&camcc CAM_CC_CPAS_AHB_CLK>; + clock-names =3D "csiphy", + "csiphy_timer", + "camnoc_axi", + "cpas_ahb"; + + operating-points-v2 =3D <&csiphy_opp_table>; + + interrupts =3D ; + + power-domains =3D <&camcc CAM_CC_TITAN_TOP_GDSC>, + <&rpmhpd RPMHPD_MX>, + <&rpmhpd RPMHPD_MMCX>; + power-domain-names =3D "top", + "mx", + "mmcx"; + + vdda-0p8-supply =3D <&vreg_l2c_0p8>; + vdda-1p2-supply =3D <&vreg_l1c_1p2>; + }; + + csiphy_opp_table: opp-table { + compatible =3D "operating-points-v2"; + + opp-300000000 { + opp-hz =3D /bits/ 64 <300000000>; + required-opps =3D <&rpmhpd_opp_low_svs_d1>, + <&rpmhpd_opp_low_svs_d1>; + }; + + opp-400000000 { + opp-hz =3D /bits/ 64 <400000000>; + required-opps =3D <&rpmhpd_opp_low_svs>, + <&rpmhpd_opp_low_svs>; + }; + + opp-480000000 { + opp-hz =3D /bits/ 64 <480000000>; + required-opps =3D <&rpmhpd_opp_low_svs>, + <&rpmhpd_opp_low_svs>; + }; + }; --=20 2.52.0