linux/drivers/media/platform/rcar-vin
Jacopo Mondi fb25ca3731 media: rcar-vin: Mask VNCSI_IFMD register
The VNCSI_IFMD register controls the data expansion mode and the
channel routing between the CSI-2 receivers and VIN instances.

According to the chip manual revision 2.20 not all fields are available
for all the SoCs:
- V3M, V3H and E3 do not support the DES1 field has they do not feature
  a CSI20 receiver.
- D3 only supports parallel input, and the whole register shall always
  be written as 0.

Inspect the per-SoC channel routing table where the available CSI-2
instances are reported and configure VNCSI_IFMD accordingly.

This patch supports this BSP change commit:

https://github.com/renesas-rcar/linux-bsp/commit/f54697394457
("media: rcar-vin: Fix VnCSI_IFMD register access for r8a77990")

[hverkuil: replace BSP commit ID with BSP URL]

Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Suggested-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2020-12-07 15:07:23 +01:00
..
Kconfig media: rcar-vin: Kconfig: Update help description for VIDEO_RCAR_VIN config 2020-09-26 10:54:41 +02:00
Makefile media: rcar-vin: convert to SPDX identifiers 2018-08-03 16:03:45 -04:00
rcar-core.c media: rcar-vin: Rework CSI-2 firmware parsing 2020-12-02 16:12:47 +01:00
rcar-csi2.c media: rcar-csi2: Set bus type when parsing fwnode 2020-11-16 10:31:14 +01:00
rcar-dma.c media: rcar-vin: Mask VNCSI_IFMD register 2020-12-07 15:07:23 +01:00
rcar-v4l2.c media: rcar-vin: Only dynamically allocate v4l2_async_subdev 2020-12-02 16:09:45 +01:00
rcar-vin.h media: rcar-vin: Use v4l2_async_subdev instead of fwnode_handle to match subdevices 2020-12-02 16:12:14 +01:00