From nobody Thu Apr 16 17:34:34 2026 Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53]) (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 1F1FA3D1CC3 for ; Thu, 26 Feb 2026 14:28:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772116128; cv=none; b=rE7j+fiXaimXNKlYckogiIW4s822DFVJznFlIpxWNUZCbz6QVf3DPnzmvwBtzGtZs91qBrRPltBj1tAJyKTLBRMb+Hhwtv9kjvsQTipHQSz/pTj4x0E2xQR5dUc8vNDFLWVR4rnu6wss43gvEWTOYh9bpDPhH4WrJbnBbk1+6/o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772116128; c=relaxed/simple; bh=oUlDgFPOuTzk+k1ZFHFnc33Wy4fO8ZWAGLIRsB8Y02g=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=WMSh9YmJhM0MBpjqY/3S9tBL2pgJJZMNQ8PNBvYrOKzjJdLA8qIgPml6styLfUmMpsRgJ6klNKsq0pzDesipH1aA8r+pnrXqexB0hjfQx2MVsaXLkIzuIjkWg9c8YfJt9EOMAoJvruGAsg9nA4FSiEoRPeMfWGIGMV7ssLOogoo= 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=gow6+/c3; arc=none smtp.client-ip=209.85.221.53 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="gow6+/c3" Received: by mail-wr1-f53.google.com with SMTP id ffacd0b85a97d-4398d9a12c6so732631f8f.2 for ; Thu, 26 Feb 2026 06:28:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1772116124; x=1772720924; 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=QBlrim4N223oggAozzYLyyaMZ8xxO7R36NeLnPQn72Q=; b=gow6+/c3iGApyXcnFSUXPykNDTWujFc35zuuy30tMJ3oo6HufPU+8fJ6cXBswyDmfE surFLYnvcCNiMKv6hJjMqYX9R1rCXbqey0mg6EKuSr/UMz0heEzYn08AJGKCvyz4Warv 7MUOBHQuaZ03CFsD7p5USolUj1K1OCma15QVudm42TH0XynrPn6Sp0sEsSrep+CSVcvL 5MXlsXFpbFOFuo4Q408ZAeHgeYxSREvmmsHYSrUOS2M3jJwlyUaHwU9/d2L6tTfKvwFk 2TPF7fjCfP5xaf/wMbp8EopmGbcEiUO+lno0cAEkvIGtligheRz3dzSHUxFsjnyxk8Ad +1fg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772116124; x=1772720924; 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=QBlrim4N223oggAozzYLyyaMZ8xxO7R36NeLnPQn72Q=; b=UpdiHK/1xZzbOK0eC2tYWxIEdqwaj8xdA9/UBosh+DTnExVhnYXmhuw90rVxHkFRFm RmY+ABrCGdKYkaf6Jn33uzsL/+FcNOHCaK+z+IGh87zyASZ7GaPOD1RZe9FkY4rwmdcD kRC/GCSuurSc87XiPeHjnKLGFphxHsqOy3dpmUlQJeVq0cbDHony1kLUD6dG38PGmNH5 T9Q463SeY9WOKe4UJ8e/rMfm6R4yHszrqO1Y1Uo155afBp6Jb53aHQCeDFIIHwwRF43f oe6BJRNdh82hudUSYxXjNlqh4aT+Il4cIdKGrWMTR3htxWlunirDhmNhsQSsoVI3XGVG rOLw== X-Forwarded-Encrypted: i=1; AJvYcCVylK0yfgZsqthmp2Gx8ZiA5RsntxfQZeoBqCLxh3aOQXvZoPMpGnzdriKTHxS4J8ZpupaHO82LXWzH7JU=@vger.kernel.org X-Gm-Message-State: AOJu0YyVszZJOS3pOPiFmPMQYRtYKYpFQhx4yYTEGwCXkmVqbuWofR7Q 3QW+6AmEf/2c6lLhGs1tdKdxBsGjzD4DxEedB607jZwlDK1sWA/GYpGiPj5/67QaRxw= X-Gm-Gg: ATEYQzwKkVDl8NiCW2uw2kAcWVeEbcBIl4h1WmNCtv3YaYjvMWdCrxcnAa5u60EwEBe KImiDbby+WxDwj3MHKj2E2tLTMHayp1TRuQw1DHGaSui1vRx0sRf23cjDiYs29ZYRk0aiPCxGsy rjaFGMdtePpXnFtqpQPeHAP7RsxCrpi8Ji1Gx5+2osRpy3dexgt88xJ7NMSja3JRHa9bCGYXqS3 GXKqbCd2ROvXmKuPlKZjTJBX1MdesyBJ631v/3R529gyVO1dOCuvfeRFJzYMz7ynQwMXu0LifQ7 AsrGWVSMbKrSPQyjVAot5hSJ+7WaI3N04oWrQ4DjkdINqm2NXI87x1EkqHNKySN8JfUnFeZo65G z9WuE4v0j1VF0X570wDp3gA0pxIpDuk8aox1BPcX0G+hgVHvYUL64ruQrCmN4aq+UEPiEImqtz8 LE03ZACyzDSHVctQq/WdQpJOs+DZ5z6InAQT09f0vVd2MI5tSc0NAPBNkdqn1O/XL3 X-Received: by 2002:a05:6000:1865:b0:439:8a9d:66fc with SMTP id ffacd0b85a97d-4398a9d684emr16322032f8f.15.1772116124435; Thu, 26 Feb 2026 06:28:44 -0800 (PST) Received: from [192.168.0.35] (188-141-3-146.dynamic.upc.ie. [188.141.3.146]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43970d4bf89sm39219897f8f.29.2026.02.26.06.28.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 Feb 2026 06:28:43 -0800 (PST) From: Bryan O'Donoghue Date: Thu, 26 Feb 2026 14:28:42 +0000 Subject: [PATCH v9 1/7] dt-bindings: media: qcom,x1e80100-camss: Add optional PHY handle definitions 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: <20260226-b4-linux-next-25-03-13-dtsi-x1e80100-camss-v9-1-a59c3f037d0b@linaro.org> References: <20260226-b4-linux-next-25-03-13-dtsi-x1e80100-camss-v9-0-a59c3f037d0b@linaro.org> In-Reply-To: <20260226-b4-linux-next-25-03-13-dtsi-x1e80100-camss-v9-0-a59c3f037d0b@linaro.org> To: Bjorn Andersson , Michael Turquette , Stephen Boyd , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Robert Foss , Todor Tomov , Mauro Carvalho Chehab , Konrad Dybcio , Vladimir Zapolskiy , Bryan O'Donoghue Cc: linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, Bryan O'Donoghue , Krzysztof Kozlowski X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=1451; i=bryan.odonoghue@linaro.org; h=from:subject:message-id; bh=oUlDgFPOuTzk+k1ZFHFnc33Wy4fO8ZWAGLIRsB8Y02g=; b=owEBbQKS/ZANAwAKASJxO7Ohjcg6AcsmYgBpoFibxPnmC3u2EverAZkkby/eBo5GIJANa/oCQ eM1mxZBwhqJAjMEAAEKAB0WIQTmk/sqq6Nt4Rerb7QicTuzoY3IOgUCaaBYmwAKCRAicTuzoY3I OtRQEACLfSoHUc1rg2Jl/sauqI9Mtdw8axf+VLfyialt38ijwTVbFWg48vThermKEBJofT64OEb ZfV/Ffe9HuGwiNSrKXZ1sN547+64PJPwCvQASX0Umh3Dopuqt0pafRzLjjOabplu4u1oLeQW0Jn s85cGIcLdeuBDSPivy1cVq3fBrmtO5HJOi3kJA2uv2/P71xOpeCL+6eCPG4F2DyxRjFy8ABXfvG Wgz01YMVSvzaKcjX3q49X9Y2Bb+gQCm9oRmWskn64HFih57PFk9Xov3SiNh2XOOpOGx02zh7sc3 GX56hFn0iEX/2XbudY7hLtbPDSh4akpALwY1dLFNU4mrkVXF2zWS/Oc7zJX5etjOgBLm7ylsdbk gDCI14tn0NiYq/ZbeNrA5snP0BCsNZQiN2w2CRJs6zyFL5Q5VYRGT+nE7ba/q1ZZ6E/kIpUAcfA Q6I32G8xieCSNmiQ6S8kfmSeCpW+p5ZVGBHywDLgWDJrOktttiDA4Lq9uBQmXD2xf68XjQE6Kq4 aPFxe5B6YR7p+HjIU7sAAGquKK42UjcDsE0d6zGfuKgmN3HSyuRZhfuXUYnXti+U9VQtV2squ6B 5QPLVLTVooh4nrMU9sLXHCDZ9VfX0/tH9RR7K8THpex/e3ltG4rZdfQYzHNz2Iam/wUa380RpZU tsqIq7hU1M3dZ0Q== X-Developer-Key: i=bryan.odonoghue@linaro.org; a=openpgp; fpr=E693FB2AABA36DE117AB6FB422713BB3A18DC83A Add optional PHY handle definitions. This will allow for supporting both legacy PHY definitions as well as supporting the optional new handle based approach. Signed-off-by: Bryan O'Donoghue --- .../devicetree/bindings/media/qcom,x1e80100-camss.yaml | 15 +++++++++++= ++++ 1 file changed, 15 insertions(+) diff --git a/Documentation/devicetree/bindings/media/qcom,x1e80100-camss.ya= ml b/Documentation/devicetree/bindings/media/qcom,x1e80100-camss.yaml index 2d1662ef522b7..bb18236b4f344 100644 --- a/Documentation/devicetree/bindings/media/qcom,x1e80100-camss.yaml +++ b/Documentation/devicetree/bindings/media/qcom,x1e80100-camss.yaml @@ -126,6 +126,16 @@ properties: description: 1.2V supply to a PHY. =20 + phys: + maxItems: 4 + + phy-names: + items: + - const: csiphy0 + - const: csiphy1 + - const: csiphy2 + - const: csiphy4 + ports: $ref: /schemas/graph.yaml#/properties/ports =20 @@ -351,6 +361,11 @@ examples: vdd-csiphy-0p8-supply =3D <&csiphy_0p8_supply>; vdd-csiphy-1p2-supply =3D <&csiphy_1p2_supply>; =20 + phys =3D <&csiphy0>, <&csiphy1>, + <&csiphy2>, <&csiphy4>; + phy-names =3D "csiphy0", "csiphy1", + "csiphy2", "csiphy4"; + ports { #address-cells =3D <1>; #size-cells =3D <0>; --=20 2.52.0 From nobody Thu Apr 16 17:34:34 2026 Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.50]) (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 E72F43D3331 for ; Thu, 26 Feb 2026 14:28:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772116131; cv=none; b=ozn1/F6s7ryq8dg0b5lE7GghBhrQYvqkL2u/CHqoT6x624DQprvvbLi7otV/aeaiAwuJhMLnu0DFY8eKX4byXd/6189lxlP+vIL82npVQXnRJAajPCJe1rdGmGFusx3UmyESTVTre5PNG6gd3Iw8zqWC9SAzOBBOHk9BpJR8dwU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772116131; c=relaxed/simple; bh=Qn38MpcT3X5Uop/ohxc7EbyGDk10OdmDudGcFnhPjxg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=DOnWr5e8avzRO304dgj1IRBZHnaTNtsAzgT/ePj4reMdWjp2PpuOm7kAdOTelevyWljF0XRC+EAjULxFW66NTO9Rie7elavJ8V9OfSZVWSbHEChg4NYOjuBxGw1hWGqy23S1uCTJNB9/7wNY1XtdwSp6Jue0EXd39I19CaUjFx4= 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=k5PkBfRk; arc=none smtp.client-ip=209.85.221.50 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="k5PkBfRk" Received: by mail-wr1-f50.google.com with SMTP id ffacd0b85a97d-43989bd056bso794187f8f.1 for ; Thu, 26 Feb 2026 06:28:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1772116126; x=1772720926; 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=gAf7469QLdF9nEYEeORB29gZq4TsObx9AWVyJ/rds9w=; b=k5PkBfRkAgezcT43OXqr98+PeNadlKfc7sjS0aQqrQlKtOv36KwCEbjD+q/ZHT8WyV j66stZhmV2U4omDu6GKL5Afn8Pq0LYr/DPa1QjWzpFFiIR08ObhnURXKO3n5fK3OZRxh 3nzVDtq4H0wHJV/7+kG5saNwj4+dbHpGgW+F+JMrnF3OaDpbTSQARAD073BcBqDFxkhN x2X8QRoCs+I0jNSobMiWnHT6NTjzd5/xVgoCvOHa4qOVEiCJfq6ynP0Cl3e1wGHprTRV +AeqQCfONyYlhDpqXOtZtfrl0EzfKyjxLOKKWZoB2MF/g5NOIAQd+12kthay4aX9htpS DWGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772116126; x=1772720926; 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=gAf7469QLdF9nEYEeORB29gZq4TsObx9AWVyJ/rds9w=; b=mJ9Ti8+1w6oX5a7UGjE8vIg9aVlkParbZ5wjSb5f+BuLfTFxGs3Df5luxZyxMnGob3 z0cOZmPH53mJFRQeKeFUxKwxIE7s3hOrM3xHqEDZL0jr6zqbqqjDZTJiQQKS5mroP9uV Njb1YWUrv/AbUSCX2Bm/j7d/iuoq3NmZqjQhDCCb37vmdxSGaVrMvwx/tK4kbMY2nxUP 45cAuGK+qh8uDKb7OtOG6Aw12bzINojeL0eowsZBnakHzEgyG9/dCdX5jaaZx4D1kqFb judlfeUAwRRPaM8DGjaneRbnQ+L9mA3Ho1/zyj87m3bcEKSbPYqeMl6nyD/kqmeAHeKP F6iw== X-Forwarded-Encrypted: i=1; AJvYcCWuA9EZ5qntMGXnhuJNjzK6Rlh5Sw4L/FsTuBcF5Gt/oQg7h+jy4aa9WU84fhx+VoyQ6+N/oQtCtZIVtiM=@vger.kernel.org X-Gm-Message-State: AOJu0Yxf7VMYp9jWg0N1Cxh1gaXdbHGNXO2yMLf49kDntTxviTYNcp1W MOddi5omyaQbeCXNp+tbueFyDRwsJ/RvgryHA8I4vIUgXBKC+bMt84iniA9DOiszRLg= X-Gm-Gg: ATEYQzwjt2Xvz1EazzKcOPfjCVFxITD8SFBuITyPhp4WyeQuMBXroUpjC10PhqOQ1vS MTrZTJc+uDxjDL8BjNMwS/+LjClxkXyi18NqkmDfm7a7tYJ61AxMpuH8FMfzFMtMrNaIdKRcxIw fgef5pVd0GsVAMWaRB9i80wXcM2VWfc5RalKyGkL3BDUvEIBoqGFqpnzYXn6bCVuNTTLm/jdnbn dJqcFkvi8WvKRIB3wcH1eW0fZVVyDYW2LzIwLH8UPsb66K3UijkERgK6aFkDTNXh7l6VFmj0PkQ gu+DAJw4xaHPgTzglR2Rq/SwC41a9ppe0eM/KRpL/9qWUjKx9jNf9N1nEdLaAaUKP3wYjA2frB5 2WR6UIyYpU054Q/xNwXYkaz+7jW2XMKedfMhethLIgZ089XWr0KidhlK0YXVP/8yq5fqcsoLUv+ H6Q0c+0Bb3gKuO/yAx8tGKnFVJ+V+u9+KjwqD7DBm7l+FPoFm09oLHUtAqY5+ytpQ4 X-Received: by 2002:a05:6000:144c:b0:439:909f:c594 with SMTP id ffacd0b85a97d-439971ae7f0mr6470219f8f.10.1772116126101; Thu, 26 Feb 2026 06:28:46 -0800 (PST) Received: from [192.168.0.35] (188-141-3-146.dynamic.upc.ie. [188.141.3.146]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43970d4bf89sm39219897f8f.29.2026.02.26.06.28.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 Feb 2026 06:28:45 -0800 (PST) From: Bryan O'Donoghue Date: Thu, 26 Feb 2026 14:28:43 +0000 Subject: [PATCH v9 2/7] dt-bindings: media: qcom,x1e80100-camss: Add support for combo-mode endpoints 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: <20260226-b4-linux-next-25-03-13-dtsi-x1e80100-camss-v9-2-a59c3f037d0b@linaro.org> References: <20260226-b4-linux-next-25-03-13-dtsi-x1e80100-camss-v9-0-a59c3f037d0b@linaro.org> In-Reply-To: <20260226-b4-linux-next-25-03-13-dtsi-x1e80100-camss-v9-0-a59c3f037d0b@linaro.org> To: Bjorn Andersson , Michael Turquette , Stephen Boyd , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Robert Foss , Todor Tomov , Mauro Carvalho Chehab , Konrad Dybcio , Vladimir Zapolskiy , Bryan O'Donoghue Cc: linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, Bryan O'Donoghue , Krzysztof Kozlowski X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=3883; i=bryan.odonoghue@linaro.org; h=from:subject:message-id; bh=Qn38MpcT3X5Uop/ohxc7EbyGDk10OdmDudGcFnhPjxg=; b=owEBbQKS/ZANAwAKASJxO7Ohjcg6AcsmYgBpoFibxmwRG4nV42g91OU5baGAhb9UrprB+WKHZ UeLkd9iB7CJAjMEAAEKAB0WIQTmk/sqq6Nt4Rerb7QicTuzoY3IOgUCaaBYmwAKCRAicTuzoY3I Oi+PD/9pCn3AIL9kKnZr+D3tr8VDBReN+w5AWVk8KycbgwU8ryeqALkr54fryKpzb5jZLxqiovX XRRXh6gUpyCYAsBNfDKD99+C1uDy6YaOfmLip+sWsa/YYfLje0G9J0s8nuxFmgQU53kCY+olg0W qm1fIye7dXW6MHXJvjY9K3+P0ie8VQAVR39n+HI5NKxuzeAazFwckTgzTA/wY0ozthnlUk4zYvZ dCQYhxhFSQ+HjQRbGjDacjka+2hfFzwwIS+twt00NY1UNyrHhhN8AzI7fI/q09OZIwMmg2OMYFd aK9j+1XCrt+1IbOTXllrz/Qk//rQ/B67gbWGP2ZnWpbubpq1La1SWk4mx695AJqshhMN3gk32xl 9gBOCeGLsAVT/accM2oAlSwtzDQQKjNDAAT42AEjKmSC2SKcj4sFmRtIeuVsHio1r2S0RB1lGsb ZLNVjcUhda1VM+54Cu4wLj1J5isHMcjKDlrHa3js5qULzYADANUnNlGlIa8CC7ZlRhiyL/20471 4JypF6hC48KNZm8bFNSCivfirLRbzWYCSoNglj/7c6WZcRvjSru0yaoYcigurZ3RlHFyBVBDQ1k i0gSTKwDMHzDFJNi/tG6mpHyWD8kzmz1jwAyUwgOBVngydEzIcB1lnlFer44PxJPeuHTlTF717Y Vujn/s5/5pYyA6g== X-Developer-Key: i=bryan.odonoghue@linaro.org; a=openpgp; fpr=E693FB2AABA36DE117AB6FB422713BB3A18DC83A Qualcomm CSI2 PHYs support a mode where two sensors may be attached to the one CSIPHY. When we have one endpoint we may have - DPHY 1, 2 or 4 data lanes + 1 clock lane - CPHY 3 wire data lane When we have two endpoints this indicates the special fixed combo-mode. - DPHY endpoint0 =3D> 2+1 and endpoint1 =3D> 1+1 data-lane/clock-lane combi= nation. Signed-off-by: Bryan O'Donoghue --- .../bindings/media/qcom,x1e80100-camss.yaml | 69 ++++++++++++++++++= ++-- 1 file changed, 65 insertions(+), 4 deletions(-) diff --git a/Documentation/devicetree/bindings/media/qcom,x1e80100-camss.ya= ml b/Documentation/devicetree/bindings/media/qcom,x1e80100-camss.yaml index bb18236b4f344..8dbaab16b11d4 100644 --- a/Documentation/devicetree/bindings/media/qcom,x1e80100-camss.yaml +++ b/Documentation/devicetree/bindings/media/qcom,x1e80100-camss.yaml @@ -140,7 +140,8 @@ properties: $ref: /schemas/graph.yaml#/properties/ports =20 description: - CSI input ports. + CSI input ports. Supports either standard single sensor mode or + Qualcomm's combo mode with one sensor in 2x1 + 1x1 data-lane, clock-= lane mode. =20 patternProperties: "^port@[0-3]$": @@ -148,26 +149,86 @@ properties: unevaluatedProperties: false =20 description: - Input port for receiving CSI data from a CSIPHY. + Input port for receiving CSI data. =20 properties: - endpoint: + endpoint@0: $ref: video-interfaces.yaml# unevaluatedProperties: false =20 + description: + Endpoint for receiving a single sensor input (or first leg o= f combo). + properties: data-lanes: minItems: 1 - maxItems: 4 + maxItems: 4 # Base max allows 4 (for D-PHY) + + clock-lanes: + maxItems: 1 =20 bus-type: enum: - 1 # MEDIA_BUS_TYPE_CSI2_CPHY - 4 # MEDIA_BUS_TYPE_CSI2_DPHY =20 + endpoint@1: + $ref: video-interfaces.yaml# + unevaluatedProperties: false + + description: + Endpoint for receiving the second leg of a combo sensor inpu= t. + + properties: + data-lanes: + maxItems: 1 + + clock-lanes: + maxItems: 1 + + bus-type: + const: 4 # Combo is D-PHY specific + required: - data-lanes =20 + allOf: + # Case 1: Combo Mode (endpoint@1 is present) + # If endpoint@1 exists, we restrict endpoint@0 to 2 lanes (D-PHY= split) + - if: + required: + - endpoint@1 + then: + properties: + endpoint@0: + properties: + data-lanes: + minItems: 2 + maxItems: 2 + bus-type: + const: 4 + endpoint@1: + properties: + data-lanes: + minItems: 1 + maxItems: 1 + bus-type: + const: 4 + + # Case 2: Single Mode (endpoint@1 is missing) + # We explicitly allow up to 4 lanes here to cover the D-PHY use = case. + - if: + not: + required: + - endpoint@1 + then: + properties: + endpoint@0: + properties: + data-lanes: + minItems: 1 + maxItems: 4 + required: - compatible - reg --=20 2.52.0 From nobody Thu Apr 16 17:34:34 2026 Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.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 4F24F3D4103 for ; Thu, 26 Feb 2026 14:28:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772116133; cv=none; b=gvjJlsIMu0WZKo1Ny72wdGL0KblEBDRK/Bzl+bckeosnnpbd4s84QadlyqYd1kOragsE2DWJkj9UQGY0/2o6PKeSWIqFYRvUPElqQ5pw38BvaLlnHtPiRgWS9f8OiMt7dft26vvjLp/i65h2rz2lbEEw3o5cTm5J0og93YjQY7w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772116133; c=relaxed/simple; bh=WJDLlVX2Xzk+wCJnEgTtDLZA4OHjsU9S+VdRID0jrM0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ccehRbTU9nTdj6HdZgxqv0yIEPKYod5FZsCMya+5RSW/8In/ZIK/lUjnz2M7N13PsTRMB8YdqLxJEd8W6mdzO9hxVnpUuDjOgAfY5RZ6XdySve2ILt4F/8YP4+W+BWS4G064qMulUjzmv9BD05q0Ew8pUf/u/Vs2UZNf3sbt604= 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=e9xm1AcH; arc=none smtp.client-ip=209.85.221.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="e9xm1AcH" Received: by mail-wr1-f51.google.com with SMTP id ffacd0b85a97d-4398d1f06caso872486f8f.0 for ; Thu, 26 Feb 2026 06:28:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1772116128; x=1772720928; 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=pBils5t80gyOQ06en6vqctPVY+b40EmRNjQtdblnFBU=; b=e9xm1AcHlxMX1N43xyXA2PMfdPacnmLvorhVdKCLqdrvbuh+VevRENkseG4WLdVvj+ Ynp5EsSLe/P1ZNtZyMlWzHYZoRAjnB9LSxWcd5POBelfzvCk8qDPyjbuvKPgqqYZ6wku kxDeaEZoq7jyPWpUkK7qu+8YuhbZzRwCCRZ+UWn7mpQUpc6URs9hXhCtoV4wpcPIdz1j yq+nwIwBvl4gDjeW5bscZTNLbMhNlebWPTm89cbwxnjNQWwScGzsNFDZHLFVYIJs6GI1 m1Xx2Z2Orh0hQEuMoQ+wwRDsZWhFggpf6Us/nWFlMuRSr+93l7EPJXCstkb4NCM7Gdmw lQJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772116128; x=1772720928; 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=pBils5t80gyOQ06en6vqctPVY+b40EmRNjQtdblnFBU=; b=D9aUOgxsNSCfTJFOv9wo69yPI5CAbI05dFemmeTrNxIGv7LkgYEynwPxum4xwAlbZG 27n+0K7oJsNKIs4GGMic4dl53RYu7hcjGh8ysctXoWhhBKpLuaSqv2joy1U+//klozsh RxKEvPnqceVQjYyeHxgdb0Y8if+pbLV5rNdrB5LHfCnP2pkvSMgNKeHLrWvi3KVKIcjJ JS8KX8mk9tLouDje2r8lxp417Z7Q3mSUp34cUYcWx33OKX3myw6ib7Ke3w4mEwR5Uqyy jl2f/SAIaBCLfTnAcEtIQil1Ubt3cCBUOSKjXV0+flhGObo6td1umNecL/9rNx/pPSrm y5PA== X-Forwarded-Encrypted: i=1; AJvYcCVwZ3UA8mOqP7Ypb237oNlZ5+EerHYEm1F65QqmEx4g1QUgm8Jmxa3yU/yZZgGDl7Pspc5A/O4APYYGd8w=@vger.kernel.org X-Gm-Message-State: AOJu0Yww6xNKs/qUl3GYmixDEwOJ6h4dBFShQsGAf2tfZZiR4gPpFZZl SR65pC2wz1fx6uO3xzPTKclDcWuLHwGJg7iHNjxQznJA1EUdAL9ctq0GQS6UnJOZF7Y= X-Gm-Gg: ATEYQzyjMH5r2L0LGTAUYTBf4IBifyfHMnXVsjDsewnze8it5DIVy7vpk7oV086Hco7 UItS9FXPmav4ejqsS5cyxqIzNGgCet3h/yMRK7WS2t4iITaiHXqw+qHUKUALpPqA1DcwGHmyAeK cfLObOARVIgdOgHhZWrdsnXxnHfD0AS+64dEtgmy/ZMgbSxfjlAtQ1vG0a046EUIHpmMtYcXqxj M4mLOgpB2Hk+n00bjLwkoAg4ung9RdLm5W9lQI+I3MKZN8Yj+bjYfySMyRCUYaxBlc1WKFaxafA s2baqatNjxnMyTOm11YJKNvSM52c9aMSTKI/ytrMeG3ZQMlLs7RmYlo5bD2gPYy1hTFIyQwpPIW jNP0+ovOH3vVaLJza47pl3OM8UvSpQQ1qj3RcoT3Wa5AHr/JXz0SU95/AGtuOBgvHIX6wuzrZWZ sZlM1qM9NkA0Qcz+jI4mAxEiiDtKHebys/O2F8hyklrjPNMWKpY+TiwiVm7YJthl7R X-Received: by 2002:a05:6000:4304:b0:435:add0:3d68 with SMTP id ffacd0b85a97d-4399430088amr8840100f8f.58.1772116127466; Thu, 26 Feb 2026 06:28:47 -0800 (PST) Received: from [192.168.0.35] (188-141-3-146.dynamic.upc.ie. [188.141.3.146]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43970d4bf89sm39219897f8f.29.2026.02.26.06.28.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 Feb 2026 06:28:46 -0800 (PST) From: Bryan O'Donoghue Date: Thu, 26 Feb 2026 14:28:44 +0000 Subject: [PATCH v9 3/7] dt-bindings: media: qcom,x1e80100-camss: Add iommus minItems: 5 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: <20260226-b4-linux-next-25-03-13-dtsi-x1e80100-camss-v9-3-a59c3f037d0b@linaro.org> References: <20260226-b4-linux-next-25-03-13-dtsi-x1e80100-camss-v9-0-a59c3f037d0b@linaro.org> In-Reply-To: <20260226-b4-linux-next-25-03-13-dtsi-x1e80100-camss-v9-0-a59c3f037d0b@linaro.org> To: Bjorn Andersson , Michael Turquette , Stephen Boyd , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Robert Foss , Todor Tomov , Mauro Carvalho Chehab , Konrad Dybcio , Vladimir Zapolskiy , Bryan O'Donoghue Cc: linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, Bryan O'Donoghue , Krzysztof Kozlowski X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=1331; i=bryan.odonoghue@linaro.org; h=from:subject:message-id; bh=WJDLlVX2Xzk+wCJnEgTtDLZA4OHjsU9S+VdRID0jrM0=; b=kA0DAAoBInE7s6GNyDoByyZiAGmgWJvI7Yftmj3tnq2NZsEYjkfrAv2WPd9BI/DTcJOV2ZZKo YkCMwQAAQoAHRYhBOaT+yqro23hF6tvtCJxO7Ohjcg6BQJpoFibAAoJECJxO7Ohjcg6RjIQAKSu pnlNPCH3LuCekIzc68sDIxfaU30BrwuGyg3baSla8/vw0tDXfdKOEoyop+TR/SzFNdMl1w2e2qu onPnhs9nJp9NjN8i0NIZFT3VjcxbupEwaiuDz9Kb8hDT68JQiCAihwCLfQk8PYUHvUxhrum1WzA aCV3TR2srBdbWo/b3+bIHMhHw5g/WKct4iJUoXyAl4zU+1b5fQybNoSCp9vFUUa89pCmA3nCUGi a4DBeh9wwzqBGfz5uzEdMmvPFJo8TvfI65HpYK8674pYpPFWnwDfYFEnr4B/EAsT1jNbHGH+j34 fFtGq7Zsk6kep89GkLjDx39YgAO/UHmdo4FURk4nvgjzphZf9S5aLoeIbZzhoirUasgw46CJD4v hgxRWX1u88wPg7U4xwM45uXkc6d7hgDcQSh+m89o27N4w8ZQxn4oW83qS4kdXrPcpT0iMuYCqGq uYz/IsdMlkHK8Xolpvt+QIDn2oGv4OzY73m1CSMTBV9tZVlIaF5Wq43zXKnzkyjry2GOnoGIRPL 4GlPsIJci1jb96UwCLeNpSzTugzWde6fsvnEVyPlZ0LiOHgnuYB2ryJJEneJMHhd0eA0JI3i4nQ OYBeoO8nSPvljxipyiQB6WrntjGd4Cwf5FfziYZV0Yw34eM+4r5jwO4xcI5qNUh74zdfy82JHy5 sSm++ X-Developer-Key: i=bryan.odonoghue@linaro.org; a=openpgp; fpr=E693FB2AABA36DE117AB6FB422713BB3A18DC83A Specify a minimum number of iommus entries. Currently the schema requires exactly eight. Add minItems to allow fewer entries while retaining the existing maximum. Signed-off-by: Bryan O'Donoghue --- Documentation/devicetree/bindings/media/qcom,x1e80100-camss.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Documentation/devicetree/bindings/media/qcom,x1e80100-camss.ya= ml b/Documentation/devicetree/bindings/media/qcom,x1e80100-camss.yaml index 8dbaab16b11d4..f406cf6f8f9c1 100644 --- a/Documentation/devicetree/bindings/media/qcom,x1e80100-camss.yaml +++ b/Documentation/devicetree/bindings/media/qcom,x1e80100-camss.yaml @@ -104,6 +104,7 @@ properties: - const: sf_icp_mnoc =20 iommus: + minItems: 5 maxItems: 8 =20 power-domains: @@ -404,11 +405,8 @@ examples: =20 iommus =3D <&apps_smmu 0x800 0x60>, <&apps_smmu 0x860 0x60>, - <&apps_smmu 0x1800 0x60>, <&apps_smmu 0x1860 0x60>, <&apps_smmu 0x18e0 0x00>, - <&apps_smmu 0x1980 0x20>, - <&apps_smmu 0x1900 0x00>, <&apps_smmu 0x19a0 0x20>; =20 power-domains =3D <&camcc CAM_CC_IFE_0_GDSC>, --=20 2.52.0 From nobody Thu Apr 16 17:34:34 2026 Received: from mail-wr1-f45.google.com (mail-wr1-f45.google.com [209.85.221.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 EBBED3D5226 for ; Thu, 26 Feb 2026 14:28:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772116135; cv=none; b=Y2J2UIVLS1zvBkEajnqcuDpVVaZA0LS1H9S4ZNlc4aPnqw4BzlqwCWzv6iUhVnEwlaYLUm9biIBlSYViabFk01rFgBZAV433TGean99vVJuUQnB7xjG3lkHE2mFBCUrN/k8WaHTp7DYLLfdfBqhRvut3AW+6kpcrItVICKxPu1M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772116135; c=relaxed/simple; bh=Yg+9K+uVNQCpVtms8a3DDntKPMJx4dik8Qk+0Gh1t2k=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=hUBN6UJowptm+OA152BTAsK4uFN2jSJg0duXBZVPIVZxOTvKn60lFCI6i/HMu1Ta3X9I/cSOi9HP+4tcJRJuQrrMahqmzbrA9tTmihaif1WuanR8A1GEbuOubro1G7+rg/yKjnSs6OPY0sMarLJUtWgpolJPO4R5smG/pb8NUWg= 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=KtEhktnl; arc=none smtp.client-ip=209.85.221.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="KtEhktnl" Received: by mail-wr1-f45.google.com with SMTP id ffacd0b85a97d-439857ec679so813393f8f.2 for ; Thu, 26 Feb 2026 06:28:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1772116129; x=1772720929; 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=PT5yqG8vXBWHfXrGzM4Tk0LOrnIaCETkWh1v4QtireA=; b=KtEhktnlxy2gnLDeqk1Zag5nR4HWWhSDoJ2gsAIhtgpsJoHfXQZWwqnkWZOiqwWwMD wda1dK7GaTA3zvk+gS6DGlpPqduXG4QZGJARioarJzus7DRB/xSDOtagqWr1tjvaLvrg 5AwfqrD8ArQy9X/D1CdBA3HPTsobDDP0hXB7F5sTYWNNhcJWqUXEWqnNLyEo6jmBUy9G yXxGFZN0kZoDQ9dpk/uKm9sIc2w2gtspWx4rw4uo84Umel1ScnTPffpUc8EzaWLeIJzW Nb8AsCVf+SxQ+/25/NuTaw8x2bVXchRnFITdgyqBkRj+0jA9+TJLvAEYDtZYhgUK4jcG xqcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772116129; x=1772720929; 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=PT5yqG8vXBWHfXrGzM4Tk0LOrnIaCETkWh1v4QtireA=; b=P8adTZ4roqoL3cHUXPDyPcynEceno8dk11TA0/Aeg4RgGbeasAk3qYat3rI+9lk0Wd OZ/zZHLaNLR1VTTbS6GdygB0I7yaPMi2oXS+30xyGCQ5PgNKfFg61DgVU62UsD/vHCJ5 b1RQjD1QqRLRylzm8DCzr3Iu0C6EPZa+GcWxIBHyx3gPpfMpMmsT7iMnqtIancPOF+Hw J9VYYP83o2ZJ2W6VU515aqnqxlEfXRZxA52TIWBHNP0aF0E876vaMPTP4CBIda0L4IYa LJeOoq0BwsK3U9lqxfHCpD6bndj2GC97+3UcyeKFqa883xBERVEs6Hk1JITyqa87ZKpx 2qXA== X-Forwarded-Encrypted: i=1; AJvYcCWEYNYgBrql61T+mxf1pSJGKvRcHCmaRjoLzD3sIyCqRv5Ghjr0tDaBWlZHZwgmLW0IQ1vK91ug/cMjjhA=@vger.kernel.org X-Gm-Message-State: AOJu0YytqCsr4AAKVzUUGf0GpzQpz6ZbUtXg1HUzl9z6IXB31fEWS6p6 MX+4DCAweIZV2mMo+Oc60pT7OWYsvmqEQk2uN9azjgx5x+s5s6l8JiB155cH0C5uNsY= X-Gm-Gg: ATEYQzwMgjN99c50JLn/2lfkHQLkriS75ebK2+E5jQwmyXB5LfdsxTtq2nhJ5RJKC0e vq//6CX9EOtxDtS1PGZJmE/os4aJR114+8fKEH1s1KSVPh/hMA1S7IyuLwvoUkoBDPj8nERG8hr L1btuUPgk69gxA2CDouPz+aLtA7e5pARYiT3p+JJDfQ4Pb78lW96iQM1EM2ZeMmqjOutn1Zs6Bd eNAQ8vWrBIFO2BTBWPbLAIVMM2cXqNvW6lL5fboJsVRRBGPSC+3S7xWEmcqeQpChtfFZA2TFWPK bRhU2HtP+YDuLVshvQwr4QK/dq6mVKgmsVQjZJsoJoEBTfk90igfiU8UT7mBU9H5Pf0Q9V5+Cyc ujZ/muFV3/kAju8dI0CAUn9ogg45PgnHl+0DFyFJjbGgwVO6ZU+0LHtK9M6NPdZLGTshkusD6Hr tFo1yiNCHLW/hJ3UpS/n7vSLASUzNdZG/sKqyavTtpxjgtVcGRbthoS2sa7hN7mRtu X-Received: by 2002:a5d:64e5:0:b0:439:8bb9:dad4 with SMTP id ffacd0b85a97d-439942109cfmr7687747f8f.0.1772116128933; Thu, 26 Feb 2026 06:28:48 -0800 (PST) Received: from [192.168.0.35] (188-141-3-146.dynamic.upc.ie. [188.141.3.146]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43970d4bf89sm39219897f8f.29.2026.02.26.06.28.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 Feb 2026 06:28:48 -0800 (PST) From: Bryan O'Donoghue Date: Thu, 26 Feb 2026 14:28:45 +0000 Subject: [PATCH v9 4/7] dt-bindings: media: qcom,x1e80100-camss: Allow CSIPHY supplies to be optional 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: <20260226-b4-linux-next-25-03-13-dtsi-x1e80100-camss-v9-4-a59c3f037d0b@linaro.org> References: <20260226-b4-linux-next-25-03-13-dtsi-x1e80100-camss-v9-0-a59c3f037d0b@linaro.org> In-Reply-To: <20260226-b4-linux-next-25-03-13-dtsi-x1e80100-camss-v9-0-a59c3f037d0b@linaro.org> To: Bjorn Andersson , Michael Turquette , Stephen Boyd , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Robert Foss , Todor Tomov , Mauro Carvalho Chehab , Konrad Dybcio , Vladimir Zapolskiy , Bryan O'Donoghue Cc: linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, Bryan O'Donoghue , Krzysztof Kozlowski X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=883; i=bryan.odonoghue@linaro.org; h=from:subject:message-id; bh=Yg+9K+uVNQCpVtms8a3DDntKPMJx4dik8Qk+0Gh1t2k=; b=owEBbQKS/ZANAwAKASJxO7Ohjcg6AcsmYgBpoFicaaNl6Y9jq8MrqGgi2he0VK9T64CSNGLhf cbmHvGG24uJAjMEAAEKAB0WIQTmk/sqq6Nt4Rerb7QicTuzoY3IOgUCaaBYnAAKCRAicTuzoY3I Oj0RD/46klVUKSPMzgVpgsIKjnYbgrlgJ1CEBkKktdHeKVVEjmrG7PJtL2wJ29FdUEMOyMsCqmr ulv1I2zPQr0C7jWtmvGOCLoKAy/dcdp+cvMZ6X1GzUrXUaPbglgYK7OfOndk++htn+qP2HfZeGY JpFjfKAwiWA7k7uaIWGId7A7/dZYvEpCrhNpQVuSqve7cikf3Fc7B/EiRVQ/uWuo4pBuXtRzRSD ivFpQlt6HDa00UBMfLsvfMw78NXwc/sHXxdaYXBHUlUNOsLDVDa2kqhHmyGtevDhJAQvniIcx4c 5ZIp6pvBdV6qMczcDE3ag3mQN87FYNzVOkMHw8rav4E3zeb0v80e1rqAIBn3JLJmoRaIeMXSJeh h86MZ5F6gkN8nvqYPiBuh8VZlhvTeme1iWZXQ46DOSuLn/eakaQQq1/RFVfZhToMAliANStfURg QorED1hdJZDjbOhi2MoJp3PMXKwH3HA1fOp46T2135kc1lXfsZaOTddS1OZ9bbSRRbXW+KVnSXv +7ioCPviSzs5qNnCoFoJmtrwUp+vsws59FKvgp5NccbgErVaaWDzIp3RsaTZarGDg00MsvSTLco QIpk7ljNISsy33jJ2gdHd7lFKsaXsF1jmxgq+WRuny0wXhO9DE6jFecM/Z4vEQhk8RNrzMPz8fd VfDuWUvLNdk7Vpg== X-Developer-Key: i=bryan.odonoghue@linaro.org; a=openpgp; fpr=E693FB2AABA36DE117AB6FB422713BB3A18DC83A When CSIPHY devices are modelled as standalone PHY nodes the voltage rails are defined per-PHY. Allow the CAMSS-level supply properties to be omitted in this case. Signed-off-by: Bryan O'Donoghue --- Documentation/devicetree/bindings/media/qcom,x1e80100-camss.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/Documentation/devicetree/bindings/media/qcom,x1e80100-camss.ya= ml b/Documentation/devicetree/bindings/media/qcom,x1e80100-camss.yaml index f406cf6f8f9c1..3a5f179c15910 100644 --- a/Documentation/devicetree/bindings/media/qcom,x1e80100-camss.yaml +++ b/Documentation/devicetree/bindings/media/qcom,x1e80100-camss.yaml @@ -243,8 +243,6 @@ required: - iommus - power-domains - power-domain-names - - vdd-csiphy-0p8-supply - - vdd-csiphy-1p2-supply - ports =20 additionalProperties: false --=20 2.52.0 From nobody Thu Apr 16 17:34:34 2026 Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.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 52DD23D5258 for ; Thu, 26 Feb 2026 14:28:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772116140; cv=none; b=Ih3474f0DvrylnRzwS3AzkxN6Cb9pKmX9A0e7YcbcX6flciZyfFeaw48QgH73JAJ9aNa0BsC9M5SToT/X4rDLYIS55cWXFNeaB5m/bDov29JbostVod8rzpwgr+gR+iLD4bI/p1OQjlUOKFanz1/EAEw03j7UvijHkRAjlLgL+M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772116140; c=relaxed/simple; bh=T56zPiTpvN0GBLBYQMGo9vQwbDNYOKXq8zVh3tggF/U=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=KN3n/1psPqZ5W1lSluwwdhoEwWag3Yg1kl3LQjjOdsEp342YPsQnUi1ZsT1fh/OXp7tT6uisM+9LzbnA2MJndnKlB/+zz2/nN5mXV+93vxrriqAA7S0LLqs3Rk5oyqLunq2/1dVvedt5BHoG3OQ2lW5G12LyzQyqXjPTZO6tIYs= 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=nycydzJz; arc=none smtp.client-ip=209.85.128.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="nycydzJz" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-4836f4cbe0bso8813615e9.3 for ; Thu, 26 Feb 2026 06:28:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1772116130; x=1772720930; 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=lJflEsJoWFuWsTkTz3+7munVvf3KCvZoSO705SUTMdI=; b=nycydzJzirTOBMNdtHm+Bi60nEds+2kfRU8ArAs6GdGYGqbdkve4XmfElmiD598pQO yav2DYsIIk7J/dmlg01ygdMCYUWhy4Zl3qv076J3b68mJV1YCI5rJNX/oCBmHu3dTINF v+gLKxqaH8C4ueZFewBOsm2NzTgPdtja6D6muSa+U7EdiSVxgqReXDmxyzNiMtID3B9R KceOe+8IeC546gGjyTKQeCbeV5Di3MvOAd+K3eOgyX7bPN831O+QwzDqVmt7yoqdHQmj tCCLM/3X0z1kTlhhSEwxeR4aoOkE+YPqWdxZrW/OPevAOdtjAl5UUOkZNRls03eWjPQJ Abfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772116130; x=1772720930; 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=lJflEsJoWFuWsTkTz3+7munVvf3KCvZoSO705SUTMdI=; b=DLOGIm2FWhe3MmSV9c7hWjFd1OXBB4n0+NvmT2oX0SNVyqfy6X15JdRUQcmVHbuhiI BbrOYBWhtudn/dZMol0p0dw9poABttChVSWM3NSYk/L13H/shRRoNtZJCE3RzWyMfJtt OZ8qvumhqUtWbGbb3tHVpCXtbyCQ9yq9tYv2hdKCAlOcaFT0/NLqakpBXxpePqKySX09 BN1Uwd9vdArEE+U1HAQ1NH++WZXrtLggkjorQFfr8EWquTcZoDASJUBgV+nc/wNVxGQ9 QHcOThtSN7tOXMnmeMBKzcacU2PkuuO3GXco9M2tLXq+3o227d02NOZ8t/K/5BzfqsQZ IxMA== X-Forwarded-Encrypted: i=1; AJvYcCVhES1lA7cMXGXXZOWolZHJVxQa6X4tTlJ41JT7h9HL07vB9Nv9FMxknMpnQAvwv7c7xSvpATZnGTX8zVk=@vger.kernel.org X-Gm-Message-State: AOJu0YyAXwHLAdFTysFlonqqn7l5kBnk8ZLXPCeAhMHFzfX4kQny0EV6 IC9yn/QEsq0YksMzKTOEJhuqzDC6jRVhq2kTn0CuJu2mSkcZ8sWRn45v4vaqFujVdxo= X-Gm-Gg: ATEYQzwIRGOUmO/CvFAbfDKEIWnDuvxo8CCtEQtZWlla6GOyogwOGiaSBE9ai//wKQ+ H8BJC1FuZsOzzJcMuFuyL2sjOT24iZSNKDJWARXRsdciLD21Yxh7ecTWh34fpeQSIyYLWsA7sLl ndpzk/r5V13rAYiXpk52evJIECiiYQx4EZ0kPtJmZmTlOg2rtJp3s6bxOKkqc2qpmy/3tdvZ1HQ Fg+OXdRUuVhtxHd5m7jwCsysLD/XuHS1Y7edMZTfi4d5EO5LoZIP/bxgCzWc3t8AtxYg3++aJsR kpnF23JADHQ8Gw3xdvLK2cBjcfwQqXTQZwO0nyU5+0pQj6ppDdSVlxN9J0UoIgzAvuGsQCIUgcf 276M79UStRh+XeaNNt+q2lbFzbUxE/n8bXIMwXD+BcNWOll5O1gqXErB+y2yJempT8q++x5+juC wIKTTn5alj6B1PPuuV2vXGDcaTJaLEk5zDkCEJ3eQb70bwBgs9r1rApJbAAaAv3VSc X-Received: by 2002:a05:600c:8b35:b0:47d:8479:78d5 with SMTP id 5b1f17b1804b1-483c3db518dmr37366855e9.7.1772116130379; Thu, 26 Feb 2026 06:28:50 -0800 (PST) Received: from [192.168.0.35] (188-141-3-146.dynamic.upc.ie. [188.141.3.146]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43970d4bf89sm39219897f8f.29.2026.02.26.06.28.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 Feb 2026 06:28:49 -0800 (PST) From: Bryan O'Donoghue Date: Thu, 26 Feb 2026 14:28:46 +0000 Subject: [PATCH v9 5/7] media: qcom: camss: Add legacy_phy flag to SoC definition structures 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: <20260226-b4-linux-next-25-03-13-dtsi-x1e80100-camss-v9-5-a59c3f037d0b@linaro.org> References: <20260226-b4-linux-next-25-03-13-dtsi-x1e80100-camss-v9-0-a59c3f037d0b@linaro.org> In-Reply-To: <20260226-b4-linux-next-25-03-13-dtsi-x1e80100-camss-v9-0-a59c3f037d0b@linaro.org> To: Bjorn Andersson , Michael Turquette , Stephen Boyd , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Robert Foss , Todor Tomov , Mauro Carvalho Chehab , Konrad Dybcio , Vladimir Zapolskiy , Bryan O'Donoghue Cc: linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, Bryan O'Donoghue , Krzysztof Kozlowski X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=6305; i=bryan.odonoghue@linaro.org; h=from:subject:message-id; bh=T56zPiTpvN0GBLBYQMGo9vQwbDNYOKXq8zVh3tggF/U=; b=owEBbQKS/ZANAwAKASJxO7Ohjcg6AcsmYgBpoFicPCtmAzYPmUyS5HacNdaTvKDcw1dpuJf5J ZbOvgYLr4uJAjMEAAEKAB0WIQTmk/sqq6Nt4Rerb7QicTuzoY3IOgUCaaBYnAAKCRAicTuzoY3I OsC+EADC4ubfnfi7+snjoCswaKyRpJyw3t37B4+7oRdHbRjiNzinZdHXIt01BLu2UNJyvqfWnFw NWRkGu/stz/Ee/ex8hmG82C3xUF1Rutp2+tIDQdGHATho9v5s3a+jCo7YDFq5mIqWINvYEzeuJd ATpxRi6YWwb465abC3YYLLKyzCiVXZ1VhLF91LMa5XpDa3lOKsveDSqCw+js1YSSASpgDgVVxnj S/EMeA+dryeW/UaMMUo0t06r2m3hl27m1LOa5MC9QlndAbDm0wxcbNMguIvzC1fDHakm1f6/80t +R6p1m/LMnkJG0yQIof6Pn/+/Og1d+KjCuBV4oKuX2eDo3fjgRslcGhcvf5XvZx0XATsgli2Vif 1fkGsAYU546dAzbQPbr4WDfTcWsUzc0WBVD+uPLoRkWapTSBOsnrUUZG/tkvnNMcLthT918GaJf 8rWb8O1tcOzxLNxHITctQXxHuYVXgluSzKrwzf7E4/oS0uZy+41IuaWxatUSLAcxrdHuT2/GWCz WCykOtv1qa5OOi3ROWAwuaSztLBa23OjrbGREhmivYlswag7h2ZsTcGISM+aC86gCqe3qAKP1iH apCCALjWBoztPk2CoA++UIV8cUNXm4c3CQebKDeSPNuO/XSv+c8PALG9zHDHM+G0dbHXIxOO6PT HwPI9FIIgwxKufw== X-Developer-Key: i=bryan.odonoghue@linaro.org; a=openpgp; fpr=E693FB2AABA36DE117AB6FB422713BB3A18DC83A Flag which SoCs have legacy - builtin PHY code. This will be useful in subsequent patches to inform PHY bringup logic if legacy bindings are available. Signed-off-by: Bryan O'Donoghue --- drivers/media/platform/qcom/camss/camss.c | 17 +++++++++++++++++ drivers/media/platform/qcom/camss/camss.h | 1 + 2 files changed, 18 insertions(+) diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/plat= form/qcom/camss/camss.c index 00b87fd9afbd8..5fb5ad87e1671 100644 --- a/drivers/media/platform/qcom/camss/camss.c +++ b/drivers/media/platform/qcom/camss/camss.c @@ -5104,6 +5104,7 @@ static void camss_remove(struct platform_device *pdev) =20 static const struct camss_resources msm8916_resources =3D { .version =3D CAMSS_8x16, + .legacy_phy =3D true, .csiphy_res =3D csiphy_res_8x16, .csid_res =3D csid_res_8x16, .ispif_res =3D &ispif_res_8x16, @@ -5115,6 +5116,7 @@ static const struct camss_resources msm8916_resources= =3D { =20 static const struct camss_resources msm8939_resources =3D { .version =3D CAMSS_8x39, + .legacy_phy =3D true, .csiphy_res =3D csiphy_res_8x39, .csid_res =3D csid_res_8x39, .ispif_res =3D &ispif_res_8x39, @@ -5126,6 +5128,7 @@ static const struct camss_resources msm8939_resources= =3D { =20 static const struct camss_resources msm8953_resources =3D { .version =3D CAMSS_8x53, + .legacy_phy =3D true, .icc_res =3D icc_res_8x53, .icc_path_num =3D ARRAY_SIZE(icc_res_8x53), .csiphy_res =3D csiphy_res_8x96, @@ -5139,6 +5142,7 @@ static const struct camss_resources msm8953_resources= =3D { =20 static const struct camss_resources msm8996_resources =3D { .version =3D CAMSS_8x96, + .legacy_phy =3D true, .csiphy_res =3D csiphy_res_8x96, .csid_res =3D csid_res_8x96, .ispif_res =3D &ispif_res_8x96, @@ -5150,6 +5154,7 @@ static const struct camss_resources msm8996_resources= =3D { =20 static const struct camss_resources qcm2290_resources =3D { .version =3D CAMSS_2290, + .legacy_phy =3D true, .csiphy_res =3D csiphy_res_2290, .csid_res =3D csid_res_2290, .vfe_res =3D vfe_res_2290, @@ -5163,6 +5168,7 @@ static const struct camss_resources qcm2290_resources= =3D { static const struct camss_resources qcs8300_resources =3D { .version =3D CAMSS_8300, .pd_name =3D "top", + .legacy_phy =3D true, .csiphy_res =3D csiphy_res_8300, .csid_res =3D csid_res_8775p, .csid_wrapper_res =3D &csid_wrapper_res_sm8550, @@ -5177,6 +5183,7 @@ static const struct camss_resources qcs8300_resources= =3D { static const struct camss_resources sa8775p_resources =3D { .version =3D CAMSS_8775P, .pd_name =3D "top", + .legacy_phy =3D true, .csiphy_res =3D csiphy_res_8775p, .csid_res =3D csid_res_8775p, .csid_wrapper_res =3D &csid_wrapper_res_sm8550, @@ -5190,6 +5197,7 @@ static const struct camss_resources sa8775p_resources= =3D { =20 static const struct camss_resources sdm660_resources =3D { .version =3D CAMSS_660, + .legacy_phy =3D true, .csiphy_res =3D csiphy_res_660, .csid_res =3D csid_res_660, .ispif_res =3D &ispif_res_660, @@ -5201,6 +5209,7 @@ static const struct camss_resources sdm660_resources = =3D { =20 static const struct camss_resources sdm670_resources =3D { .version =3D CAMSS_845, + .legacy_phy =3D true, .csiphy_res =3D csiphy_res_670, .csid_res =3D csid_res_670, .vfe_res =3D vfe_res_670, @@ -5212,6 +5221,7 @@ static const struct camss_resources sdm670_resources = =3D { static const struct camss_resources sdm845_resources =3D { .version =3D CAMSS_845, .pd_name =3D "top", + .legacy_phy =3D true, .csiphy_res =3D csiphy_res_845, .csid_res =3D csid_res_845, .vfe_res =3D vfe_res_845, @@ -5223,6 +5233,7 @@ static const struct camss_resources sdm845_resources = =3D { static const struct camss_resources sm6150_resources =3D { .version =3D CAMSS_6150, .pd_name =3D "top", + .legacy_phy =3D true, .csiphy_res =3D csiphy_res_sm6150, .csid_res =3D csid_res_sm6150, .vfe_res =3D vfe_res_sm6150, @@ -5236,6 +5247,7 @@ static const struct camss_resources sm6150_resources = =3D { static const struct camss_resources sm8250_resources =3D { .version =3D CAMSS_8250, .pd_name =3D "top", + .legacy_phy =3D true, .csiphy_res =3D csiphy_res_8250, .csid_res =3D csid_res_8250, .vfe_res =3D vfe_res_8250, @@ -5249,6 +5261,7 @@ static const struct camss_resources sm8250_resources = =3D { static const struct camss_resources sc8280xp_resources =3D { .version =3D CAMSS_8280XP, .pd_name =3D "top", + .legacy_phy =3D true, .csiphy_res =3D csiphy_res_sc8280xp, .csid_res =3D csid_res_sc8280xp, .ispif_res =3D NULL, @@ -5263,6 +5276,7 @@ static const struct camss_resources sc8280xp_resource= s =3D { static const struct camss_resources sc7280_resources =3D { .version =3D CAMSS_7280, .pd_name =3D "top", + .legacy_phy =3D true, .csiphy_res =3D csiphy_res_7280, .csid_res =3D csid_res_7280, .vfe_res =3D vfe_res_7280, @@ -5276,6 +5290,7 @@ static const struct camss_resources sc7280_resources = =3D { static const struct camss_resources sm8550_resources =3D { .version =3D CAMSS_8550, .pd_name =3D "top", + .legacy_phy =3D true, .csiphy_res =3D csiphy_res_8550, .csid_res =3D csid_res_8550, .vfe_res =3D vfe_res_8550, @@ -5290,6 +5305,7 @@ static const struct camss_resources sm8550_resources = =3D { static const struct camss_resources sm8650_resources =3D { .version =3D CAMSS_8650, .pd_name =3D "top", + .legacy_phy =3D true, .csiphy_res =3D csiphy_res_sm8650, .csid_res =3D csid_res_sm8650, .csid_wrapper_res =3D &csid_wrapper_res_sm8550, @@ -5304,6 +5320,7 @@ static const struct camss_resources sm8650_resources = =3D { static const struct camss_resources x1e80100_resources =3D { .version =3D CAMSS_X1E80100, .pd_name =3D "top", + .legacy_phy =3D true, .csiphy_res =3D csiphy_res_x1e80100, .csid_res =3D csid_res_x1e80100, .vfe_res =3D vfe_res_x1e80100, diff --git a/drivers/media/platform/qcom/camss/camss.h b/drivers/media/plat= form/qcom/camss/camss.h index 6d048414c919e..24ec3ad7990e7 100644 --- a/drivers/media/platform/qcom/camss/camss.h +++ b/drivers/media/platform/qcom/camss/camss.h @@ -104,6 +104,7 @@ enum icc_count { struct camss_resources { enum camss_version version; const char *pd_name; + const bool legacy_phy; const struct camss_subdev_resources *csiphy_res; const struct camss_subdev_resources *csid_res; const struct camss_subdev_resources *ispif_res; --=20 2.52.0 From nobody Thu Apr 16 17:34:34 2026 Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.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 A4EED3D648F for ; Thu, 26 Feb 2026 14:28:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772116140; cv=none; b=bSQjdb+L6kaYzmEsoEmEEv1hgsqahgdbJQZIM5/YrsvhvcjZST6XM9m5DcyT3FaiDiklzW+bzIN6oSCE9nHB3TFN4z0VgBDAaWhWS0aD4i4RyRqnqGCXL/c6gIlRM9bClfk3ZkCvAGWz0HAoAtigGt+pgPcDvgj0dupjJUhPvVA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772116140; c=relaxed/simple; bh=tbtehKEreKASco/1IMHRTZnZxOQyhVsppf5Y02ot/qU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ndmRzNsvqnmT2EmC6V3e5CiVWeDNeiambTaRbX7551wTtHxRNdx/+UEgQinE41C+JTzs+7gFN+DrP3Wkhwqx5wWSTqX+lT8Z0LAq4ukNnT4c/UlbTV98rEtAtnFOUF629EBMbGBLdFusR/69G1fNGAdfFcxd3JYL2l0PKNaHrT0= 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=CCiOm2O2; arc=none smtp.client-ip=209.85.128.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="CCiOm2O2" Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-48378136adcso5673035e9.1 for ; Thu, 26 Feb 2026 06:28:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1772116132; x=1772720932; 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=Sd+vX+/I71k3DZM/mohq2ah4AX5XhZGwQbe1seESShQ=; b=CCiOm2O2TxbDS6KNHKN8cNLA8cN/hIwmZLs4OQu+XZAFpp7q7R51PL1fFPErkZgdPW 11Loq37+LjlsutL4pSzptv6zaIqRgfjxLtUW+1ZgSbQkCniA1sLnD3ex5QKhARh7YAyD PXbx+RSOKuhkVI1MavvsT3/7lbOx7Xc0kcojFMyLzvf8u1h5fB8nwIuGC+cqRo8PpMao KYer1lOzA2JQ95ZGUm/MHXVJfI3KCsG7/Rt1WOTj5eeAdEysS6QbGULCo3+q+fnMaY9V bI7R5Ng4hRp0dLoWAcTruvMIgb3bRFVyp09tgAm14AxJtsfZo12QTyVV6u+sys2bdrB5 uOdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772116132; x=1772720932; 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=Sd+vX+/I71k3DZM/mohq2ah4AX5XhZGwQbe1seESShQ=; b=V6gDI2W8z51XKyyVmfq/c9D9N21zX1cjnWbRWTs+fJXVxOnSuH9bX5WveCrfiQNa3k XtNa616yDcryrIGfHmaJuZoguOEampqRpAyioGhoQOLHwPq7M4wirNxnqZjizGDlR9BZ VU81TtsKymaneQye09/mdr7ToeIMA68gqDPxLaNdt+cuhA2zcZe+8KkAgzfPgmAievMY Kx1MAICHJUaYbDtZNGBMA0LSiHBPgv1VHduBZ2SX8SWjPLDeFc7EkVQ/ptYP+GHz6K3p qPGzpK/TqQE3mj0mGvcdmEqo0QOPEr007cOG3qneIzyD/2DGnoBwH/uzu/DVMMOh5DUc uOPQ== X-Forwarded-Encrypted: i=1; AJvYcCUCletBu7pz3S9AxF420eV00Gnvk2ik0ODZsY5nO/YBkVUTicY955nM+Tz0WOL5R0empQ80HeNpETQj1Cs=@vger.kernel.org X-Gm-Message-State: AOJu0YzeES4Oy/A2wUnsKKN3et+SRi3ki69yH8yCaUZ+GOkNPpcECFNq 2nCDnK2tpBZPx1LCP4X+sZTCE/Ul94Hu6WrSn2/YxBSEMzMTIq2gqvWYJ1QpNNO4L+c= X-Gm-Gg: ATEYQzzahJQAtcap30ygy1ryYYr1CellBu41VG9k8nASovSPIHXoNY2iT+EMeNSHw32 j4/wwgUxEHMvVsn/hnnVlibkZnaYm0WhET1nlHXX/xNtLkW8XfuarOpKncLZP9eZczuuW/k0dsN jUIafLiT96aH5QaHfuNejZM8MNQFgFuLAusjJ0aJYI0NULBi0pY6KCYa7xFLjPWxKTpNdJMjEOK nA0riuXPaKa68c+J4BszfQ3/omh3RiBOkWpKjCfHus6goVBxV632xpRw31rxkk6+itencvKczfL HsUoNoW+Gf2riqwzf1nEU0+pbSLFzDv/uLF7omUaZFjFTMXAqeQ6mhNc3LdcbeJDQI69vFrzrwB 4X343Jda8AgzFp7ncE6DiE86ymy5NwoSN2wQmVLpBpgzWHIokvjlM/GVrzm26/ixWUapypPX3CY bNvqBBj1dnicFfs1eVnTkU6oPwAfNUDuh79qBG7PLXrQmGKF1xmGhkcA4HZ+F+oRIZ X-Received: by 2002:a05:600c:a085:b0:47e:e20e:bbb0 with SMTP id 5b1f17b1804b1-483c216bdfamr72425185e9.6.1772116131682; Thu, 26 Feb 2026 06:28:51 -0800 (PST) Received: from [192.168.0.35] (188-141-3-146.dynamic.upc.ie. [188.141.3.146]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43970d4bf89sm39219897f8f.29.2026.02.26.06.28.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 Feb 2026 06:28:51 -0800 (PST) From: Bryan O'Donoghue Date: Thu, 26 Feb 2026 14:28:47 +0000 Subject: [PATCH v9 6/7] media: qcom: camss: Add support for PHY API devices 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: <20260226-b4-linux-next-25-03-13-dtsi-x1e80100-camss-v9-6-a59c3f037d0b@linaro.org> References: <20260226-b4-linux-next-25-03-13-dtsi-x1e80100-camss-v9-0-a59c3f037d0b@linaro.org> In-Reply-To: <20260226-b4-linux-next-25-03-13-dtsi-x1e80100-camss-v9-0-a59c3f037d0b@linaro.org> To: Bjorn Andersson , Michael Turquette , Stephen Boyd , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Robert Foss , Todor Tomov , Mauro Carvalho Chehab , Konrad Dybcio , Vladimir Zapolskiy , Bryan O'Donoghue Cc: linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, Bryan O'Donoghue , Krzysztof Kozlowski X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=15750; i=bryan.odonoghue@linaro.org; h=from:subject:message-id; bh=tbtehKEreKASco/1IMHRTZnZxOQyhVsppf5Y02ot/qU=; b=owEBbQKS/ZANAwAKASJxO7Ohjcg6AcsmYgBpoFic6ldfzI9vDof3S9JuchagTS4PzcI+UrN51 BxgdagSZk2JAjMEAAEKAB0WIQTmk/sqq6Nt4Rerb7QicTuzoY3IOgUCaaBYnAAKCRAicTuzoY3I OlMfEAC5tVBCyCal6NTOpr5lRZf9WHKvJgY06KEMVEuBzofdHkQEABtdpUvYDN5uLvTWk4Lwez4 u+mhC+lStfwEI/XIO7Y3/OPFPmn8y1TnC0Qjs8atm7JvP5cdABPZHej7rfvxYm1W2b30tiWXVTe vbO7GyF4CDdHn1jOgk0wxNF2OfIyHXJ/sdh/wPZme/a9TSLoxS/Rb9LfwKAlpF8WgmiYu/RSmYf jo0lG0/1ptW+S0DoMerJUhWYHlKuQCkuESPzq/F5k7TaMv95dSARPCXyYKWBdLUR21PhWyxWwf/ COlqO6/3GlYtqQlN8nDbqRC03mPotdVkAUIP4oz5F/F9LiJMOU5KjKaTb8hW9XMMWFb7VeP6GvG +v172jxCZc3ZxygV8SaANA5jDxa+Zrfpc7sD6eB63sSfI21QK2bRPAzY++tkZ9OJtGnYdQWQbEw nguVbMNNz6QUZNDiwhAJ0g4qSZKoiLb8mbbswVtj8IqRsQsrWezdkTjY0VtLKw1trp++HpkgV+E yTXZ/r9iRbcg/yt75pMYn9RbwfTIt4SHQFDdfZ+p6iBXjhqTdo9Gy0U4A7lM8+MjCi4w01DLGvc 5FkVkh/xcH85sLGqX8ZKnbgP337oVKS684fvO1WB0WBia8rsS4QH+hsPs5nmHPFhvlBdFd7oa2x /yR1bDYUXUP8ooA== X-Developer-Key: i=bryan.odonoghue@linaro.org; a=openpgp; fpr=E693FB2AABA36DE117AB6FB422713BB3A18DC83A Add the ability to use a PHY pointer which interacts with the standard PHY API. In the first instance the code will try to use the new PHY interface. If no PHYs are present in the DT then the legacy method will be attempted. Signed-off-by: Bryan O'Donoghue --- drivers/media/platform/qcom/camss/Kconfig | 1 + drivers/media/platform/qcom/camss/camss-csiphy.c | 185 +++++++++++++++++++= ++-- drivers/media/platform/qcom/camss/camss-csiphy.h | 7 + drivers/media/platform/qcom/camss/camss.c | 72 +++++++-- 4 files changed, 235 insertions(+), 30 deletions(-) diff --git a/drivers/media/platform/qcom/camss/Kconfig b/drivers/media/plat= form/qcom/camss/Kconfig index 4eda48cb1adf0..1edc5e5a1829e 100644 --- a/drivers/media/platform/qcom/camss/Kconfig +++ b/drivers/media/platform/qcom/camss/Kconfig @@ -7,3 +7,4 @@ config VIDEO_QCOM_CAMSS select VIDEO_V4L2_SUBDEV_API select VIDEOBUF2_DMA_SG select V4L2_FWNODE + select PHY_QCOM_MIPI_CSI2 diff --git a/drivers/media/platform/qcom/camss/camss-csiphy.c b/drivers/med= ia/platform/qcom/camss/camss-csiphy.c index 62623393f4144..b8bfbf2fef8fa 100644 --- a/drivers/media/platform/qcom/camss/camss-csiphy.c +++ b/drivers/media/platform/qcom/camss/camss-csiphy.c @@ -7,12 +7,14 @@ * Copyright (c) 2011-2015, The Linux Foundation. All rights reserved. * Copyright (C) 2016-2018 Linaro Ltd. */ +#include #include #include #include #include #include #include +#include #include #include #include @@ -131,10 +133,10 @@ static u8 csiphy_get_bpp(const struct csiphy_format_i= nfo *formats, } =20 /* - * csiphy_set_clock_rates - Calculate and set clock rates on CSIPHY module + * csiphy_set_clock_rates_legacy - Calculate and set clock rates on CSIPHY= module * @csiphy: CSIPHY device */ -static int csiphy_set_clock_rates(struct csiphy_device *csiphy) +static int csiphy_set_clock_rates_legacy(struct csiphy_device *csiphy) { struct device *dev =3D csiphy->camss->dev; s64 link_freq; @@ -200,7 +202,7 @@ static int csiphy_set_clock_rates(struct csiphy_device = *csiphy) * * Return 0 on success or a negative error code otherwise */ -static int csiphy_set_power(struct v4l2_subdev *sd, int on) +static int csiphy_set_power_legacy(struct v4l2_subdev *sd, int on) { struct csiphy_device *csiphy =3D v4l2_get_subdevdata(sd); struct device *dev =3D csiphy->camss->dev; @@ -219,7 +221,7 @@ static int csiphy_set_power(struct v4l2_subdev *sd, int= on) return ret; } =20 - ret =3D csiphy_set_clock_rates(csiphy); + ret =3D csiphy_set_clock_rates_legacy(csiphy); if (ret < 0) { regulator_bulk_disable(csiphy->num_supplies, csiphy->supplies); @@ -254,7 +256,7 @@ static int csiphy_set_power(struct v4l2_subdev *sd, int= on) } =20 /* - * csiphy_stream_on - Enable streaming on CSIPHY module + * csiphy_stream_on_legacy - Enable streaming on CSIPHY module * @csiphy: CSIPHY device * * Helper function to enable streaming on CSIPHY module. @@ -262,7 +264,7 @@ static int csiphy_set_power(struct v4l2_subdev *sd, int= on) * * Return 0 on success or a negative error code otherwise */ -static int csiphy_stream_on(struct csiphy_device *csiphy) +static int csiphy_stream_on_legacy(struct csiphy_device *csiphy) { struct csiphy_config *cfg =3D &csiphy->cfg; s64 link_freq; @@ -306,11 +308,86 @@ static int csiphy_stream_on(struct csiphy_device *csi= phy) * * Helper function to disable streaming on CSIPHY module */ -static void csiphy_stream_off(struct csiphy_device *csiphy) +static void csiphy_stream_off_legacy(struct csiphy_device *csiphy) { csiphy->res->hw_ops->lanes_disable(csiphy, &csiphy->cfg); } =20 +/* + * csiphy_stream_on - Enable streaming on CSIPHY module + * @csiphy: CSIPHY device + * + * Helper function to enable streaming on CSIPHY module. + * Main configuration of CSIPHY module is also done here. + * + * Return 0 on success or a negative error code otherwise + */ +static int csiphy_stream_on(struct csiphy_device *csiphy) +{ + u8 bpp =3D csiphy_get_bpp(csiphy->res->formats->formats, csiphy->res->for= mats->nformats, + csiphy->fmt[MSM_CSIPHY_PAD_SINK].code); + u8 num_lanes =3D csiphy->cfg.csi2->lane_cfg.num_data; + struct phy_configure_opts_mipi_dphy *dphy_cfg; + union phy_configure_opts dphy_opts =3D { 0 }; + struct device *dev =3D csiphy->camss->dev; + s64 link_freq; + int ret; + + dphy_cfg =3D &dphy_opts.mipi_dphy; + + link_freq =3D camss_get_link_freq(&csiphy->subdev.entity, bpp, num_lanes); + + if (link_freq < 0) { + dev_err(dev, + "Cannot get CSI2 transmitter's link frequency\n"); + return -EINVAL; + } + + phy_mipi_dphy_get_default_config_for_hsclk(link_freq, num_lanes, dphy_cfg= ); + + phy_set_mode(csiphy->phy, PHY_MODE_MIPI_DPHY); + ret =3D phy_configure(csiphy->phy, &dphy_opts); + if (ret) { + dev_err(dev, "failed to configure MIPI D-PHY\n"); + goto error; + } + + return phy_power_on(csiphy->phy); + +error: + return ret; +} + +/* + * csiphy_stream_off - Disable streaming on CSIPHY module + * @csiphy: CSIPHY device + * + * Helper function to disable streaming on CSIPHY module + */ +static void csiphy_stream_off(struct csiphy_device *csiphy) +{ + phy_power_off(csiphy->phy); +} + +/* + * csiphy_set_stream - Enable/disable streaming on CSIPHY module + * @sd: CSIPHY V4L2 subdevice + * @enable: Requested streaming state + * + * Return 0 on success or a negative error code otherwise + */ +static int csiphy_set_stream_legacy(struct v4l2_subdev *sd, int enable) +{ + struct csiphy_device *csiphy =3D v4l2_get_subdevdata(sd); + int ret =3D 0; + + if (enable) + ret =3D csiphy_stream_on_legacy(csiphy); + else + csiphy_stream_off_legacy(csiphy); + + return ret; +} =20 /* * csiphy_set_stream - Enable/disable streaming on CSIPHY module @@ -568,16 +645,16 @@ static bool csiphy_match_clock_name(const char *clock= _name, const char *format, } =20 /* - * msm_csiphy_subdev_init - Initialize CSIPHY device structure and resourc= es + * msm_csiphy_subdev_init_legacy - Initialize CSIPHY device structure and = resources * @csiphy: CSIPHY device * @res: CSIPHY module resources table * @id: CSIPHY module id * * Return 0 on success or a negative error code otherwise */ -int msm_csiphy_subdev_init(struct camss *camss, - struct csiphy_device *csiphy, - const struct camss_subdev_resources *res, u8 id) +int msm_csiphy_subdev_init_legacy(struct camss *camss, + struct csiphy_device *csiphy, + const struct camss_subdev_resources *res, u8 id) { struct device *dev =3D camss->dev; struct platform_device *pdev =3D to_platform_device(dev); @@ -705,6 +782,69 @@ int msm_csiphy_subdev_init(struct camss *camss, return ret; } =20 +/* + * msm_csiphy_subdev_init - Initialize CSIPHY device structure and resourc= es + * @csiphy: CSIPHY device + * @res: CSIPHY module resources table + * @id: CSIPHY module id + * + * Return 0 on success or a negative error code otherwise + */ +int msm_csiphy_subdev_init(struct camss *camss, + struct csiphy_device *csiphy, + const struct camss_subdev_resources *res, u8 id) +{ + struct device *dev =3D camss->dev; + struct of_phandle_args args; + u8 combo_mode; + int idx; + int ret; + + snprintf(csiphy->name, ARRAY_SIZE(csiphy->name), "csiphy%d", id); + + idx =3D of_property_match_string(dev->of_node, "phy-names", csiphy->name); + if (idx < 0) { + dev_err(dev, "%s not found\n", csiphy->name); + return idx; + } + + ret =3D of_parse_phandle_with_args(dev->of_node, "phys", "#phy-cells", id= x, &args); + if (ret < 0) { + dev_err(dev, "unable to parse phys args %s\n", csiphy->name); + return ret; + } + + if (!of_device_is_available(args.np)) + goto put_np; + + combo_mode =3D args.args[0]; + if (combo_mode !=3D PHY_TYPE_DPHY) { + dev_err(dev, "%s mode %d not supported\n", csiphy->name, combo_mode); + ret =3D -EOPNOTSUPP; + goto put_np; + } + + csiphy->phy =3D devm_phy_get(dev, csiphy->name); + if (IS_ERR(csiphy->phy)) { + ret =3D PTR_ERR(csiphy->phy); + goto put_np; + } + + csiphy->camss =3D camss; + csiphy->id =3D id; + csiphy->cfg.combo_mode =3D combo_mode; + csiphy->res =3D &res->csiphy; + + ret =3D phy_init(csiphy->phy); + if (ret) + dev_err(dev, "phy %s init fail %d\n", csiphy->name, ret); + +put_np: + of_node_put(args.np); + + return ret; +} + /* * csiphy_link_setup - Setup CSIPHY connections * @entity: Pointer to media entity structure @@ -739,8 +879,12 @@ static int csiphy_link_setup(struct media_entity *enti= ty, return 0; } =20 -static const struct v4l2_subdev_core_ops csiphy_core_ops =3D { - .s_power =3D csiphy_set_power, +static const struct v4l2_subdev_core_ops csiphy_core_ops_legacy =3D { + .s_power =3D csiphy_set_power_legacy, +}; + +static const struct v4l2_subdev_video_ops csiphy_video_ops_legacy =3D { + .s_stream =3D csiphy_set_stream_legacy, }; =20 static const struct v4l2_subdev_video_ops csiphy_video_ops =3D { @@ -754,8 +898,13 @@ static const struct v4l2_subdev_pad_ops csiphy_pad_ops= =3D { .set_fmt =3D csiphy_set_format, }; =20 +static const struct v4l2_subdev_ops csiphy_v4l2_ops_legacy =3D { + .core =3D &csiphy_core_ops_legacy, + .video =3D &csiphy_video_ops_legacy, + .pad =3D &csiphy_pad_ops, +}; + static const struct v4l2_subdev_ops csiphy_v4l2_ops =3D { - .core =3D &csiphy_core_ops, .video =3D &csiphy_video_ops, .pad =3D &csiphy_pad_ops, }; @@ -784,7 +933,11 @@ int msm_csiphy_register_entity(struct csiphy_device *c= siphy, struct device *dev =3D csiphy->camss->dev; int ret; =20 - v4l2_subdev_init(sd, &csiphy_v4l2_ops); + if (IS_ERR(csiphy->phy)) + v4l2_subdev_init(sd, &csiphy_v4l2_ops_legacy); + else + v4l2_subdev_init(sd, &csiphy_v4l2_ops); + sd->internal_ops =3D &csiphy_v4l2_internal_ops; sd->flags |=3D V4L2_SUBDEV_FL_HAS_DEVNODE; snprintf(sd->name, ARRAY_SIZE(sd->name), "%s%d", @@ -823,6 +976,8 @@ int msm_csiphy_register_entity(struct csiphy_device *cs= iphy, */ void msm_csiphy_unregister_entity(struct csiphy_device *csiphy) { + if (!IS_ERR(csiphy->phy)) + phy_exit(csiphy->phy); v4l2_device_unregister_subdev(&csiphy->subdev); media_entity_cleanup(&csiphy->subdev.entity); } diff --git a/drivers/media/platform/qcom/camss/camss-csiphy.h b/drivers/med= ia/platform/qcom/camss/camss-csiphy.h index 2d5054819df7f..25b803c06e8bf 100644 --- a/drivers/media/platform/qcom/camss/camss-csiphy.h +++ b/drivers/media/platform/qcom/camss/camss-csiphy.h @@ -12,6 +12,7 @@ =20 #include #include +#include #include #include #include @@ -95,6 +96,7 @@ struct csiphy_device_regs { =20 struct csiphy_device { struct camss *camss; + struct phy *phy; u8 id; struct v4l2_subdev subdev; struct media_pad pads[MSM_CSIPHY_PADS_NUM]; @@ -102,6 +104,7 @@ struct csiphy_device { void __iomem *base_clk_mux; u32 irq; char irq_name[30]; + char name[16]; struct camss_clock *clock; bool *rate_set; int nclocks; @@ -116,6 +119,10 @@ struct csiphy_device { =20 struct camss_subdev_resources; =20 +int msm_csiphy_subdev_init_legacy(struct camss *camss, + struct csiphy_device *csiphy, + const struct camss_subdev_resources *res, u8 id); + int msm_csiphy_subdev_init(struct camss *camss, struct csiphy_device *csiphy, const struct camss_subdev_resources *res, u8 id); diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/plat= form/qcom/camss/camss.c index 5fb5ad87e1671..b1737b5d52160 100644 --- a/drivers/media/platform/qcom/camss/camss.c +++ b/drivers/media/platform/qcom/camss/camss.c @@ -4450,14 +4450,35 @@ static int camss_parse_endpoint_node(struct device = *dev, static int camss_parse_ports(struct camss *camss) { struct device *dev =3D camss->dev; + const struct camss_resources *res =3D camss->res; struct fwnode_handle *fwnode =3D dev_fwnode(dev), *ep; int ret; =20 fwnode_graph_for_each_endpoint(fwnode, ep) { struct camss_async_subdev *csd; + struct fwnode_handle *remote; + + if (!fwnode_device_is_available(ep)) + continue; + + if (res->legacy_phy) { + csd =3D v4l2_async_nf_add_fwnode_remote(&camss->notifier, ep, + typeof(*csd)); + } else { + /* + * For non-legacy PHY, the CSIPHY is a separate device. + * Register the remote endpoint (CSIPHY's endpoint) as + * the async subdev, not the remote port parent. + */ + remote =3D fwnode_graph_get_remote_endpoint(ep); + if (!remote) + continue; + + csd =3D v4l2_async_nf_add_fwnode(&camss->notifier, remote, + struct camss_async_subdev); + fwnode_handle_put(remote); + } =20 - csd =3D v4l2_async_nf_add_fwnode_remote(&camss->notifier, ep, - typeof(*csd)); if (IS_ERR(csd)) { ret =3D PTR_ERR(csd); goto err_cleanup; @@ -4489,15 +4510,26 @@ static int camss_init_subdevices(struct camss *cams= s) unsigned int i; int ret; =20 - for (i =3D 0; i < camss->res->csiphy_num; i++) { - ret =3D msm_csiphy_subdev_init(camss, &camss->csiphy[i], - &res->csiphy_res[i], - res->csiphy_res[i].csiphy.id); - if (ret < 0) { - dev_err(camss->dev, - "Failed to init csiphy%d sub-device: %d\n", - i, ret); - return ret; + if (!res->legacy_phy) { + for (i =3D 0; i < camss->res->csiphy_num; i++) { + ret =3D msm_csiphy_subdev_init(camss, &camss->csiphy[i], + &res->csiphy_res[i], + res->csiphy_res[i].csiphy.id); + if (ret < 0) + return ret; + } + } else { + for (i =3D 0; i < camss->res->csiphy_num; i++) { + ret =3D msm_csiphy_subdev_init_legacy(camss, &camss->csiphy[i], + &res->csiphy_res[i], + res->csiphy_res[i].csiphy.id); + if (ret < 0) { + dev_err(camss->dev, + "Failed to init csiphy%d sub-device: %d\n", + i, ret); + return ret; + } + camss->csiphy[i].phy =3D ERR_PTR(-ENODEV); } } =20 @@ -4574,6 +4606,9 @@ static int camss_link_entities(struct camss *camss) =20 for (i =3D 0; i < camss->res->csiphy_num; i++) { for (j =3D 0; j < camss->res->csid_num; j++) { + if (!camss->csiphy[i].phy) + continue; + ret =3D media_create_pad_link(&camss->csiphy[i].subdev.entity, MSM_CSIPHY_PAD_SRC, &camss->csid[j].subdev.entity, @@ -4683,6 +4718,9 @@ static int camss_register_entities(struct camss *cams= s) int ret; =20 for (i =3D 0; i < camss->res->csiphy_num; i++) { + if (!camss->csiphy[i].phy) + continue; + ret =3D msm_csiphy_register_entity(&camss->csiphy[i], &camss->v4l2_dev); if (ret < 0) { @@ -4738,8 +4776,10 @@ static int camss_register_entities(struct camss *cam= ss) =20 i =3D camss->res->csiphy_num; err_reg_csiphy: - for (i--; i >=3D 0; i--) - msm_csiphy_unregister_entity(&camss->csiphy[i]); + for (i--; i >=3D 0; i--) { + if (camss->csiphy[i].phy) + msm_csiphy_unregister_entity(&camss->csiphy[i]); + } =20 return ret; } @@ -4754,8 +4794,10 @@ static void camss_unregister_entities(struct camss *= camss) { unsigned int i; =20 - for (i =3D 0; i < camss->res->csiphy_num; i++) - msm_csiphy_unregister_entity(&camss->csiphy[i]); + for (i =3D 0; i < camss->res->csiphy_num; i++) { + if (camss->csiphy[i].phy) + msm_csiphy_unregister_entity(&camss->csiphy[i]); + } =20 for (i =3D 0; i < camss->res->csid_num; i++) msm_csid_unregister_entity(&camss->csid[i]); --=20 2.52.0 From nobody Thu Apr 16 17:34:35 2026 Received: from mail-wr1-f45.google.com (mail-wr1-f45.google.com [209.85.221.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 212563D7D64 for ; Thu, 26 Feb 2026 14:28:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772116139; cv=none; b=jWuXpIyXFdhZg6xl51Bbav+RZ9aJQAX4OxJQwQIwlQlFppPlLEnz8eYwZfIehVHXalLfJHH2GaO00YBZkOjKWQcJjfe0ZbFELgaSjwncShgxeqnZDvLBzCN/BRKe/5Tk7mhigaP59hsMFjFtndHbJxWfDbVYf/uabqZ5oc1gTOc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772116139; c=relaxed/simple; bh=JCJLTtRtvJ90CcOYDuxKvQaTTx+Gne77FFK0gL0HyCQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Zep3EMfK3yA0Jsx8wAv01DI/S3plWNVYrge7DuNGNWSq1F/joMQ5ccShqnVUutCtGus2ZOjzgmCQVEKsrw2+56rt+wK0If9TqxccXpS/jXE5AOnlyCBlMz6LBiaWGZM59kRWOQ/SrYBMCYE7SnRriUDp0PLM88c9MYUXaMLuBSQ= 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=poCAV5UR; arc=none smtp.client-ip=209.85.221.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="poCAV5UR" Received: by mail-wr1-f45.google.com with SMTP id ffacd0b85a97d-4398dd671daso1010004f8f.0 for ; Thu, 26 Feb 2026 06:28:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1772116133; x=1772720933; 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=hhJBFhoC1RwaDVTW5cflhmAq0jF+Ul6SFFdi4f77LHM=; b=poCAV5UR6tn51Isdfw79sNZs/F78IkV1Kw+5XZ0VAXmKfVQd8WuPvNvsVWAJTHFk4R V0655Nu2Ym4ct5RSExaQPRuuLrqlKvDH8NUhp8PKgzgzBJtnA2gfi/FDyRD8YYCPL/UY Vvi/OtXNFs4p0hhVGXDy5zM2nhD+gFjzU5DIoL0mDQQdfM33BucK4kFwDW1dQdB+9ESi RDIiPbrZcqCGITW5FiD/SobJhWDAITjp6HUxHE2N5Ink+CLCCw/Y6JIDDpGJeSs3b8Iy dn4xAjv5IIHDc8JHHKaJu/yv9cT+i3rh4W2sofJ0xPPaXODsmC72Gi4Ps73AJh8e/ZyC zk5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772116133; x=1772720933; 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=hhJBFhoC1RwaDVTW5cflhmAq0jF+Ul6SFFdi4f77LHM=; b=Cybui+/qlXn8jW2Vfg8ro5qqRmndCH/Wr+da/PJDuN8sm04f7qYj7xT3CIAKHNkGKy CZvTDZEEZLQVzDWIbg9etORIy5UoHvUdVQy+Eka1FWkV+YYbD4sVDPuNgGyHnSCzsMzI m1fmzJb5iOjL5WHSZfR5fJDPsPDiKOkIRpPzHTScxnp3nbFFn6hC7SpY5QghNf1rBltn 7UniEsE9fupPL3r/FUA/+cdvgjfkwLfFj0eO0BdJvcJntUFrLLgmycK45expBgD4I7Jv 9pAOTh7ZgsL6zj2dY6QGNWroVGiOYI08jELH7nj13fTmrr4kepJ1fEGZ+yx7JBW9dH/s NNRw== X-Forwarded-Encrypted: i=1; AJvYcCXMTOafCMQe0g8dJL6p35Prx4OCiUF/KNilAQNAfFXXCOhFV2w+89sJcevyQRgsToF0VG6aCV66dMJnxKw=@vger.kernel.org X-Gm-Message-State: AOJu0Yzx6SppZ5cXCufU76sA+e5xOeICDyb9MJ7D24zVdc966N1DVkdX NIVyIozzY9O6h6Aq48jv4mt1qsLjYWBtsChImderrrTk1uxi0iwWMWKcse6mVEuN0p4= X-Gm-Gg: ATEYQzwXV6NFd7gjLdbHA4UuJ6yveGDSUQ9wUfdgjPpo+5SKVhgsUS6mK+dYKPA023K JvMGp86hO4Wse9EVnp/0Q8QurguSbnCORUbVDUzutjxlsIrN9U2+NQVhtNBJxfb5d/HM6xR94ob C6DFWpXsqTKl85PJclTcjJGODWRMM+kKAKCLZX4oipotOsANlpMNVQqQg+Yc3NakyJ+Ott4PkIt bbVxwDiwNFJynFBiht9yOd4wEGNdrhA7TKdpmZmG171Dd2XRsJgpcGeHjPseBOY3RZmklrdPecZ Rn5UjqCM0bzUxq3SGdgGg4/ouDWF/3boZCux22haig9JWOfqL09hG4Mt5dqSXvNQ4LbbIy7O0g+ c0PM5VZF8WFtAUL7F3NHyJF6G1E2LZkWo8J1hiZp1WzD+eE+HoRrcUbHLg/5SaiMh43rer3+AIU FJ9/GIg7PrVSIFHTGu32hXlaZZ9JWEbsmwL0vPcGkpJvsxutSqjJaENu4bv3VLjZvG X-Received: by 2002:a05:6000:2c12:b0:437:6bcd:77f8 with SMTP id ffacd0b85a97d-43997f37a94mr4434903f8f.38.1772116133025; Thu, 26 Feb 2026 06:28:53 -0800 (PST) Received: from [192.168.0.35] (188-141-3-146.dynamic.upc.ie. [188.141.3.146]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43970d4bf89sm39219897f8f.29.2026.02.26.06.28.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 Feb 2026 06:28:52 -0800 (PST) From: Bryan O'Donoghue Date: Thu, 26 Feb 2026 14:28:48 +0000 Subject: [PATCH v9 7/7] media: qcom: camss: Drop legacy PHY descriptions from x1e 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: <20260226-b4-linux-next-25-03-13-dtsi-x1e80100-camss-v9-7-a59c3f037d0b@linaro.org> References: <20260226-b4-linux-next-25-03-13-dtsi-x1e80100-camss-v9-0-a59c3f037d0b@linaro.org> In-Reply-To: <20260226-b4-linux-next-25-03-13-dtsi-x1e80100-camss-v9-0-a59c3f037d0b@linaro.org> To: Bjorn Andersson , Michael Turquette , Stephen Boyd , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Robert Foss , Todor Tomov , Mauro Carvalho Chehab , Konrad Dybcio , Vladimir Zapolskiy , Bryan O'Donoghue Cc: linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, Bryan O'Donoghue , Krzysztof Kozlowski X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=3031; i=bryan.odonoghue@linaro.org; h=from:subject:message-id; bh=JCJLTtRtvJ90CcOYDuxKvQaTTx+Gne77FFK0gL0HyCQ=; b=owEBbQKS/ZANAwAKASJxO7Ohjcg6AcsmYgBpoFicNa7xECexMGU1qMw7iHROJ0V8EXx62VgEs 4A+s+36pP+JAjMEAAEKAB0WIQTmk/sqq6Nt4Rerb7QicTuzoY3IOgUCaaBYnAAKCRAicTuzoY3I On3MD/0dlLq4Rd0TSgAR4RKDSDZlnJGCoZUBKbur4pY1ZqfwR9qr7TJUL59sGF/gzL4BwUBDk2E Wv6svw+sHsDWEvtmYTvhpk0GzWUzy2woe4hwSsKM1iPdaPfOg5nDtze8nDiIZQxXDicxMjKxi0o 8iZxie+7cT0G7B5QXtB9wutNmveH5BrlI437zKzrBzW3k6kk+4e6BasMf5jsBsJPCM+Yspe7NTc 9HnXWmhjqbg5cvq6D29It3AIyRe0IxfjRsImf2w1JctTonN5oiwI29F6PiVdai3mVOsvvGn0/Yq wUTtYgn0n47mDUD+dCScMVSxPcZreegMDABOt4foMUiAEnczPTFia8NMWTSGpw8TlQdlZr42Za5 WgmwwF97G15DlyYUC4wnsdrqw8em/DKZNcALJrnO0ldmK8csRHHOtu6JSYYjBptsvgsSEu2Oh+X P4PAWMKDVRSafytNnbnq/1WklJpYZaTXsE5/h6jEqGJWZ7UY8EBGw6IkOadTRXMojFogCfTcEKc Xj8Jr+eKfUxD5PAF4SaFWT4XrhFvDYjjrMxXK62HakDIWX6ZuyS9s6Rx8qYemIr2fO4VLO3pOav Sj3c0WWTkQ4VsviH0knFMxAp6p8CZNddmbAwhCDyBmqlYkYD8jfhLD04AIt6pVjzAngKvz8Q5T6 AHkyqQcVO0NCnEA== X-Developer-Key: i=bryan.odonoghue@linaro.org; a=openpgp; fpr=E693FB2AABA36DE117AB6FB422713BB3A18DC83A x1e is the first CAMSS SoC to use the new PHY interface. Drop the redundant legacy CSIPHY descriptions. Signed-off-by: Bryan O'Donoghue --- drivers/media/platform/qcom/camss/camss.c | 37 ---------------------------= ---- 1 file changed, 37 deletions(-) diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/plat= form/qcom/camss/camss.c index b1737b5d52160..0ebe634f5d96b 100644 --- a/drivers/media/platform/qcom/camss/camss.c +++ b/drivers/media/platform/qcom/camss/camss.c @@ -3895,15 +3895,6 @@ static const struct resources_icc icc_res_sa8775p[] = =3D { static const struct camss_subdev_resources csiphy_res_x1e80100[] =3D { /* CSIPHY0 */ { - .regulators =3D { - { .supply =3D "vdd-csiphy-0p8", .init_load_uA =3D 105000 }, - { .supply =3D "vdd-csiphy-1p2", .init_load_uA =3D 58900 } - }, - .clock =3D { "csiphy0", "csiphy0_timer" }, - .clock_rate =3D { { 300000000, 400000000, 480000000 }, - { 266666667, 400000000 } }, - .reg =3D { "csiphy0" }, - .interrupt =3D { "csiphy0" }, .csiphy =3D { .id =3D 0, .hw_ops =3D &csiphy_ops_3ph_1_0, @@ -3912,15 +3903,6 @@ static const struct camss_subdev_resources csiphy_re= s_x1e80100[] =3D { }, /* CSIPHY1 */ { - .regulators =3D { - { .supply =3D "vdd-csiphy-0p8", .init_load_uA =3D 105000 }, - { .supply =3D "vdd-csiphy-1p2", .init_load_uA =3D 58900 } - }, - .clock =3D { "csiphy1", "csiphy1_timer" }, - .clock_rate =3D { { 300000000, 400000000, 480000000 }, - { 266666667, 400000000 } }, - .reg =3D { "csiphy1" }, - .interrupt =3D { "csiphy1" }, .csiphy =3D { .id =3D 1, .hw_ops =3D &csiphy_ops_3ph_1_0, @@ -3929,15 +3911,6 @@ static const struct camss_subdev_resources csiphy_re= s_x1e80100[] =3D { }, /* CSIPHY2 */ { - .regulators =3D { - { .supply =3D "vdd-csiphy-0p8", .init_load_uA =3D 105000 }, - { .supply =3D "vdd-csiphy-1p2", .init_load_uA =3D 58900 } - }, - .clock =3D { "csiphy2", "csiphy2_timer" }, - .clock_rate =3D { { 300000000, 400000000, 480000000 }, - { 266666667, 400000000 } }, - .reg =3D { "csiphy2" }, - .interrupt =3D { "csiphy2" }, .csiphy =3D { .id =3D 2, .hw_ops =3D &csiphy_ops_3ph_1_0, @@ -3946,15 +3919,6 @@ static const struct camss_subdev_resources csiphy_re= s_x1e80100[] =3D { }, /* CSIPHY4 */ { - .regulators =3D { - { .supply =3D "vdd-csiphy-0p8", .init_load_uA =3D 105000 }, - { .supply =3D "vdd-csiphy-1p2", .init_load_uA =3D 58900 } - }, - .clock =3D { "csiphy4", "csiphy4_timer" }, - .clock_rate =3D { { 300000000, 400000000, 480000000 }, - { 266666667, 400000000 } }, - .reg =3D { "csiphy4" }, - .interrupt =3D { "csiphy4" }, .csiphy =3D { .id =3D 4, .hw_ops =3D &csiphy_ops_3ph_1_0, @@ -5362,7 +5326,6 @@ static const struct camss_resources sm8650_resources = =3D { static const struct camss_resources x1e80100_resources =3D { .version =3D CAMSS_X1E80100, .pd_name =3D "top", - .legacy_phy =3D true, .csiphy_res =3D csiphy_res_x1e80100, .csid_res =3D csid_res_x1e80100, .vfe_res =3D vfe_res_x1e80100, --=20 2.52.0