Re: [PATCH v11 2/7] dt-bindings: media: qcom,x1e80100-camss: Add support for combo-mode endpoints
From: Bryan O'Donoghue
Date: Wed Mar 25 2026 - 22:15:38 EST
On 26/03/2026 01:51, Vladimir Zapolskiy wrote:
On 3/26/26 03:28, Bryan O'Donoghue wrote:
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 => 2+1 and endpoint1 => 1+1 data-lane/clock-lane combination.
Reviewed-by: Christopher Obbard <christopher.obbard@xxxxxxxxxx>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx>
---
.../bindings/media/qcom,x1e80100-camss.yaml | 69 ++++++++++++ ++++++++--
1 file changed, 65 insertions(+), 4 deletions(-)
diff --git a/Documentation/devicetree/bindings/media/qcom,x1e80100- camss.yaml 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
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.
patternProperties:
"^port@[0-3]$":
@@ -156,26 +157,86 @@ properties:
unevaluatedProperties: false
description:
- Input port for receiving CSI data from a CSIPHY.
+ Input port for receiving CSI data.
properties:
- endpoint:
+ endpoint@0:
$ref: video-interfaces.yaml#
unevaluatedProperties: false
+ description:
+ Endpoint for receiving a single sensor input (or first leg of combo).
+
properties:
data-lanes:
minItems: 1
- maxItems: 4
+ maxItems: 4 # Base max allows 4 (for D-PHY)
+
+ clock-lanes:
+ maxItems: 1
bus-type:
enum:
- 1 # MEDIA_BUS_TYPE_CSI2_CPHY
- 4 # MEDIA_BUS_TYPE_CSI2_DPHY
+ endpoint@1:
+ $ref: video-interfaces.yaml#
+ unevaluatedProperties: false
+
+ description:
+ Endpoint for receiving the second leg of a combo sensor input.
+
+ properties:
+ data-lanes:
+ maxItems: 1
+
+ clock-lanes:
+ maxItems: 1
+
+ bus-type:
+ const: 4 # Combo is D-PHY specific
+
It's unclear why both 'bus-type' and 'phys' cell argument are needed
at the same time, they are equal and thus one of two is redundant.
bus-type lives on the CAMSS controller endpoint. It tells the V4L2 fwnode parser (v4l2_fwnode_endpoint_parse) how to interpret the endpoint properties — DPHY has data-lanes + clock-lanes, CPHY has trios.
PHY phandle cell lives on the phys reference. It tells the PHY driver which electrical mode to configure
---
bod