The A31 CSI controller supports MIPI CSI-2, through a dedicated controller. The MIPI CSI-2 controller (which differs between A31 and A83T) is supported as a separate driver and connected through the fwnode graph. The two controllers are likely connected through some kind of FIFO, so the CSI controller doesn't have much to do itself except for selecting the MIPI CSI-2 input. Co-developed-by: Kévin L'hôpital <kevin.lhopital@xxxxxxxxxxx> Signed-off-by: Kévin L'hôpital <kevin.lhopital@xxxxxxxxxxx> Signed-off-by: Paul Kocialkowski <paul.kocialkowski@xxxxxxxxxxx> --- drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c b/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c index a876a05ea3c7..e770153cf3ab 100644 --- a/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c +++ b/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c @@ -459,6 +459,9 @@ static void sun6i_csi_setup_bus(struct sun6i_csi_dev *sdev) if (flags & V4L2_MBUS_PCLK_SAMPLE_FALLING) cfg |= CSI_IF_CFG_CLK_POL_FALLING_EDGE; break; + case V4L2_MBUS_CSI2_DPHY: + cfg |= CSI_IF_CFG_MIPI_IF_MIPI; + break; default: dev_warn(sdev->dev, "Unsupported bus type: %d\n", endpoint->bus_type); @@ -713,6 +716,7 @@ static int sun6i_csi_fwnode_parse(struct device *dev, } switch (vep->bus_type) { + case V4L2_MBUS_CSI2_DPHY: case V4L2_MBUS_PARALLEL: case V4L2_MBUS_BT656: csi->v4l2_ep = *vep; -- 2.28.0