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