Commit b4a3d877 authored by Jai Luthra's avatar Jai Luthra Committed by Hans Verkuil
Browse files

media: ti: Add CSI2RX support for J721E



TI's J721E uses the Cadence CSI2RX and DPHY peripherals to facilitate
capture over a CSI-2 bus.

The Cadence CSI2RX IP acts as a bridge between the TI specific parts and
the CSI-2 protocol parts. TI then has a wrapper on top of this bridge
called the SHIM layer. It takes in data from stream 0, repacks it, and
sends it to memory over PSI-L DMA.

This driver acts as the "front end" to V4L2 client applications. It
implements the required ioctls and buffer operations, passes the
necessary calls on to the bridge, programs the SHIM layer, and performs
DMA via the dmaengine API to finally return the data to a buffer
supplied by the application.

Co-developed-by: default avatarPratyush Yadav <p.yadav@ti.com>
Signed-off-by: default avatarPratyush Yadav <p.yadav@ti.com>
Co-developed-by: default avatarVaishnav Achath <vaishnav.a@ti.com>
Signed-off-by: default avatarVaishnav Achath <vaishnav.a@ti.com>
Tested-by: default avatarVaishnav Achath <vaishnav.a@ti.com>
Tested-by: default avatarJulien Massot <julien.massot@collabora.com>
Reviewed-by: default avatarTomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Signed-off-by: default avatarJai Luthra <j-luthra@ti.com>
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
parent ca5b901c
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -21594,6 +21594,13 @@ F: Documentation/devicetree/bindings/media/i2c/ti,ds90*
F:	drivers/media/i2c/ds90*
F:	include/media/i2c/ds90*
TI J721E CSI2RX DRIVER
M:	Jai Luthra <j-luthra@ti.com>
L:	linux-media@vger.kernel.org
S:	Maintained
F:	Documentation/devicetree/bindings/media/ti,j721e-csi2rx.yaml
F:	drivers/media/platform/ti/j721e-csi2rx/
TI KEYSTONE MULTICORE NAVIGATOR DRIVERS
M:	Nishanth Menon <nm@ti.com>
M:	Santosh Shilimkar <ssantosh@kernel.org>
+12 −0
Original line number Diff line number Diff line
@@ -63,6 +63,18 @@ config VIDEO_TI_VPE_DEBUG
	help
	  Enable debug messages on VPE driver.

config VIDEO_TI_J721E_CSI2RX
	tristate "TI J721E CSI2RX wrapper layer driver"
	depends on VIDEO_DEV && VIDEO_V4L2_SUBDEV_API
	depends on MEDIA_SUPPORT && MEDIA_CONTROLLER
	depends on (PHY_CADENCE_DPHY_RX && VIDEO_CADENCE_CSI2RX) || COMPILE_TEST
	depends on ARCH_K3 || COMPILE_TEST
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_FWNODE
	help
	  Support for TI CSI2RX wrapper layer. This just enables the wrapper driver.
	  The Cadence CSI2RX bridge driver needs to be enabled separately.

source "drivers/media/platform/ti/am437x/Kconfig"
source "drivers/media/platform/ti/davinci/Kconfig"
source "drivers/media/platform/ti/omap/Kconfig"
+1 −0
Original line number Diff line number Diff line
@@ -3,5 +3,6 @@ obj-y += am437x/
obj-y += cal/
obj-y += vpe/
obj-y += davinci/
obj-y += j721e-csi2rx/
obj-y += omap/
obj-y += omap3isp/
+2 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
obj-$(CONFIG_VIDEO_TI_J721E_CSI2RX) += j721e-csi2rx.o
+1159 −0

File added.

Preview size limit exceeded, changes collapsed.