OSDN Git Service

[media] media: platform: rcar_drif: Add DRIF support
authorRamesh Shanmugasundaram <ramesh.shanmugasundaram@bp.renesas.com>
Mon, 12 Jun 2017 13:26:19 +0000 (10:26 -0300)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Tue, 20 Jun 2017 10:07:37 +0000 (07:07 -0300)
commit7625ee981af166ddb569e2e6c0006e2af471326f
treeea062f48cb990b388d5109bc3f51dcd100095dd0
parent54a707ea011601f06cc5ef7fe6d0daac71ab0622
[media] media: platform: rcar_drif: Add DRIF support

This patch adds Digital Radio Interface (DRIF) support to R-Car Gen3 SoCs.
The driver exposes each instance of DRIF as a V4L2 SDR device. A DRIF
device represents a channel and each channel can have one or two
sub-channels respectively depending on the target board.

DRIF supports only Rx functionality. It receives samples from a RF
frontend tuner chip it is interfaced with. The combination of DRIF and the
tuner device, which is registered as a sub-device, determines the receive
sample rate and format.

In order to be compliant as a V4L2 SDR device, DRIF needs to bind with
the tuner device, which can be provided by a third party vendor. DRIF acts
as a slave device and the tuner device acts as a master transmitting the
samples. The driver allows asynchronous binding of a tuner device that
is registered as a v4l2 sub-device. The driver can learn about the tuner
it is interfaced with based on port endpoint properties of the device in
device tree. The V4L2 SDR device inherits the controls exposed by the
tuner device.

The device can also be configured to use either one or both of the data
pins at runtime based on the master (tuner) configuration.

Signed-off-by: Ramesh Shanmugasundaram <ramesh.shanmugasundaram@bp.renesas.com>
Signed-off-by: Hans Verkuil <hansverk@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/platform/Kconfig
drivers/media/platform/Makefile
drivers/media/platform/rcar_drif.c [new file with mode: 0644]