1#ifndef __VIDEO_EP93XX_H
2#define __VIDEO_EP93XX_H
3
4struct platform_device;
5struct fb_videomode;
6struct fb_info;
7
8#define EP93XXFB_USE_MODEDB		0
9
10/* VideoAttributes flags */
11#define EP93XXFB_STATE_MACHINE_ENABLE	(1 << 0)
12#define EP93XXFB_PIXEL_CLOCK_ENABLE	(1 << 1)
13#define EP93XXFB_VSYNC_ENABLE		(1 << 2)
14#define EP93XXFB_PIXEL_DATA_ENABLE	(1 << 3)
15#define EP93XXFB_COMPOSITE_SYNC		(1 << 4)
16#define EP93XXFB_SYNC_VERT_HIGH		(1 << 5)
17#define EP93XXFB_SYNC_HORIZ_HIGH	(1 << 6)
18#define EP93XXFB_SYNC_BLANK_HIGH	(1 << 7)
19#define EP93XXFB_PCLK_FALLING		(1 << 8)
20#define EP93XXFB_ENABLE_AC		(1 << 9)
21#define EP93XXFB_ENABLE_LCD		(1 << 10)
22#define EP93XXFB_ENABLE_CCIR		(1 << 12)
23#define EP93XXFB_USE_PARALLEL_INTERFACE	(1 << 13)
24#define EP93XXFB_ENABLE_INTERRUPT	(1 << 14)
25#define EP93XXFB_USB_INTERLACE		(1 << 16)
26#define EP93XXFB_USE_EQUALIZATION	(1 << 17)
27#define EP93XXFB_USE_DOUBLE_HORZ	(1 << 18)
28#define EP93XXFB_USE_DOUBLE_VERT	(1 << 19)
29#define EP93XXFB_USE_BLANK_PIXEL	(1 << 20)
30#define EP93XXFB_USE_SDCSN0		(0 << 21)
31#define EP93XXFB_USE_SDCSN1		(1 << 21)
32#define EP93XXFB_USE_SDCSN2		(2 << 21)
33#define EP93XXFB_USE_SDCSN3		(3 << 21)
34
35#define EP93XXFB_ENABLE			(EP93XXFB_STATE_MACHINE_ENABLE	| \
36					 EP93XXFB_PIXEL_CLOCK_ENABLE	| \
37					 EP93XXFB_VSYNC_ENABLE		| \
38					 EP93XXFB_PIXEL_DATA_ENABLE)
39
40struct ep93xxfb_mach_info {
41	unsigned int			num_modes;
42	const struct fb_videomode	*modes;
43	const struct fb_videomode	*default_mode;
44	int				bpp;
45	unsigned int			flags;
46
47	int	(*setup)(struct platform_device *pdev);
48	void	(*teardown)(struct platform_device *pdev);
49	void	(*blank)(int blank_mode, struct fb_info *info);
50};
51
52#endif /* __VIDEO_EP93XX_H */
53