1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef __VIDEO_EP93XX_H
3#define __VIDEO_EP93XX_H
4
5struct platform_device;
6struct 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
38struct 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