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