From mboxrd@z Thu Jan 1 00:00:00 1970 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 9BD8D374E56 for ; Tue, 3 Mar 2026 01:51:33 +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=1772502696; cv=none; b=qXtkUhc3ESA/ko4nTLii4VWseMuJLBKKsKWfbOeAPGMR8U3cDgrgRWNaDIbJHoyGXeCd/J7andlsDVwelql6qhsda3j0iBzFR18OLOE/YV2WFkgdhOnQxvi+dx0VB/Vgm1g9vvAG5p2A2GaeKmixNpMJR5TZWk07kG3K7lVY13s= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772502696; c=relaxed/simple; bh=X+JpqrDb7YPTN3ijWsZpIVbwXj6lVqWIUDQR6XcxyO0=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=N5RvexIGAl9E1+mvwkjC53P+suHQ3GttUFiDK3gaRF/JF/iuV8h3Npu50njcviTjIT7LD+JWUS5UE9vjmKB8IabTTezwYlX0Wtf0gnA1TWAZ3PkfjsBDCeXRME/0Z9Ow4njG2JnVti/OPeDf8uWEn7LNKijLoPgv9b2GtGsBv2E= 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=IcH7eM4X; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=brnvyqn2; 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="IcH7eM4X"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="brnvyqn2" 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 622KpRt81677971 for ; Tue, 3 Mar 2026 01:51: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= Pw3TuhYPeUpbqxCk25aiSvVfe7dHHnXwYTLUytizRcI=; b=IcH7eM4X5rHy90TW yE4dWPRzQCb+I1V4pP0eMQy1iZSdagLEHDzznU96ZPe5CHGVpsTRScYiI2cmRRJM DGxnMb3QmpAuEl9Bm1x0awCvAyWJTzh9MnLgNObyfQaatIoXvltbB+N1iu9dc+1I CUpd0NlGmBRbJaoZqP9NUH77N1N+IbVHlO2DgoET/CYIpzZQeIGTWpfX/nhKUoHi KNarwrrvQdfcc1cF79pYqKBGEfupHDJzp/HUn3OPwMPnf1B87EYX/InptpqP43xA L5C85UO7JaggWAjmDmTS0B20/2ZI1LW4Pouwx8GVf59bltWiPn42Oj2HO7uDwCic fWSLIA== 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 4cnhxs8rs2-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 03 Mar 2026 01:51:32 +0000 (GMT) Received: by mail-dl1-f69.google.com with SMTP id a92af1059eb24-127337c8e52so11030915c88.1 for ; Mon, 02 Mar 2026 17:51:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772502692; x=1773107492; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=Pw3TuhYPeUpbqxCk25aiSvVfe7dHHnXwYTLUytizRcI=; b=brnvyqn2mamgdMwCbZ3maqi6eehhoXdptbe2PLCXtdnLgL30neAeVq0JFYdkRiI+sx lAHprFl8A6HwSrMYID6QPDttePcShRDUcePlN+gttLfbB9niytqDvNqZJmjXpmVZquau 2jrszf+qTfESpvRRmP328noxApiltWMtr4rpWWuRVNvZtjf/sXHqAoSny8D++bmyRf2i JosMoEF4lgU/UfkKudzFLIQLVHnqXElrEsViYy02WdhhkaLsK/BbuHKb7nlpd38MGRQb 3GeyfY2zuVK8XnbvSu6Yw8wKngn14xDSD/YLNG+MPA33MD0qLRENUMo7KHiXdVi3HhlD fLhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772502692; x=1773107492; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Pw3TuhYPeUpbqxCk25aiSvVfe7dHHnXwYTLUytizRcI=; b=UXr13yGmaxKBCj/PEktSIOSwMs6dy9razs0wglLTCiRGnxdbecEbDk8O1i+PTcMpPe srHqCK0P2EtmrqEAg2Y6QhKvDQ7mNhcI1Mpf+TqD8CnRiliJ9rm4S1gf/CQcC7jH/+Jw rO8PsJ0cgfhE59w6RvgaRORSWB1fOtW1eNRacJyRQnrWrmae6vkegmT3EVjxt279qMjJ iu7kDDzSYqP8lUZ5ibEIgliD+Ke+Kx5FlG8eT5fTOWgKy9+5ZMkzjRU6h/bvNkf5qIXo zND4XCT4p++6PjOF6TMEcIm/7kODFG259Jx4nbPseQ5RZEApZ/xfLZXV8aRuwbEXInCu WspQ== X-Forwarded-Encrypted: i=1; AJvYcCXU3wg4iMJuTa7Vt5kcjkJIreb9Ox8VmwFwgdlMS8r84jsaMARnHE57FReKPGW/Bys0Z86T5mbzl9aG5xA=@vger.kernel.org X-Gm-Message-State: AOJu0Yxf39OUUCdxfF4jDeNwuhiO4JWegOCjJxgmUvoFriQZYqCFP79Z aovnwdO8UaFi7G6PzllbY00OvEpTUaaVQkmryzhczNflnH2O+piktWVPJQGZRhVTJF8INCePBbD qhrRRQZ4VGdv3hPnh5yTqFWC4Mk5TJRBHYmvuQLvVfPUWT46MWY9p8ejU0jDJtdVdu04= X-Gm-Gg: ATEYQzw+yhoglAGYrAX3IFEFJIv8zwl1OwsV5eJqNQtS8MFLdIgHNHs9kiUtokAZ338 bqDXUsI3f1TqggMqtMH7iM9LKDxKuKajjlaOWt5JE0kAvVw+CXTNqvL0HOfyzIgOGDDDwHFz2Hu NciB15WPga+q15ABEizTDx+4q3VpCyjzUkHmkBvllI7HWbAd92mA2HfldgCOZWiKoaw9KjZgtx9 jdo7225ixMdTlpvxsGVz0kOwvdDPJfBV+7FeA6cc08faPELxyG8+dNuEsB9xKIlNE03GzN8Wrlz Atyw+7ADcQSU/mlWRgNFT5K9D/aUpkJis1GK13DBXMLeZun9ys519CXvC8U0FRbL+4TEa//slTR Nns9YmTjlbTy7kFhsZtY/6EZilGkb1UAj25MJhuYAtIyGUu/3iE6D X-Received: by 2002:a05:7022:4584:b0:119:e56b:9590 with SMTP id a92af1059eb24-1278fcf8749mr7790469c88.21.1772502692028; Mon, 02 Mar 2026 17:51:32 -0800 (PST) X-Received: by 2002:a05:7022:4584:b0:119:e56b:9590 with SMTP id a92af1059eb24-1278fcf8749mr7790446c88.21.1772502691373; Mon, 02 Mar 2026 17:51:31 -0800 (PST) Received: from [192.168.1.57] ([98.148.145.183]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-1279cbd1993sm6629621c88.2.2026.03.02.17.51.26 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 02 Mar 2026 17:51:30 -0800 (PST) Message-ID: Date: Mon, 2 Mar 2026 17:51:24 -0800 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 1/2] dt-bindings: phy: qcom: Add CSI2 C-PHY/DPHY schema To: Bryan O'Donoghue , 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 References: <20260226-x1e-csi2-phy-v3-0-11e608759410@linaro.org> <20260226-x1e-csi2-phy-v3-1-11e608759410@linaro.org> Content-Language: en-US From: Vijay Kumar Tumati In-Reply-To: <20260226-x1e-csi2-phy-v3-1-11e608759410@linaro.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Proofpoint-ORIG-GUID: 1ICRlfZZyx-l1X6T2bAHRvUPpX3vZVmn X-Authority-Analysis: v=2.4 cv=dfmNHHXe c=1 sm=1 tr=0 ts=69a63ea4 cx=c_pps a=kVLUcbK0zfr7ocalXnG1qA==:117 a=BiHMn5M11h/vNwziJwzFrg==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=gEfo2CItAAAA:8 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=ZuF4YGRwA1bEcIVO1K4A:9 a=QEXdDO2ut3YA:10 a=vr4QvYf-bLy2KjpDp97w:22 a=sptkURWiP4Gy88Gu7hUp:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: 1ICRlfZZyx-l1X6T2bAHRvUPpX3vZVmn X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzAzMDAwNiBTYWx0ZWRfX/3f2v01OoWkM 3AE6sRwTXDY0TeWx+cPt4xMXv0PoXH4j6qGdTzjtcoGzIX+UhOoAg0QNVLu+AyQ47xOboOVFVE4 YOrxHCgeRIl5TOiHH4Jn0Df7TVsHUq5Q2A3uNigMOJieqw3lmqcw9dkwMpOgOLUvkCXrgwphTtn LAJR/1YZ/7sAWQWMmSmpa/VD5el4ZkoRFMpexH0gySn6Bmslp8CMS261TmqYnmgwTbCYVxampnD zi+unCLf3fUwoghgl+68sF06iV1NPHRB6VdcsnQ2lnaic9RoEpEjs2weaaE4awNEXD4q40e6kdY 4r9XDe11REkblNhsXgkj8Mf2LGBx8kL5OH7k9+sSlplCUDLR5XTeuAevIGkPPQbZt3PUxh/GsCm tkvODBY1stgg9/6AvIPe39qhX/U4ZApZMm6Tdh6O12+4YazYLRrhHE1cPT+XWvB2Kn82h/solDi hnKVF1EdNVRNkdpSrvw== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-02_05,2026-03-02_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 bulkscore=0 impostorscore=0 phishscore=0 clxscore=1015 spamscore=0 adultscore=0 suspectscore=0 lowpriorityscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603030006 Hi Bryan, On 2/26/2026 4:34 AM, Bryan O'Donoghue wrote: > 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 | 114 +++++++++++++++++++++ > 1 file changed, 114 insertions(+) > > diff --git a/Documentation/devicetree/bindings/phy/qcom,x1e80100-csi2-phy.yaml b/Documentation/devicetree/bindings/phy/qcom,x1e80100-csi2-phy.yaml > new file mode 100644 > index 0000000000000..c937d26ccbda9 > --- /dev/null > +++ b/Documentation/devicetree/bindings/phy/qcom,x1e80100-csi2-phy.yaml > @@ -0,0 +1,114 @@ > +# 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 sensors > + 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: > + maxItems: 1 > + > + 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 > + - vdda-0p8-supply > + - vdda-1p2-supply > + > +additionalProperties: false > + > +examples: > + - | > + #include > + #include > + #include > + #include > + > + csiphy@ace4000 { > + compatible = "qcom,x1e80100-csi2-phy"; > + reg = <0x0ace4000 0x2000>; > + #phy-cells = <1>; > + > + clocks = <&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 = "csiphy", > + "csiphy_timer", > + "camnoc_axi", > + "cpas_ahb"; > + > + operating-points-v2 = <&csiphy_opp_table>; > + > + interrupts = ; > + > + power-domains = <&camcc CAM_CC_TITAN_TOP_GDSC>; As we are cleaning up the PHY device nodes, we should consider fixing the power domains as well. Although TOP GDSC is defined as a power domain, it is not the power source for the PHY devices. Rather, it is the MMCX, MXC and optionally MXA based on the architecture (Refer to 'Voltage rail' column for PHY clocks in IPCAT). There is no parent-child relationship between the TOP GDSC and these in the clock driver and it was just working as the required power rails are getting enabled by/for other MM devices. > + > + vdda-0p8-supply = <&vreg_l2c_0p8>; > + vdda-1p2-supply = <&vreg_l1c_1p2>; > + }; > + > + csiphy_opp_table: opp-table-csiphy { > + compatible = "operating-points-v2"; > + > + opp-300000000 { > + opp-hz = /bits/ 64 <300000000>; > + required-opps = <&rpmhpd_opp_low_svs_d1>; > + }; > + > + opp-400000000 { > + opp-hz = /bits/ 64 <400000000>; > + required-opps = <&rpmhpd_opp_low_svs>; > + }; > + > + opp-480000000 { > + opp-hz = /bits/ 64 <480000000>; > + required-opps = <&rpmhpd_opp_low_svs>; > + }; > + }; > Thanks, Vijay.