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