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