Loading...
Note: File does not exist in v3.1.
1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*
3 * Copyright (C) 2022 Marek Vasut <marex@denx.de>
4 *
5 * i.MX8MP/i.MXRT LCDIFv3 LCD controller driver.
6 */
7
8#ifndef __LCDIF_DRV_H__
9#define __LCDIF_DRV_H__
10
11#include <drm/drm_bridge.h>
12#include <drm/drm_crtc.h>
13#include <drm/drm_device.h>
14#include <drm/drm_encoder.h>
15#include <drm/drm_plane.h>
16
17struct clk;
18
19struct lcdif_drm_private {
20 void __iomem *base; /* registers */
21 struct clk *clk;
22 struct clk *clk_axi;
23 struct clk *clk_disp_axi;
24
25 unsigned int irq;
26
27 struct drm_device *drm;
28 struct {
29 struct drm_plane primary;
30 /* i.MXRT does support overlay planes, add them here. */
31 } planes;
32 struct drm_crtc crtc;
33 struct drm_encoder encoder;
34 struct drm_bridge *bridge;
35};
36
37static inline struct lcdif_drm_private *
38to_lcdif_drm_private(struct drm_device *drm)
39{
40 return drm->dev_private;
41}
42
43int lcdif_kms_init(struct lcdif_drm_private *lcdif);
44
45#endif /* __LCDIF_DRV_H__ */