1*11696c5eSBiju Das /* SPDX-License-Identifier: GPL-2.0+ */
2*11696c5eSBiju Das /*
3*11696c5eSBiju Das  * shmob_drm.h  --  SH Mobile DRM driver
4*11696c5eSBiju Das  *
5*11696c5eSBiju Das  * Copyright (C) 2012 Renesas Electronics Corporation
6*11696c5eSBiju Das  *
7*11696c5eSBiju Das  * Laurent Pinchart (laurent.pinchart@ideasonboard.com)
8*11696c5eSBiju Das  */
9*11696c5eSBiju Das 
10*11696c5eSBiju Das #ifndef __SHMOB_DRM_DRV_H__
11*11696c5eSBiju Das #define __SHMOB_DRM_DRV_H__
12*11696c5eSBiju Das 
13*11696c5eSBiju Das #include <linux/kernel.h>
14*11696c5eSBiju Das #include <linux/platform_data/shmob_drm.h>
15*11696c5eSBiju Das #include <linux/spinlock.h>
16*11696c5eSBiju Das 
17*11696c5eSBiju Das #include "shmob_drm_crtc.h"
18*11696c5eSBiju Das 
19*11696c5eSBiju Das struct clk;
20*11696c5eSBiju Das struct device;
21*11696c5eSBiju Das struct drm_device;
22*11696c5eSBiju Das 
23*11696c5eSBiju Das struct shmob_drm_device {
24*11696c5eSBiju Das 	struct device *dev;
25*11696c5eSBiju Das 	const struct shmob_drm_platform_data *pdata;
26*11696c5eSBiju Das 
27*11696c5eSBiju Das 	void __iomem *mmio;
28*11696c5eSBiju Das 	struct clk *clock;
29*11696c5eSBiju Das 	u32 lddckr;
30*11696c5eSBiju Das 	u32 ldmt1r;
31*11696c5eSBiju Das 
32*11696c5eSBiju Das 	unsigned int irq;
33*11696c5eSBiju Das 	spinlock_t irq_lock;		/* Protects hardware LDINTR register */
34*11696c5eSBiju Das 
35*11696c5eSBiju Das 	struct drm_device *ddev;
36*11696c5eSBiju Das 
37*11696c5eSBiju Das 	struct shmob_drm_crtc crtc;
38*11696c5eSBiju Das 	struct shmob_drm_encoder encoder;
39*11696c5eSBiju Das 	struct shmob_drm_connector connector;
40*11696c5eSBiju Das };
41*11696c5eSBiju Das 
42*11696c5eSBiju Das #endif /* __SHMOB_DRM_DRV_H__ */
43