From nobody Fri Apr 3 01:30:55 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 DAB6237BE8A for ; Thu, 26 Mar 2026 01:28:07 +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=1774488491; cv=none; b=AFHcgbMRzegV01PSZGlKuPAJMSbzlo+8330fKNRvwpun6EzPXo0a+x2c9jVe6Csie7td1X1sikYZwwxbjQxi/AVqN1PU4gCyyJA1/yjTOqclHgcN1SGlcW3RjbvmbAjcQ8Ixg2FCxQ0ySeeUwcGaBD+peywNVxLYX69qVPxJjEM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774488491; c=relaxed/simple; bh=l1UaPhQtNnVW0oI4sGtjmy7qPwb9OiSnQbovYkRWPLE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=i3yDIqjKdw9oaUEd2FCBvrgmwmF8FdN+5aMFN1Mya93QvJv9Klb+V3heMP6BL5Gr5ZCBoVyYQaQ3E9N/a+ZAopewNGyQZa2i9nSldzl1PNygff9Yxdps/hLMHAaErAwsZyDSp7lS1j3fBrj6p8WKIsxlyS/qiIBlOc0kCLTQKiI= 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=JQjBb4Im; 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="JQjBb4Im" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-48700b1ba53so4450145e9.1 for ; Wed, 25 Mar 2026 18:28:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774488486; x=1775093286; 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=NLZqF8LZ1KHbfBh7mEmD2cRBLJTgXB6Xg9LkOaYc0Oo=; b=JQjBb4ImY7LO0kRLIu6J3l4ZqfB52VjgTuEQv79xJTcM8rhvJt+2U1M8sWeJX9pIXQ /ES7k1zZ0jYXDIsCaCe9ckVlVQFLrVxvwq0n8ZrbgsDhqaDxS1FiELF9bFBPlDiStZoI Q1Gg6xAQDEW1fACZZk7R+rJLlFpSq7QvTiPl6DJLw5u2ztn83+fdEiCZN1U7OMP+mghu jRlOtREzwuCQecnWhd1sNzQMPdm7SB9zfOQtHayNiFWTpNHjI/0KniOjel1axrfjazgv NDjrRJt2c6PC3he4i/k+O8QXnIYgLAgb3Zh/Fo/0bj36ttEX9FgjDxO9dpcwjMOG8Zcg Tlzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774488486; x=1775093286; 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=NLZqF8LZ1KHbfBh7mEmD2cRBLJTgXB6Xg9LkOaYc0Oo=; b=neIWbV03l9voLQpnVvgIY5FHOa3C4CQQouXDb+3uL1hUKYo6O1O4xRb/gyHstR5JR5 fAQoHLmyxOcLOZE+DvdtU8dnWK7WG7MiSY/qWULsieq45GrgQZWSAj19momerMhSzmIn K4eKjER6LciDUnVkqvikAK+Dm6kzJp5CVegoNV6HU1mLhvQbO2JmTEJau9OSGpQ3f/zS h/93/mPFNLPINPO1PD989t8KectyduKWaxl1wgiUuIbKfpd67jTlbtsiXueow/JTiY88 tB9kbFmgRGjiZtdfsxW2I7TZ60zdaUq1nuzlDSFoEkB97B0+BvxMOdeOU69c908eKwGt NNzg== X-Forwarded-Encrypted: i=1; AJvYcCWSz3E4nNQPbZMXzEnEMNaTmoHDxcPKmqscdBu7USC3rhhgLuttQPEO2Qw/w4Skua4su0MtWFq9sXStuKA=@vger.kernel.org X-Gm-Message-State: AOJu0YwQ3c57QcPEpkI985km3oQZwExsL06bheUnMO5qigDGcP/EHu55 dMBxv9xxfMv/5JNw0chr+BgK8ckhRHq8v430cWTKeWWZVYdFJCCJUIiou/zaxzBNlJA= X-Gm-Gg: ATEYQzwfCMTGbyOGgbANcge5Ke5uONyPgBe8YZUgr/UMZcsXffxmZxa6jxE5icNwFhv gJWJZAFwNy8suWXstbsqQFEY1Ra4co6PjroOVFI/7NApWyj6C/us7YjwGPRO/e/zXNjE4/Q2axf +E0V9Ijdt5cuhzqpWmRg9TRFceeLQEEgTwGwzoT/Ia42vWuZCDWraSMzjuTGaEQrxpbqrnCkwqs 4m7o5OCbcZ1yEBqn3/uDXa6Ocd+xDBWuFsIXw8gNePDcIBNVgILPDqwpr8mUvFyrBfHVpRGGkGl f4rg0laVtgx1QYNBWcxxCT5VWqscVlAftcRmO/dYBpVz9pROQqlVuxoxyTnnrzgo3bJMeTOAk4I X0AWEXkFV2ZOcTgaUfbEHoiG6pCFB/z03qrlt5qX/+JwH2MDWsL6Lu0OBXqu1EmAavsPWZbuUGF ySdmdBAGAKaVGa7ygfdEofQZX7FQVO5gAkiKc= X-Received: by 2002:a05:600c:5296:b0:486:ffa3:593 with SMTP id 5b1f17b1804b1-4871606730amr78932125e9.28.1774488485676; Wed, 25 Mar 2026 18:28:05 -0700 (PDT) Received: from [192.168.0.35] ([109.76.163.154]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b919cf1c4sm3918051f8f.23.2026.03.25.18.28.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Mar 2026 18:28:05 -0700 (PDT) From: Bryan O'Donoghue Date: Thu, 26 Mar 2026 01:28:30 +0000 Subject: [PATCH v11 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: <20260326-b4-linux-next-25-03-13-dtsi-x1e80100-camss-v11-2-5b93415be6dd@linaro.org> References: <20260326-b4-linux-next-25-03-13-dtsi-x1e80100-camss-v11-0-5b93415be6dd@linaro.org> In-Reply-To: <20260326-b4-linux-next-25-03-13-dtsi-x1e80100-camss-v11-0-5b93415be6dd@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 , Christopher Obbard X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=4006; i=bryan.odonoghue@linaro.org; h=from:subject:message-id; bh=l1UaPhQtNnVW0oI4sGtjmy7qPwb9OiSnQbovYkRWPLE=; b=owEBbQKS/ZANAwAKASJxO7Ohjcg6AcsmYgBpxIu/LMEY3nBRsYsGcJ1xHE9A5BEzF5ZrJAGqc /Vg/hRHPZ+JAjMEAAEKAB0WIQTmk/sqq6Nt4Rerb7QicTuzoY3IOgUCacSLvwAKCRAicTuzoY3I OocKD/9uTRkVMRllKh1KcgleItk0W5BpzA4M9o5UKUpBzVFMr/wAkPAFnvhiDfOu0/EJIu1kwl2 fO6c/2oXWXkPNLFf+Cgg7uI3NJ9xJ8IjGXLB8QniGb3fUP8GtwcXh1xSISUCbEeev0gbUAJHgrz kUE4+ax3YzTT4vqYVoWoptsHrV88STaFL3wxdd6HFvfjJ6UFf5yeGKCHQT9rR/zZ3XB4VdHCbIh D4Gnst13HqqEEzIWo9MGvAkuKQN0cHQDta3a9LnLakm6FFTa7ITjSCGss7nP3S1HIZ3p/M7MfUE Sh48dYWqrqlHdvN8bxwdfba0hkHvKib+meWHJVJVy+0W159xi2R4pIZMbiV7xxq4w1LhxqwYTGi S0/QtWfnObRiNQNi3nYQ5xfYpfp5KOWjUmy69M/G/g9PTX+QeQSE5E+60cb9sbFeg9ABqYVtt8t BrBGJMeUXrtOCMMf42jBXD4fcer6o19eQfMkinLMXrSstnN/c/knUZJDxF7LfqQ/LU+X3+9zsGs POFYankGBWPz7MgyU53x1LNQE1qjZhcQfolIANejO8fFmDEdV7StSJuIc7U8LALfRmAYNvXJYzf PaZljMJ624wAiPn52y6stHmhDJ+XX1E2Vf9yK9ce0wAAbtk/3Pa7weENsMJCBxrPxVqQ/e7lhCd HViu1joGz/g+f+Q== 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. Reviewed-by: Christopher Obbard 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 c17b9757b2c86..f44138f522bba 100644 --- a/Documentation/devicetree/bindings/media/qcom,x1e80100-camss.yaml +++ b/Documentation/devicetree/bindings/media/qcom,x1e80100-camss.yaml @@ -148,7 +148,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]$": @@ -156,26 +157,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 + patternProperties: "^phy@[0-9a-f]+$": $ref: /schemas/phy/qcom,x1e80100-csi2-phy.yaml --=20 2.52.0