/* * 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 02139, 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. * @power_set: Power state access function, zero is off, non-zero is on. * @ifparm: Interface parameters access function. * @priv_data_set: Device private data (pointer) access function. * @clk_polarity: Clock polarity of the current interface. * @ hs_polarity: HSYNC Polarity configuration for current interface. * @ vs_polarity: VSYNC Polarity configuration for current interface. */ struct tvp514x_platform_data { char *master; int (*power_set) (enum v4l2_power on); int (*ifparm) (struct v4l2_ifparm *p); int (*priv_data_set) (void *); /* Interface control params */ bool clk_polarity; bool hs_polarity; bool vs_polarity; }; #endif /* ifndef _TVP514X_H */