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