1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
2 | /* |
3 | * drivers/media/video/tvp514x.h |
4 | * |
5 | * Copyright (C) 2008 Texas Instruments Inc |
6 | * Author: Vaibhav Hiremath <hvaibhav@ti.com> |
7 | * |
8 | * Contributors: |
9 | * Sivaraj R <sivaraj@ti.com> |
10 | * Brijesh R Jadav <brijesh.j@ti.com> |
11 | * Hardik Shah <hardik.shah@ti.com> |
12 | * Manjunath Hadli <mrh@ti.com> |
13 | * Karicheri Muralidharan <m-karicheri2@ti.com> |
14 | */ |
15 | |
16 | #ifndef _TVP514X_H |
17 | #define _TVP514X_H |
18 | |
19 | /* |
20 | * Other macros |
21 | */ |
22 | #define TVP514X_MODULE_NAME "tvp514x" |
23 | |
24 | #define TVP514X_XCLK_BT656 (27000000) |
25 | |
26 | /* Number of pixels and number of lines per frame for different standards */ |
27 | #define NTSC_NUM_ACTIVE_PIXELS (720) |
28 | #define NTSC_NUM_ACTIVE_LINES (480) |
29 | #define PAL_NUM_ACTIVE_PIXELS (720) |
30 | #define PAL_NUM_ACTIVE_LINES (576) |
31 | |
32 | /* enum for different decoder input pin configuration */ |
33 | enum tvp514x_input { |
34 | /* |
35 | * CVBS input selection |
36 | */ |
37 | INPUT_CVBS_VI1A = 0x0, |
38 | INPUT_CVBS_VI1B, |
39 | INPUT_CVBS_VI1C, |
40 | INPUT_CVBS_VI2A = 0x04, |
41 | INPUT_CVBS_VI2B, |
42 | INPUT_CVBS_VI2C, |
43 | INPUT_CVBS_VI3A = 0x08, |
44 | INPUT_CVBS_VI3B, |
45 | INPUT_CVBS_VI3C, |
46 | INPUT_CVBS_VI4A = 0x0C, |
47 | /* |
48 | * S-Video input selection |
49 | */ |
50 | INPUT_SVIDEO_VI2A_VI1A = 0x44, |
51 | INPUT_SVIDEO_VI2B_VI1B, |
52 | INPUT_SVIDEO_VI2C_VI1C, |
53 | INPUT_SVIDEO_VI2A_VI3A = 0x54, |
54 | INPUT_SVIDEO_VI2B_VI3B, |
55 | INPUT_SVIDEO_VI2C_VI3C, |
56 | INPUT_SVIDEO_VI4A_VI1A = 0x4C, |
57 | INPUT_SVIDEO_VI4A_VI1B, |
58 | INPUT_SVIDEO_VI4A_VI1C, |
59 | INPUT_SVIDEO_VI4A_VI3A = 0x5C, |
60 | INPUT_SVIDEO_VI4A_VI3B, |
61 | INPUT_SVIDEO_VI4A_VI3C, |
62 | |
63 | /* Need to add entries for |
64 | * RGB, YPbPr and SCART. |
65 | */ |
66 | INPUT_INVALID |
67 | }; |
68 | |
69 | /* enum for output format supported. */ |
70 | enum tvp514x_output { |
71 | OUTPUT_10BIT_422_EMBEDDED_SYNC = 0, |
72 | OUTPUT_20BIT_422_SEPERATE_SYNC, |
73 | OUTPUT_10BIT_422_SEPERATE_SYNC = 3, |
74 | OUTPUT_INVALID |
75 | }; |
76 | |
77 | /** |
78 | * struct tvp514x_platform_data - Platform data values and access functions. |
79 | * @clk_polarity: Clock polarity of the current interface. |
80 | * @hs_polarity: HSYNC Polarity configuration for current interface. |
81 | * @vs_polarity: VSYNC Polarity configuration for current interface. |
82 | */ |
83 | struct tvp514x_platform_data { |
84 | /* Interface control params */ |
85 | bool clk_polarity; |
86 | bool hs_polarity; |
87 | bool vs_polarity; |
88 | }; |
89 | |
90 | |
91 | #endif /* ifndef _TVP514X_H */ |
92 | |