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. */
17struct 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