linux/drivers/media/i2c/adv748x/adv748x-afe.c

// SPDX-License-Identifier: GPL-2.0+
/*
 * Driver for Analog Devices ADV748X 8 channel analog front end (AFE) receiver
 * with standard definition processor (SDP)
 *
 * Copyright (C) 2017 Renesas Electronics Corp.
 */

#include <linux/delay.h>
#include <linux/module.h>
#include <linux/mutex.h>
#include <linux/v4l2-dv-timings.h>

#include <media/v4l2-ctrls.h>
#include <media/v4l2-device.h>
#include <media/v4l2-dv-timings.h>
#include <media/v4l2-ioctl.h>

#include "adv748x.h"

/* -----------------------------------------------------------------------------
 * SDP
 */

#define ADV748X_AFE_STD_AD_PAL_BG_NTSC_J_SECAM
#define ADV748X_AFE_STD_AD_PAL_BG_NTSC_J_SECAM_PED
#define ADV748X_AFE_STD_AD_PAL_N_NTSC_J_SECAM
#define ADV748X_AFE_STD_AD_PAL_N_NTSC_M_SECAM
#define ADV748X_AFE_STD_NTSC_J
#define ADV748X_AFE_STD_NTSC_M
#define ADV748X_AFE_STD_PAL60
#define ADV748X_AFE_STD_NTSC_443
#define ADV748X_AFE_STD_PAL_BG
#define ADV748X_AFE_STD_PAL_N
#define ADV748X_AFE_STD_PAL_M
#define ADV748X_AFE_STD_PAL_M_PED
#define ADV748X_AFE_STD_PAL_COMB_N
#define ADV748X_AFE_STD_PAL_COMB_N_PED
#define ADV748X_AFE_STD_PAL_SECAM
#define ADV748X_AFE_STD_PAL_SECAM_PED

static int adv748x_afe_read_ro_map(struct adv748x_state *state, u8 reg)
{}

static int adv748x_afe_status(struct adv748x_afe *afe, u32 *signal,
			      v4l2_std_id *std)
{}

static void adv748x_afe_fill_format(struct adv748x_afe *afe,
				    struct v4l2_mbus_framefmt *fmt)
{}

static int adv748x_afe_std(v4l2_std_id std)
{}

static void adv748x_afe_set_video_standard(struct adv748x_state *state,
					  int sdpstd)
{}

int adv748x_afe_s_input(struct adv748x_afe *afe, unsigned int input)
{}

static int adv748x_afe_g_pixelaspect(struct v4l2_subdev *sd,
				     struct v4l2_fract *aspect)
{}

/* -----------------------------------------------------------------------------
 * v4l2_subdev_video_ops
 */

static int adv748x_afe_g_std(struct v4l2_subdev *sd, v4l2_std_id *norm)
{}

static int adv748x_afe_s_std(struct v4l2_subdev *sd, v4l2_std_id std)
{}

static int adv748x_afe_querystd(struct v4l2_subdev *sd, v4l2_std_id *std)
{}

static int adv748x_afe_g_tvnorms(struct v4l2_subdev *sd, v4l2_std_id *norm)
{}

static int adv748x_afe_g_input_status(struct v4l2_subdev *sd, u32 *status)
{}

static int adv748x_afe_s_stream(struct v4l2_subdev *sd, int enable)
{}

static const struct v4l2_subdev_video_ops adv748x_afe_video_ops =;

/* -----------------------------------------------------------------------------
 * v4l2_subdev_pad_ops
 */

static int adv748x_afe_propagate_pixelrate(struct adv748x_afe *afe)
{}

static int adv748x_afe_enum_mbus_code(struct v4l2_subdev *sd,
				      struct v4l2_subdev_state *sd_state,
				      struct v4l2_subdev_mbus_code_enum *code)
{}

static int adv748x_afe_get_format(struct v4l2_subdev *sd,
				      struct v4l2_subdev_state *sd_state,
				      struct v4l2_subdev_format *sdformat)
{}

static int adv748x_afe_set_format(struct v4l2_subdev *sd,
				      struct v4l2_subdev_state *sd_state,
				      struct v4l2_subdev_format *sdformat)
{}

static const struct v4l2_subdev_pad_ops adv748x_afe_pad_ops =;

/* -----------------------------------------------------------------------------
 * v4l2_subdev_ops
 */

static const struct v4l2_subdev_ops adv748x_afe_ops =;

/* -----------------------------------------------------------------------------
 * Controls
 */

static const char * const afe_ctrl_frp_menu[] =;

static int adv748x_afe_s_ctrl(struct v4l2_ctrl *ctrl)
{}

static const struct v4l2_ctrl_ops adv748x_afe_ctrl_ops =;

static int adv748x_afe_init_controls(struct adv748x_afe *afe)
{}

int adv748x_afe_init(struct adv748x_afe *afe)
{}

void adv748x_afe_cleanup(struct adv748x_afe *afe)
{}