diff options
Diffstat (limited to 'include/media/davinci/vpss.h')
| -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 |
