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

From: Bryan O'Donoghue

Date: Fri Oct 16 2026 - 12:06:10 EST


On 15/10/2026 22:25, George Neacsu via B4 Relay wrote:
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
+

I think you should constrain the existing minItems for DPHY mode and then add CPHY on top of it.

Your commit log says Add CPHY mode but then it goes on to do other things like this.

Break the two things up into different patches.

required:
- endpoint


--
2.53.0

---
bod