2008-12-05 16:19:36 +03:00
/*
* drivers / media / video / tvp514x . h
*
* Copyright ( C ) 2008 Texas Instruments Inc
* Author : Vaibhav Hiremath < hvaibhav @ ti . com >
*
* Contributors :
* Sivaraj R < sivaraj @ ti . com >
* Brijesh R Jadav < brijesh . j @ ti . com >
* Hardik Shah < hardik . shah @ ti . com >
* Manjunath Hadli < mrh @ ti . com >
* Karicheri Muralidharan < m - karicheri2 @ ti . com >
*
* This package is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation .
*
* 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 . , 675 Mass Ave , Cambridge , MA 0213 9 , USA .
*
*/
# ifndef _TVP514X_H
# define _TVP514X_H
/*
* Other macros
*/
# define TVP514X_MODULE_NAME "tvp514x"
# define TVP514X_XCLK_BT656 (27000000)
/* Number of pixels and number of lines per frame for different standards */
# define NTSC_NUM_ACTIVE_PIXELS (720)
# define NTSC_NUM_ACTIVE_LINES (480)
# define PAL_NUM_ACTIVE_PIXELS (720)
# define PAL_NUM_ACTIVE_LINES (576)
/**
* enum tvp514x_input - enum for different decoder input pin
* configuration .
*/
enum tvp514x_input {
/*
* CVBS input selection
*/
INPUT_CVBS_VI1A = 0x0 ,
INPUT_CVBS_VI1B ,
INPUT_CVBS_VI1C ,
INPUT_CVBS_VI2A = 0x04 ,
INPUT_CVBS_VI2B ,
INPUT_CVBS_VI2C ,
INPUT_CVBS_VI3A = 0x08 ,
INPUT_CVBS_VI3B ,
INPUT_CVBS_VI3C ,
INPUT_CVBS_VI4A = 0x0C ,
/*
* S - Video input selection
*/
INPUT_SVIDEO_VI2A_VI1A = 0x44 ,
INPUT_SVIDEO_VI2B_VI1B ,
INPUT_SVIDEO_VI2C_VI1C ,
INPUT_SVIDEO_VI2A_VI3A = 0x54 ,
INPUT_SVIDEO_VI2B_VI3B ,
INPUT_SVIDEO_VI2C_VI3C ,
INPUT_SVIDEO_VI4A_VI1A = 0x4C ,
INPUT_SVIDEO_VI4A_VI1B ,
INPUT_SVIDEO_VI4A_VI1C ,
INPUT_SVIDEO_VI4A_VI3A = 0x5C ,
INPUT_SVIDEO_VI4A_VI3B ,
INPUT_SVIDEO_VI4A_VI3C ,
/* Need to add entries for
* RGB , YPbPr and SCART .
*/
INPUT_INVALID
} ;
/**
* enum tvp514x_output - enum for output format
* supported .
*
*/
enum tvp514x_output {
OUTPUT_10BIT_422_EMBEDDED_SYNC = 0 ,
OUTPUT_20BIT_422_SEPERATE_SYNC ,
OUTPUT_10BIT_422_SEPERATE_SYNC = 3 ,
OUTPUT_INVALID
} ;
/**
* struct tvp514x_platform_data - Platform data values and access functions .
* @ clk_polarity : Clock polarity of the current interface .
2013-01-15 10:55:40 +04:00
* @ hs_polarity : HSYNC Polarity configuration for current interface .
* @ vs_polarity : VSYNC Polarity configuration for current interface .
2008-12-05 16:19:36 +03:00
*/
struct tvp514x_platform_data {
/* Interface control params */
bool clk_polarity ;
bool hs_polarity ;
bool vs_polarity ;
} ;
# endif /* ifndef _TVP514X_H */