linux/include/media/davinci/vpbe_venc.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-only */
   2/*
   3 * Copyright (C) 2010 Texas Instruments Inc
   4 */
   5#ifndef _VPBE_VENC_H
   6#define _VPBE_VENC_H
   7
   8#include <media/v4l2-subdev.h>
   9#include <media/davinci/vpbe_types.h>
  10
  11#define DM644X_VPBE_VENC_SUBDEV_NAME    "dm644x,vpbe-venc"
  12#define DM365_VPBE_VENC_SUBDEV_NAME     "dm365,vpbe-venc"
  13#define DM355_VPBE_VENC_SUBDEV_NAME     "dm355,vpbe-venc"
  14
  15/* venc events */
  16#define VENC_END_OF_FRAME       BIT(0)
  17#define VENC_FIRST_FIELD        BIT(1)
  18#define VENC_SECOND_FIELD       BIT(2)
  19
  20struct venc_platform_data {
  21        int (*setup_pinmux)(u32 if_type, int field);
  22        int (*setup_clock)(enum vpbe_enc_timings_type type,
  23                           unsigned int pixclock);
  24        int (*setup_if_config)(u32 pixcode);
  25        /* Number of LCD outputs supported */
  26        int num_lcd_outputs;
  27        struct vpbe_if_params *lcd_if_params;
  28};
  29
  30enum venc_ioctls {
  31        VENC_GET_FLD = 1,
  32};
  33
  34/* exported functions */
  35struct v4l2_subdev *venc_sub_dev_init(struct v4l2_device *v4l2_dev,
  36                const char *venc_name);
  37#endif
  38