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