diff options
Diffstat (limited to 'arch/arm/mach-davinci/include/mach/dm646x.h')
-rw-r--r-- | arch/arm/mach-davinci/include/mach/dm646x.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/arch/arm/mach-davinci/include/mach/dm646x.h b/arch/arm/mach-davinci/include/mach/dm646x.h index feb1e02cdbd8..8cec746ae9d2 100644 --- a/arch/arm/mach-davinci/include/mach/dm646x.h +++ b/arch/arm/mach-davinci/include/mach/dm646x.h | |||
@@ -14,6 +14,8 @@ | |||
14 | #include <mach/hardware.h> | 14 | #include <mach/hardware.h> |
15 | #include <mach/emac.h> | 15 | #include <mach/emac.h> |
16 | #include <mach/asp.h> | 16 | #include <mach/asp.h> |
17 | #include <linux/i2c.h> | ||
18 | #include <linux/videodev2.h> | ||
17 | 19 | ||
18 | #define DM646X_EMAC_BASE (0x01C80000) | 20 | #define DM646X_EMAC_BASE (0x01C80000) |
19 | #define DM646X_EMAC_CNTRL_OFFSET (0x0000) | 21 | #define DM646X_EMAC_CNTRL_OFFSET (0x0000) |
@@ -29,4 +31,61 @@ void __init dm646x_init_ide(void); | |||
29 | void __init dm646x_init_mcasp0(struct snd_platform_data *pdata); | 31 | void __init dm646x_init_mcasp0(struct snd_platform_data *pdata); |
30 | void __init dm646x_init_mcasp1(struct snd_platform_data *pdata); | 32 | void __init dm646x_init_mcasp1(struct snd_platform_data *pdata); |
31 | 33 | ||
34 | void dm646x_video_init(void); | ||
35 | |||
36 | enum vpif_if_type { | ||
37 | VPIF_IF_BT656, | ||
38 | VPIF_IF_BT1120, | ||
39 | VPIF_IF_RAW_BAYER | ||
40 | }; | ||
41 | |||
42 | struct vpif_interface { | ||
43 | enum vpif_if_type if_type; | ||
44 | unsigned hd_pol:1; | ||
45 | unsigned vd_pol:1; | ||
46 | unsigned fid_pol:1; | ||
47 | }; | ||
48 | |||
49 | struct vpif_subdev_info { | ||
50 | const char *name; | ||
51 | struct i2c_board_info board_info; | ||
52 | u32 input; | ||
53 | u32 output; | ||
54 | unsigned can_route:1; | ||
55 | struct vpif_interface vpif_if; | ||
56 | }; | ||
57 | |||
58 | struct vpif_display_config { | ||
59 | int (*set_clock)(int, int); | ||
60 | struct vpif_subdev_info *subdevinfo; | ||
61 | int subdev_count; | ||
62 | const char **output; | ||
63 | int output_count; | ||
64 | const char *card_name; | ||
65 | }; | ||
66 | |||
67 | struct vpif_input { | ||
68 | struct v4l2_input input; | ||
69 | const char *subdev_name; | ||
70 | }; | ||
71 | |||
72 | #define VPIF_CAPTURE_MAX_CHANNELS 2 | ||
73 | |||
74 | struct vpif_capture_chan_config { | ||
75 | const struct vpif_input *inputs; | ||
76 | int input_count; | ||
77 | }; | ||
78 | |||
79 | struct vpif_capture_config { | ||
80 | int (*setup_input_channel_mode)(int); | ||
81 | int (*setup_input_path)(int, const char *); | ||
82 | struct vpif_capture_chan_config chan_config[VPIF_CAPTURE_MAX_CHANNELS]; | ||
83 | struct vpif_subdev_info *subdev_info; | ||
84 | int subdev_count; | ||
85 | const char *card_name; | ||
86 | }; | ||
87 | |||
88 | void dm646x_setup_vpif(struct vpif_display_config *, | ||
89 | struct vpif_capture_config *); | ||
90 | |||
32 | #endif /* __ASM_ARCH_DM646X_H */ | 91 | #endif /* __ASM_ARCH_DM646X_H */ |