Initial commit
[kernel/linux-3.0.git] / include / media / s5k5ccgx_platform.h
1 /*
2  * Driver for S5K5CCGX (3MP camera) from LSI
3  * 
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  */
9
10 #define DEFAULT_PIX_FMT         V4L2_PIX_FMT_UYVY       /* YUV422 */
11 #define DEFAULT_MCLK            24000000
12 #define S5K5CCGX_STREAMOFF_DELAY        120
13
14
15 enum {
16         S5K5CCGX_FLASH_MODE_NORMAL,
17         S5K5CCGX_FLASH_MODE_MOVIE,
18         S5K5CCGX_FLASH_MODE_MAX,
19 };
20
21 enum {
22         S5K5CCGX_FLASH_OFF = 0,
23         S5K5CCGX_FLASH_ON = 1,
24 };
25
26 /* Define debug level */
27 #define CAMDBG_LEVEL_ERR                (1 << 0)
28 #define CAMDBG_LEVEL_WARN               (1 << 1)
29 #define CAMDBG_LEVEL_INFO               (1 << 2)
30 #define CAMDBG_LEVEL_DEBUG              (1 << 3)
31 #define CAMDBG_LEVEL_TRACE              (1 << 4)
32 #define CAMDBG_LEVEL_DEFAULT    \
33         (CAMDBG_LEVEL_ERR | CAMDBG_LEVEL_WARN | CAMDBG_LEVEL_INFO)
34
35 struct s5k5ccgx_platform_data {
36         u32 default_width;
37         u32 default_height;
38         u32 pixelformat;
39         u32 freq;       /* MCLK in Hz */
40
41         /* This SoC supports Parallel & CSI-2 */
42         u32 is_mipi;            /* set to 1 if mipi */
43         s32 streamoff_delay;    /* ms, type is signed */
44
45         /* ISP interrupt */
46         /* int (*config_isp_irq)(void);*/
47
48         #define S5K5CCGX_SUPPORT_FLASH
49         int (*flash_en)(u32 mode, u32 onoff);
50         int (*is_flash_on)(void);
51
52         u8 dbg_level;
53 };
54