43 lines · c
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_plane.h>15 16struct clk;17 18struct lcdif_drm_private {19 void __iomem *base; /* registers */20 struct clk *clk;21 struct clk *clk_axi;22 struct clk *clk_disp_axi;23 24 unsigned int irq;25 26 struct drm_device *drm;27 struct {28 struct drm_plane primary;29 /* i.MXRT does support overlay planes, add them here. */30 } planes;31 struct drm_crtc crtc;32};33 34static inline struct lcdif_drm_private *35to_lcdif_drm_private(struct drm_device *drm)36{37 return drm->dev_private;38}39 40int lcdif_kms_init(struct lcdif_drm_private *lcdif);41 42#endif /* __LCDIF_DRV_H__ */43