linux/drivers/gpu/drm/imx/lcdc/imx-lcdc.c

// SPDX-License-Identifier: GPL-2.0-only
// SPDX-FileCopyrightText: 2020 Marian Cichy <[email protected]>

#include <drm/drm_bridge.h>
#include <drm/drm_bridge_connector.h>
#include <drm/drm_damage_helper.h>
#include <drm/drm_drv.h>
#include <drm/drm_fbdev_dma.h>
#include <drm/drm_fb_dma_helper.h>
#include <drm/drm_fourcc.h>
#include <drm/drm_framebuffer.h>
#include <drm/drm_gem_atomic_helper.h>
#include <drm/drm_gem_dma_helper.h>
#include <drm/drm_gem_framebuffer_helper.h>
#include <drm/drm_of.h>
#include <drm/drm_probe_helper.h>
#include <drm/drm_simple_kms_helper.h>
#include <drm/drm_vblank.h>
#include <linux/bitfield.h>
#include <linux/clk.h>
#include <linux/dma-mapping.h>
#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/platform_device.h>

#define IMX21LCDC_LSSAR
#define IMX21LCDC_LSR
#define IMX21LCDC_LVPWR
#define IMX21LCDC_LCPR
#define IMX21LCDC_LCWHB
#define IMX21LCDC_LCCMR
#define IMX21LCDC_LPCR
#define IMX21LCDC_LHCR
#define IMX21LCDC_LVCR
#define IMX21LCDC_LPOR
#define IMX21LCDC_LSCR
#define IMX21LCDC_LPCCR
#define IMX21LCDC_LDCR
#define IMX21LCDC_LRMCR
#define IMX21LCDC_LICR
#define IMX21LCDC_LIER
#define IMX21LCDC_LISR
#define IMX21LCDC_LGWSAR
#define IMX21LCDC_LGWSR
#define IMX21LCDC_LGWVPWR
#define IMX21LCDC_LGWPOR
#define IMX21LCDC_LGWPR
#define IMX21LCDC_LGWCR
#define IMX21LCDC_LGWDCR
#define IMX21LCDC_LAUSCR
#define IMX21LCDC_LAUSCCR
#define IMX21LCDC_BGLUT
#define IMX21LCDC_GWLUT

#define IMX21LCDC_LCPR_CC0
#define IMX21LCDC_LCPR_CC1

/* Values HSYNC, VSYNC and Framesize Register */
#define IMX21LCDC_LHCR_HWIDTH
#define IMX21LCDC_LHCR_HFPORCH
#define IMX21LCDC_LHCR_HBPORCH

#define IMX21LCDC_LVCR_VWIDTH
#define IMX21LCDC_LVCR_VFPORCH
#define IMX21LCDC_LVCR_VBPORCH

#define IMX21LCDC_LSR_XMAX
#define IMX21LCDC_LSR_YMAX

/* Values for LPCR Register */
#define IMX21LCDC_LPCR_PCD
#define IMX21LCDC_LPCR_SHARP
#define IMX21LCDC_LPCR_SCLKSEL
#define IMX21LCDC_LPCR_ACD
#define IMX21LCDC_LPCR_ACDSEL
#define IMX21LCDC_LPCR_REV_VS
#define IMX21LCDC_LPCR_SWAP_SEL
#define IMX21LCDC_LPCR_END_SEL
#define IMX21LCDC_LPCR_SCLKIDLE
#define IMX21LCDC_LPCR_OEPOL
#define IMX21LCDC_LPCR_CLKPOL
#define IMX21LCDC_LPCR_LPPOL
#define IMX21LCDC_LPCR_FLMPOL
#define IMX21LCDC_LPCR_PIXPOL
#define IMX21LCDC_LPCR_BPIX
#define IMX21LCDC_LPCR_PBSIZ
#define IMX21LCDC_LPCR_COLOR
#define IMX21LCDC_LPCR_TFT

#define INTR_EOF

#define BPP_RGB565
#define BPP_XRGB8888

#define LCDC_MIN_XRES
#define LCDC_MIN_YRES

#define LCDC_MAX_XRES
#define LCDC_MAX_YRES

struct imx_lcdc {};

static const u32 imx_lcdc_formats[] =;

static inline struct imx_lcdc *imx_lcdc_from_drmdev(struct drm_device *drm)
{}

static unsigned int imx_lcdc_get_format(unsigned int drm_format)
{}

static void imx_lcdc_update_hw_registers(struct drm_simple_display_pipe *pipe,
					 struct drm_plane_state *old_state,
					 bool mode_set)
{}

static void imx_lcdc_pipe_enable(struct drm_simple_display_pipe *pipe,
				 struct drm_crtc_state *crtc_state,
				 struct drm_plane_state *plane_state)
{}

static void imx_lcdc_pipe_disable(struct drm_simple_display_pipe *pipe)
{}

static int imx_lcdc_pipe_check(struct drm_simple_display_pipe *pipe,
			       struct drm_plane_state *plane_state,
			       struct drm_crtc_state *crtc_state)
{}

static void imx_lcdc_pipe_update(struct drm_simple_display_pipe *pipe,
				 struct drm_plane_state *old_state)
{}

static const struct drm_simple_display_pipe_funcs imx_lcdc_pipe_funcs =;

static const struct drm_mode_config_funcs imx_lcdc_mode_config_funcs =;

static const struct drm_mode_config_helper_funcs imx_lcdc_mode_config_helpers =;

DEFINE_DRM_GEM_DMA_FOPS(imx_lcdc_drm_fops);

static struct drm_driver imx_lcdc_drm_driver =;

static const struct of_device_id imx_lcdc_of_dev_id[] =;
MODULE_DEVICE_TABLE(of, imx_lcdc_of_dev_id);

static irqreturn_t imx_lcdc_irq_handler(int irq, void *arg)
{}

static int imx_lcdc_probe(struct platform_device *pdev)
{}

static void imx_lcdc_remove(struct platform_device *pdev)
{}

static void imx_lcdc_shutdown(struct platform_device *pdev)
{}

static struct platform_driver imx_lcdc_driver =;
module_platform_driver();

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();