提交 e13c692b 编写于 作者: M Manjunath Hadli 提交者: Sekhar Nori

ARM: davinci: vpif: move code to driver core header from platform

Move vpif related definitions for capture and display drivers
from dm646x platform header file to vpif_types.h inside
the driver as these definitions are related to driver code
rather than the platform or board.

This enables reusing this IP across platforms.
Signed-off-by: NManjunath Hadli <manjunath.hadli@ti.com>
Acked-by: NMauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: NSekhar Nori <nsekhar@ti.com>
上级 caca6a03
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
#include <linux/i2c.h> #include <linux/i2c.h>
#include <linux/videodev2.h> #include <linux/videodev2.h>
#include <linux/davinci_emac.h> #include <linux/davinci_emac.h>
#include <media/davinci/vpif_types.h>
#define DM646X_EMAC_BASE (0x01C80000) #define DM646X_EMAC_BASE (0x01C80000)
#define DM646X_EMAC_MDIO_BASE (DM646X_EMAC_BASE + 0x4000) #define DM646X_EMAC_MDIO_BASE (DM646X_EMAC_BASE + 0x4000)
...@@ -34,58 +35,6 @@ int __init dm646x_init_edma(struct edma_rsv_info *rsv); ...@@ -34,58 +35,6 @@ int __init dm646x_init_edma(struct edma_rsv_info *rsv);
void dm646x_video_init(void); void dm646x_video_init(void);
enum vpif_if_type {
VPIF_IF_BT656,
VPIF_IF_BT1120,
VPIF_IF_RAW_BAYER
};
struct vpif_interface {
enum vpif_if_type if_type;
unsigned hd_pol:1;
unsigned vd_pol:1;
unsigned fid_pol:1;
};
struct vpif_subdev_info {
const char *name;
struct i2c_board_info board_info;
u32 input;
u32 output;
unsigned can_route:1;
struct vpif_interface vpif_if;
};
struct vpif_display_config {
int (*set_clock)(int, int);
struct vpif_subdev_info *subdevinfo;
int subdev_count;
const char **output;
int output_count;
const char *card_name;
};
struct vpif_input {
struct v4l2_input input;
const char *subdev_name;
};
#define VPIF_CAPTURE_MAX_CHANNELS 2
struct vpif_capture_chan_config {
const struct vpif_input *inputs;
int input_count;
};
struct vpif_capture_config {
int (*setup_input_channel_mode)(int);
int (*setup_input_path)(int, const char *);
struct vpif_capture_chan_config chan_config[VPIF_CAPTURE_MAX_CHANNELS];
struct vpif_subdev_info *subdev_info;
int subdev_count;
const char *card_name;
};
void dm646x_setup_vpif(struct vpif_display_config *, void dm646x_setup_vpif(struct vpif_display_config *,
struct vpif_capture_config *); struct vpif_capture_config *);
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
#include <linux/videodev2.h> #include <linux/videodev2.h>
#include <mach/hardware.h> #include <mach/hardware.h>
#include <mach/dm646x.h> #include <mach/dm646x.h>
#include <media/davinci/vpif_types.h>
/* Maximum channel allowed */ /* Maximum channel allowed */
#define VPIF_NUM_CHANNELS (4) #define VPIF_NUM_CHANNELS (4)
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
#include <media/v4l2-device.h> #include <media/v4l2-device.h>
#include <media/videobuf-core.h> #include <media/videobuf-core.h>
#include <media/videobuf-dma-contig.h> #include <media/videobuf-dma-contig.h>
#include <mach/dm646x.h> #include <media/davinci/vpif_types.h>
#include "vpif.h" #include "vpif.h"
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#include <media/v4l2-device.h> #include <media/v4l2-device.h>
#include <media/videobuf-core.h> #include <media/videobuf-core.h>
#include <media/videobuf-dma-contig.h> #include <media/videobuf-dma-contig.h>
#include <media/davinci/vpif_types.h>
#include "vpif.h" #include "vpif.h"
......
/*
* Copyright (C) 2011 Texas Instruments Inc
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation version 2.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef _VPIF_TYPES_H
#define _VPIF_TYPES_H
#define VPIF_CAPTURE_MAX_CHANNELS 2
enum vpif_if_type {
VPIF_IF_BT656,
VPIF_IF_BT1120,
VPIF_IF_RAW_BAYER
};
struct vpif_interface {
enum vpif_if_type if_type;
unsigned hd_pol:1;
unsigned vd_pol:1;
unsigned fid_pol:1;
};
struct vpif_subdev_info {
const char *name;
struct i2c_board_info board_info;
u32 input;
u32 output;
unsigned can_route:1;
struct vpif_interface vpif_if;
};
struct vpif_display_config {
int (*set_clock)(int, int);
struct vpif_subdev_info *subdevinfo;
int subdev_count;
const char **output;
int output_count;
const char *card_name;
};
struct vpif_input {
struct v4l2_input input;
const char *subdev_name;
};
struct vpif_capture_chan_config {
const struct vpif_input *inputs;
int input_count;
};
struct vpif_capture_config {
int (*setup_input_channel_mode)(int);
int (*setup_input_path)(int, const char *);
struct vpif_capture_chan_config chan_config[VPIF_CAPTURE_MAX_CHANNELS];
struct vpif_subdev_info *subdev_info;
int subdev_count;
const char *card_name;
};
#endif /* _VPIF_TYPES_H */
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册