diff options
author | Murali Karicheri <mkaricheri@gmail.com> | 2010-02-21 13:51:14 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2010-02-26 13:11:06 -0500 |
commit | 85b848caf77a0cc6a9df0a0f40d876211b394682 (patch) | |
tree | 1b100413a3952bb5814521544415b22b7944871f /include/media | |
parent | 63e3ab142fa3f46c290891655681c6a6304bd2b3 (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.h | 41 |
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 */ |
30 | enum vpss_ccdc_source_sel { | 30 | enum 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 | |||
37 | struct vpss_sync_pol { | ||
38 | unsigned int ccdpg_hdpol:1; | ||
39 | unsigned int ccdpg_vdpol:1; | ||
40 | }; | ||
41 | |||
42 | struct 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 */ |
53 | int vpss_select_ccdc_source(enum vpss_ccdc_source_sel src_sel); | 87 | int 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 */ |
55 | int vpss_enable_clock(enum vpss_clock_sel clock_sel, int en); | 89 | int vpss_enable_clock(enum vpss_clock_sel clock_sel, int en); |
90 | /* set sync polarity, only for DM365*/ | ||
91 | void dm365_vpss_set_sync_pol(struct vpss_sync_pol); | ||
92 | /* set the PG_FRAME_SIZE register, only for DM365 */ | ||
93 | void dm365_vpss_set_pg_frame_size(struct vpss_pg_frame_size); | ||
56 | 94 | ||
57 | /* wbl reset for dm644x */ | 95 | /* wbl reset for dm644x */ |
58 | enum vpss_wbl_sel { | 96 | enum 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 */ | ||
68 | int vpss_clear_wbl_overflow(enum vpss_wbl_sel wbl_sel); | 107 | int vpss_clear_wbl_overflow(enum vpss_wbl_sel wbl_sel); |
69 | #endif | 108 | #endif |