1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * shmob_drm_kms.h  --  SH Mobile DRM Mode Setting
4  *
5  * Copyright (C) 2012 Renesas Electronics Corporation
6  *
7  * Laurent Pinchart (laurent.pinchart@ideasonboard.com)
8  */
9 
10 #ifndef __SHMOB_DRM_KMS_H__
11 #define __SHMOB_DRM_KMS_H__
12 
13 #include <linux/types.h>
14 
15 struct drm_gem_dma_object;
16 struct shmob_drm_device;
17 
18 struct shmob_drm_format_info {
19 	u32 fourcc;
20 	u32 lddfr;	/* LCD Data Format Register */
21 	u16 ldbbsifr;	/* CHn Source Image Format Register low bits */
22 	u8 ldddsr;	/* LCDC Input Image Data Swap Register low bits */
23 	u8 bpp;
24 };
25 
26 #define shmob_drm_format_is_yuv(format)	((format)->lddfr & LDDFR_CC)
27 
28 const struct shmob_drm_format_info *shmob_drm_format_info(u32 fourcc);
29 
30 int shmob_drm_modeset_init(struct shmob_drm_device *sdev);
31 
32 #endif /* __SHMOB_DRM_KMS_H__ */
33