Hello, this RFC series implements negotiation of CSI-2 data lanes number and position by extending the v4l2_mbus_frame_desc structure with a 'phy' field that describes the media bus configuration. The use case this series cover is the following one: the Gen-3 R-Car boards include an ADV748x HDMI/CVBS to CSI-2 converter connected to its CSI-2 receivers. The ADV748x chip has recently gained support for routing both HDMI and analogue video streams through its 4 lanes TXA transmitter, specifically to support the Ebisu board that has a single CSI-2 receiver, compared to all other Gen-3 board where the ADV748x TXes are connected to different CSI-2 receivers, and where analogue video is streamed out from the ADV748x single lane TXB transmitter. To properly support transmission of analogue video through TXA, the number of data lanes shall be dynamically reduced to 1, in order to comply with the MIPI CSI-2 minimum clock frequency requirements. So far, the number of data lanes has always come from DT as a static parameter, preventing its run-time modifications. This series moves the adv748x and the R-Car CSI-2 one to use the DT property as an indication of the number of physically available lanes instead, and to negotiate the number of lanes in use based on the transmitter requirements, in this case the selected analogue video routing path. Sending as RFC as this series is based on the in-review v4l2-multiplexed support which extends the frame descriptor with CSI-2 specific informations: [PATCH v3 00/31] v4l: add support for multiplexed streams In detail on the patches: 1/5 expands the frame descriptor with D-PHY (and a TODO C-PHY) configurations 2/5 is possibly for inclusion as it addresses the same issue tackled by the not-so-welcome "[PATCH] media: adv748x: Don't disable CSI-2 on link_setup" 3/5 moves the adv748x to dynamically select the number of data lanes to use based on the selected routing 4/5 adds to the adv748x frame descriptor the D-PHY bus configuration parameters 5/5 makes the R-Car CSI-2 receiver configure itself using the bus configuration reported by the remote subdevice Tested on Ebisu E3 board capturing HDMI and analogue video from TXA output, and on Salvator-X M3-W capturing analogue video from TXA and making sure the most canonical use case of capturing HDMI through TXA and analogue through TXB still works. The image quality on E3 is the expected one, while on Salvator-X the AFE->TXA routing produces images with visible artifacts and mangled colors, but for an RFC I consider this good enough as a proof of concept. Sending to renesas-soc and linux-media with Dave in Cc has I recall he expressed interest for this feature during review of some adv748x patch series. For the interested ones, the series is available at: git://jmondi.org/linux v4l2-mux/media-master/v3-/data-lanes-negotiation Thanks j Jacopo Mondi (5): v4l: subdev: Add MIPI CSI-2 PHY to frame desc media: adv748x: Post-pone IO10 write to power up media: adv748x: Make lanes number depend on routing media: adv748x: Report D-PHY configuration media: rcar-csi2: Configure CSI-2 with frame desc drivers/media/i2c/adv748x/adv748x-core.c | 72 ++++++++++++++------- drivers/media/i2c/adv748x/adv748x-csi2.c | 21 ++++-- drivers/media/i2c/adv748x/adv748x.h | 3 + drivers/media/platform/rcar-vin/rcar-csi2.c | 71 ++++++++++++-------- include/media/v4l2-subdev.h | 42 ++++++++++-- 5 files changed, 147 insertions(+), 62 deletions(-) -- 2.21.0