aboutsummaryrefslogtreecommitdiffstats
path: root/include/media
diff options
context:
space:
mode:
authorMurali Karicheri <mkaricheri@gmail.com>2010-02-21 13:51:14 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-02-26 13:11:06 -0500
commit85b848caf77a0cc6a9df0a0f40d876211b394682 (patch)
tree1b100413a3952bb5814521544415b22b7944871f /include/media
parent63e3ab142fa3f46c290891655681c6a6304bd2b3 (diff)
V4L/DVB: V4L - vpfe capture - vpss driver enhancements for DM365
Enhancements to support DM365 ISP5 and VPSS module configuration. Also cleaned up the driver by removing redundant variables. Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Murali Karicheri <mkaricheri@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'include/media')
-rw-r--r--include/media/davinci/vpss.h41
1 files changed, 40 insertions, 1 deletions
diff --git a/include/media/davinci/vpss.h b/include/media/davinci/vpss.h
index fcdff745fae2..c59cc029c74a 100644
--- a/include/media/davinci/vpss.h
+++ b/include/media/davinci/vpss.h
@@ -29,7 +29,19 @@
29/* selector for ccdc input selection on DM355 */ 29/* selector for ccdc input selection on DM355 */
30enum vpss_ccdc_source_sel { 30enum vpss_ccdc_source_sel {
31 VPSS_CCDCIN, 31 VPSS_CCDCIN,
32 VPSS_HSSIIN 32 VPSS_HSSIIN,
33 VPSS_PGLPBK, /* for DM365 only */
34 VPSS_CCDCPG /* for DM365 only */
35};
36
37struct vpss_sync_pol {
38 unsigned int ccdpg_hdpol:1;
39 unsigned int ccdpg_vdpol:1;
40};
41
42struct vpss_pg_frame_size {
43 short hlpfr;
44 short pplen;
33}; 45};
34 46
35/* Used for enable/diable VPSS Clock */ 47/* Used for enable/diable VPSS Clock */
@@ -47,12 +59,38 @@ enum vpss_clock_sel {
47 */ 59 */
48 VPSS_VENC_CLOCK_SEL, 60 VPSS_VENC_CLOCK_SEL,
49 VPSS_VPBE_CLOCK, 61 VPSS_VPBE_CLOCK,
62 /* DM365 only clocks */
63 VPSS_IPIPEIF_CLOCK,
64 VPSS_RSZ_CLOCK,
65 VPSS_BL_CLOCK,
66 /*
67 * When using VPSS_PCLK_INTERNAL in vpss_enable_clock() api
68 * following applies:-
69 * en = 0 disable internal PCLK
70 * en = 1 enables internal PCLK
71 */
72 VPSS_PCLK_INTERNAL,
73 /*
74 * When using VPSS_PSYNC_CLOCK_SEL in vpss_enable_clock() api
75 * following applies:-
76 * en = 0 enables MMR clock
77 * en = 1 enables VPSS clock
78 */
79 VPSS_PSYNC_CLOCK_SEL,
80 VPSS_LDC_CLOCK_SEL,
81 VPSS_OSD_CLOCK_SEL,
82 VPSS_FDIF_CLOCK,
83 VPSS_LDC_CLOCK
50}; 84};
51 85
52/* select input to ccdc on dm355 */ 86/* select input to ccdc on dm355 */
53int vpss_select_ccdc_source(enum vpss_ccdc_source_sel src_sel); 87int vpss_select_ccdc_source(enum vpss_ccdc_source_sel src_sel);
54/* enable/disable a vpss clock, 0 - success, -1 - failure */ 88/* enable/disable a vpss clock, 0 - success, -1 - failure */
55int vpss_enable_clock(enum vpss_clock_sel clock_sel, int en); 89int vpss_enable_clock(enum vpss_clock_sel clock_sel, int en);
90/* set sync polarity, only for DM365*/
91void dm365_vpss_set_sync_pol(struct vpss_sync_pol);
92/* set the PG_FRAME_SIZE register, only for DM365 */
93void dm365_vpss_set_pg_frame_size(struct vpss_pg_frame_size);
56 94
57/* wbl reset for dm644x */ 95/* wbl reset for dm644x */
58enum vpss_wbl_sel { 96enum vpss_wbl_sel {
@@ -65,5 +103,6 @@ enum vpss_wbl_sel {
65 VPSS_PCR_PREV_WBL_0, 103 VPSS_PCR_PREV_WBL_0,
66 VPSS_PCR_CCDC_WBL_O, 104 VPSS_PCR_CCDC_WBL_O,
67}; 105};
106/* clear wbl overflow flag for DM6446 */
68int vpss_clear_wbl_overflow(enum vpss_wbl_sel wbl_sel); 107int vpss_clear_wbl_overflow(enum vpss_wbl_sel wbl_sel);
69#endif 108#endif