• Ramesh Shanmugasundaram's avatar
    [media] media: platform: rcar_drif: Add DRIF support · 7625ee98
    Ramesh Shanmugasundaram authored
    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: default avatarRamesh Shanmugasundaram <ramesh.shanmugasundaram@bp.renesas.com>
    Signed-off-by: default avatarHans Verkuil <hansverk@cisco.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
    7625ee98
rcar_drif.c 40 KB