summaryrefslogtreecommitdiffstats
path: root/include/mach/imx/imx-ipu-fb.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/mach/imx/imx-ipu-fb.h')
-rw-r--r--include/mach/imx/imx-ipu-fb.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/include/mach/imx/imx-ipu-fb.h b/include/mach/imx/imx-ipu-fb.h
new file mode 100644
index 0000000000..651bf9a5c9
--- /dev/null
+++ b/include/mach/imx/imx-ipu-fb.h
@@ -0,0 +1,54 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-FileCopyrightText: 2008 Guennadi Liakhovetski <lg@denx.de>, DENX Software Engineering */
+
+#ifndef __MACH_IMX_IPU_FB_H__
+#define __MACH_IMX_IPU_FB_H__
+
+#include <fb.h>
+
+/* Proprietary FB_SYNC_ flags */
+#define FB_SYNC_OE_ACT_HIGH 0x80000000
+#define FB_SYNC_CLK_INVERT 0x40000000
+#define FB_SYNC_DATA_INVERT 0x20000000
+#define FB_SYNC_CLK_IDLE_EN 0x10000000
+#define FB_SYNC_SHARP_MODE 0x08000000
+#define FB_SYNC_SWAP_RGB 0x04000000
+#define FB_SYNC_CLK_SEL_EN 0x02000000
+
+/*
+ * Specify the way your display is connected. The IPU can arbitrarily
+ * map the internal colors to the external data lines. We only support
+ * the following mappings at the moment.
+ */
+enum disp_data_mapping {
+ /* blue -> d[0..5], green -> d[6..11], red -> d[12..17] */
+ IPU_DISP_DATA_MAPPING_RGB666,
+ /* blue -> d[0..4], green -> d[5..10], red -> d[11..15] */
+ IPU_DISP_DATA_MAPPING_RGB565,
+ /* blue -> d[0..7], green -> d[8..15], red -> d[16..23] */
+ IPU_DISP_DATA_MAPPING_RGB888,
+};
+
+/*
+ * struct mx3fb_platform_data - mx3fb platform data
+ */
+struct imx_ipu_fb_platform_data {
+ struct fb_videomode *mode;
+ unsigned char bpp;
+ u_int num_modes;
+ enum disp_data_mapping disp_data_fmt;
+ void __iomem *framebuffer;
+ unsigned long framebuffer_size;
+ void __iomem *framebuffer_ovl;
+ unsigned long framebuffer_ovl_size;
+ /** hook to enable backlight and stuff */
+ void (*enable)(int enable);
+ /*
+ * Fractional pixelclock divider causes jitter which some displays
+ * or LVDS transceivers can't handle. Disable it if necessary.
+ */
+ int disable_fractional_divider;
+};
+
+#endif /* __MACH_IMX_IPU_FB_H__ */
+