18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * linux/drivers/video/mmp/fb/mmpfb.h 48c2ecf20Sopenharmony_ci * Framebuffer driver for Marvell Display controller. 58c2ecf20Sopenharmony_ci * 68c2ecf20Sopenharmony_ci * Copyright (C) 2012 Marvell Technology Group Ltd. 78c2ecf20Sopenharmony_ci * Authors: Zhou Zhu <zzhu3@marvell.com> 88c2ecf20Sopenharmony_ci */ 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci#ifndef _MMP_FB_H_ 118c2ecf20Sopenharmony_ci#define _MMP_FB_H_ 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ci#include <video/mmp_disp.h> 148c2ecf20Sopenharmony_ci#include <linux/fb.h> 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ci/* LCD controller private state. */ 178c2ecf20Sopenharmony_cistruct mmpfb_info { 188c2ecf20Sopenharmony_ci struct device *dev; 198c2ecf20Sopenharmony_ci int id; 208c2ecf20Sopenharmony_ci const char *name; 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ci struct fb_info *fb_info; 238c2ecf20Sopenharmony_ci /* basicaly videomode is for output */ 248c2ecf20Sopenharmony_ci struct fb_videomode mode; 258c2ecf20Sopenharmony_ci int pix_fmt; 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ci void *fb_start; 288c2ecf20Sopenharmony_ci int fb_size; 298c2ecf20Sopenharmony_ci dma_addr_t fb_start_dma; 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ci struct mmp_overlay *overlay; 328c2ecf20Sopenharmony_ci struct mmp_path *path; 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ci struct mutex access_ok; 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_ci unsigned int pseudo_palette[16]; 378c2ecf20Sopenharmony_ci int output_fmt; 388c2ecf20Sopenharmony_ci}; 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci#define MMPFB_DEFAULT_SIZE (PAGE_ALIGN(1920 * 1080 * 4 * 2)) 418c2ecf20Sopenharmony_ci#endif /* _MMP_FB_H_ */ 42