1 /* 2 * drivers/media/video/tvp514x.h 3 * 4 * Copyright (C) 2008 Texas Instruments Inc 5 * Author: Vaibhav Hiremath <hvaibhav@ti.com> 6 * 7 * Contributors: 8 * Sivaraj R <sivaraj@ti.com> 9 * Brijesh R Jadav <brijesh.j@ti.com> 10 * Hardik Shah <hardik.shah@ti.com> 11 * Manjunath Hadli <mrh@ti.com> 12 * Karicheri Muralidharan <m-karicheri2@ti.com> 13 * 14 * This package is free software; you can redistribute it and/or modify 15 * it under the terms of the GNU General Public License version 2 as 16 * published by the Free Software Foundation. 17 * 18 * This program is distributed in the hope that it will be useful, 19 * but WITHOUT ANY WARRANTY; without even the implied warranty of 20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 * GNU General Public License for more details. 22 * 23 * You should have received a copy of the GNU General Public License 24 * along with this program; if not, write to the Free Software 25 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 26 * 27 */ 28 29 #ifndef _TVP514X_H 30 #define _TVP514X_H 31 32 /* 33 * Other macros 34 */ 35 #define TVP514X_MODULE_NAME "tvp514x" 36 37 #define TVP514X_XCLK_BT656 (27000000) 38 39 /* Number of pixels and number of lines per frame for different standards */ 40 #define NTSC_NUM_ACTIVE_PIXELS (720) 41 #define NTSC_NUM_ACTIVE_LINES (480) 42 #define PAL_NUM_ACTIVE_PIXELS (720) 43 #define PAL_NUM_ACTIVE_LINES (576) 44 45 /** 46 * enum tvp514x_input - enum for different decoder input pin 47 * configuration. 48 */ 49 enum tvp514x_input { 50 /* 51 * CVBS input selection 52 */ 53 INPUT_CVBS_VI1A = 0x0, 54 INPUT_CVBS_VI1B, 55 INPUT_CVBS_VI1C, 56 INPUT_CVBS_VI2A = 0x04, 57 INPUT_CVBS_VI2B, 58 INPUT_CVBS_VI2C, 59 INPUT_CVBS_VI3A = 0x08, 60 INPUT_CVBS_VI3B, 61 INPUT_CVBS_VI3C, 62 INPUT_CVBS_VI4A = 0x0C, 63 /* 64 * S-Video input selection 65 */ 66 INPUT_SVIDEO_VI2A_VI1A = 0x44, 67 INPUT_SVIDEO_VI2B_VI1B, 68 INPUT_SVIDEO_VI2C_VI1C, 69 INPUT_SVIDEO_VI2A_VI3A = 0x54, 70 INPUT_SVIDEO_VI2B_VI3B, 71 INPUT_SVIDEO_VI2C_VI3C, 72 INPUT_SVIDEO_VI4A_VI1A = 0x4C, 73 INPUT_SVIDEO_VI4A_VI1B, 74 INPUT_SVIDEO_VI4A_VI1C, 75 INPUT_SVIDEO_VI4A_VI3A = 0x5C, 76 INPUT_SVIDEO_VI4A_VI3B, 77 INPUT_SVIDEO_VI4A_VI3C, 78 79 /* Need to add entries for 80 * RGB, YPbPr and SCART. 81 */ 82 INPUT_INVALID 83 }; 84 85 /** 86 * enum tvp514x_output - enum for output format 87 * supported. 88 * 89 */ 90 enum tvp514x_output { 91 OUTPUT_10BIT_422_EMBEDDED_SYNC = 0, 92 OUTPUT_20BIT_422_SEPERATE_SYNC, 93 OUTPUT_10BIT_422_SEPERATE_SYNC = 3, 94 OUTPUT_INVALID 95 }; 96 97 /** 98 * struct tvp514x_platform_data - Platform data values and access functions. 99 * @clk_polarity: Clock polarity of the current interface. 100 * @hs_polarity: HSYNC Polarity configuration for current interface. 101 * @vs_polarity: VSYNC Polarity configuration for current interface. 102 */ 103 struct tvp514x_platform_data { 104 /* Interface control params */ 105 bool clk_polarity; 106 bool hs_polarity; 107 bool vs_polarity; 108 }; 109 110 111 #endif /* ifndef _TVP514X_H */ 112