162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * linux/drivers/video/mmp/fb/mmpfb.h 462306a36Sopenharmony_ci * Framebuffer driver for Marvell Display controller. 562306a36Sopenharmony_ci * 662306a36Sopenharmony_ci * Copyright (C) 2012 Marvell Technology Group Ltd. 762306a36Sopenharmony_ci * Authors: Zhou Zhu <zzhu3@marvell.com> 862306a36Sopenharmony_ci */ 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci#ifndef _MMP_FB_H_ 1162306a36Sopenharmony_ci#define _MMP_FB_H_ 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci#include <video/mmp_disp.h> 1462306a36Sopenharmony_ci#include <linux/fb.h> 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci/* LCD controller private state. */ 1762306a36Sopenharmony_cistruct mmpfb_info { 1862306a36Sopenharmony_ci struct device *dev; 1962306a36Sopenharmony_ci int id; 2062306a36Sopenharmony_ci const char *name; 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci struct fb_info *fb_info; 2362306a36Sopenharmony_ci /* basicaly videomode is for output */ 2462306a36Sopenharmony_ci struct fb_videomode mode; 2562306a36Sopenharmony_ci int pix_fmt; 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci void *fb_start; 2862306a36Sopenharmony_ci int fb_size; 2962306a36Sopenharmony_ci dma_addr_t fb_start_dma; 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci struct mmp_overlay *overlay; 3262306a36Sopenharmony_ci struct mmp_path *path; 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci struct mutex access_ok; 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci unsigned int pseudo_palette[16]; 3762306a36Sopenharmony_ci int output_fmt; 3862306a36Sopenharmony_ci}; 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci#define MMPFB_DEFAULT_SIZE (PAGE_ALIGN(1920 * 1080 * 4 * 2)) 4162306a36Sopenharmony_ci#endif /* _MMP_FB_H_ */ 42