1 /*
2  * Copyright (C) 2008
3  * Guennadi Liakhovetski, DENX Software Engineering, <lg@denx.de>
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation.
8  */
9 
10 #ifndef __ASM_ARCH_MX3FB_H__
11 #define __ASM_ARCH_MX3FB_H__
12 
13 #include <linux/device.h>
14 #include <linux/fb.h>
15 
16 /* Proprietary FB_SYNC_ flags */
17 #define FB_SYNC_OE_ACT_HIGH	0x80000000
18 #define FB_SYNC_CLK_INVERT	0x40000000
19 #define FB_SYNC_DATA_INVERT	0x20000000
20 #define FB_SYNC_CLK_IDLE_EN	0x10000000
21 #define FB_SYNC_SHARP_MODE	0x08000000
22 #define FB_SYNC_SWAP_RGB	0x04000000
23 #define FB_SYNC_CLK_SEL_EN	0x02000000
24 
25 /*
26  * Specify the way your display is connected. The IPU can arbitrarily
27  * map the internal colors to the external data lines. We only support
28  * the following mappings at the moment.
29  */
30 enum disp_data_mapping {
31 	/* blue -> d[0..5], green -> d[6..11], red -> d[12..17] */
32 	IPU_DISP_DATA_MAPPING_RGB666,
33 	/* blue -> d[0..4], green -> d[5..10], red -> d[11..15] */
34 	IPU_DISP_DATA_MAPPING_RGB565,
35 	/* blue -> d[0..7], green -> d[8..15], red -> d[16..23] */
36 	IPU_DISP_DATA_MAPPING_RGB888,
37 };
38 
39 /**
40  * struct mx3fb_platform_data - mx3fb platform data
41  *
42  * @dma_dev:	pointer to the dma-device, used for dma-slave connection
43  * @mode:	pointer to a platform-provided per mxc_register_fb() videomode
44  */
45 struct mx3fb_platform_data {
46 	struct device			*dma_dev;
47 	const char			*name;
48 	const struct fb_videomode	*mode;
49 	int				num_modes;
50 	enum disp_data_mapping		disp_data_fmt;
51 };
52 
53 #endif
54