xref: /openbmc/linux/drivers/video/fbdev/mmp/fb/mmpfb.h (revision 1ccea77e)
11ccea77eSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */
2f7018c21STomi Valkeinen /*
3f7018c21STomi Valkeinen  * linux/drivers/video/mmp/fb/mmpfb.h
4f7018c21STomi Valkeinen  * Framebuffer driver for Marvell Display controller.
5f7018c21STomi Valkeinen  *
6f7018c21STomi Valkeinen  * Copyright (C) 2012 Marvell Technology Group Ltd.
7f7018c21STomi Valkeinen  * Authors: Zhou Zhu <zzhu3@marvell.com>
8f7018c21STomi Valkeinen  */
9f7018c21STomi Valkeinen 
10f7018c21STomi Valkeinen #ifndef _MMP_FB_H_
11f7018c21STomi Valkeinen #define _MMP_FB_H_
12f7018c21STomi Valkeinen 
13f7018c21STomi Valkeinen #include <video/mmp_disp.h>
14f7018c21STomi Valkeinen #include <linux/fb.h>
15f7018c21STomi Valkeinen 
16f7018c21STomi Valkeinen /* LCD controller private state. */
17f7018c21STomi Valkeinen struct mmpfb_info {
18f7018c21STomi Valkeinen 	struct device	*dev;
19f7018c21STomi Valkeinen 	int	id;
20f7018c21STomi Valkeinen 	const char	*name;
21f7018c21STomi Valkeinen 
22f7018c21STomi Valkeinen 	struct fb_info	*fb_info;
23f7018c21STomi Valkeinen 	/* basicaly videomode is for output */
24f7018c21STomi Valkeinen 	struct fb_videomode	mode;
25f7018c21STomi Valkeinen 	int	pix_fmt;
26f7018c21STomi Valkeinen 
27f7018c21STomi Valkeinen 	void	*fb_start;
28f7018c21STomi Valkeinen 	int	fb_size;
29f7018c21STomi Valkeinen 	dma_addr_t	fb_start_dma;
30f7018c21STomi Valkeinen 
31f7018c21STomi Valkeinen 	struct mmp_overlay	*overlay;
32f7018c21STomi Valkeinen 	struct mmp_path	*path;
33f7018c21STomi Valkeinen 
34f7018c21STomi Valkeinen 	struct mutex	access_ok;
35f7018c21STomi Valkeinen 
36f7018c21STomi Valkeinen 	unsigned int		pseudo_palette[16];
37f7018c21STomi Valkeinen 	int output_fmt;
38f7018c21STomi Valkeinen };
39f7018c21STomi Valkeinen 
40f7018c21STomi Valkeinen #define MMPFB_DEFAULT_SIZE (PAGE_ALIGN(1920 * 1080 * 4 * 2))
41f7018c21STomi Valkeinen #endif /* _MMP_FB_H_ */
42