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