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