[PATCH RFC 1/2] dt-bindings: media: sony,imx681: Allow a C-PHY bus

From: George Neacsu via B4 Relay

Date: Thu Oct 15 2026 - 17:25:42 EST


From: George Neacsu <geocausa@xxxxxxxxx>

On the Surface Pro 11 with a Snapdragon X Elite, the IMX681 reaches the
CAMSS CSIPHY over one MIPI C-PHY trio rather than over the two D-PHY
lanes of the Intel model. Let bus-type select C-PHY, and with it a single
data lane, keeping two D-PHY lanes as the default.

Assisted-by: Claude:claude-opus-5-5
Signed-off-by: George Neacsu <geocausa@xxxxxxxxx>
---
.../devicetree/bindings/media/i2c/sony,imx681.yaml | 26 ++++++++++++++++++++--
1 file changed, 24 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/media/i2c/sony,imx681.yaml b/Documentation/devicetree/bindings/media/i2c/sony,imx681.yaml
index 62e7eae..51256a7 100644
--- a/Documentation/devicetree/bindings/media/i2c/sony,imx681.yaml
+++ b/Documentation/devicetree/bindings/media/i2c/sony,imx681.yaml
@@ -14,8 +14,8 @@ description:
The Sony IMX681 is a CMOS active pixel image sensor with a square pixel
array, used as the user-facing camera on several Microsoft Surface devices.
It operates from analog 2.8 V, digital 1.05 V and interface 1.8 V supplies,
- is programmable over I2C, and outputs 10-bit Bayer data over a two-lane
- MIPI CSI-2 D-PHY interface.
+ is programmable over I2C, and outputs 10-bit Bayer data over MIPI CSI-2,
+ either on two D-PHY lanes or on one C-PHY trio.

allOf:
- $ref: /schemas/media/video-interface-devices.yaml#
@@ -54,7 +54,14 @@ properties:
unevaluatedProperties: false

properties:
+ bus-type:
+ enum:
+ - 1 # MEDIA_BUS_TYPE_CSI2_CPHY
+ - 4 # MEDIA_BUS_TYPE_CSI2_DPHY
+ default: 4
+
data-lanes:
+ minItems: 1
items:
- const: 1
- const: 2
@@ -63,6 +70,21 @@ properties:
- data-lanes
- link-frequencies

+ if:
+ properties:
+ bus-type:
+ const: 1
+ required:
+ - bus-type
+ then:
+ properties:
+ data-lanes:
+ maxItems: 1
+ else:
+ properties:
+ data-lanes:
+ minItems: 2
+
required:
- endpoint


--
2.53.0