linux/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (C) 2017-2018, Bootlin
 */

#include <linux/delay.h>
#include <linux/device.h>
#include <linux/err.h>
#include <linux/errno.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/of.h>

#include <linux/gpio/consumer.h>
#include <linux/regulator/consumer.h>

#include <drm/drm_mipi_dsi.h>
#include <drm/drm_modes.h>
#include <drm/drm_panel.h>

#include <video/mipi_display.h>

enum ili9881c_op {};

struct ili9881c_instr {};

struct ili9881c_desc {};

struct ili9881c {};

#define ILI9881C_SWITCH_PAGE_INSTR(_page)

#define ILI9881C_COMMAND_INSTR(_cmd, _data)

static const struct ili9881c_instr lhr050h41_init[] =;

static const struct ili9881c_instr k101_im2byl02_init[] =;

static const struct ili9881c_instr kd050hdfia020_init[] =;

static const struct ili9881c_instr tl050hdv35_init[] =;

static const struct ili9881c_instr w552946ab_init[] =;

static const struct ili9881c_instr am8001280g_init[] =;

static inline struct ili9881c *panel_to_ili9881c(struct drm_panel *panel)
{}

/*
 * The panel seems to accept some private DCS commands that map
 * directly to registers.
 *
 * It is organised by page, with each page having its own set of
 * registers, and the first page looks like it's holding the standard
 * DCS commands.
 *
 * So before any attempt at sending a command or data, we have to be
 * sure if we're in the right page or not.
 */
static int ili9881c_switch_page(struct ili9881c *ctx, u8 page)
{}

static int ili9881c_send_cmd_data(struct ili9881c *ctx, u8 cmd, u8 data)
{}

static int ili9881c_prepare(struct drm_panel *panel)
{}

static int ili9881c_enable(struct drm_panel *panel)
{}

static int ili9881c_disable(struct drm_panel *panel)
{}

static int ili9881c_unprepare(struct drm_panel *panel)
{}

static const struct drm_display_mode lhr050h41_default_mode =;

static const struct drm_display_mode k101_im2byl02_default_mode =;

static const struct drm_display_mode kd050hdfia020_default_mode =;

static const struct drm_display_mode tl050hdv35_default_mode =;

static const struct drm_display_mode w552946aba_default_mode =;

static const struct drm_display_mode am8001280g_default_mode =;

static int ili9881c_get_modes(struct drm_panel *panel,
			      struct drm_connector *connector)
{}

static enum drm_panel_orientation ili9881c_get_orientation(struct drm_panel *panel)
{}

static const struct drm_panel_funcs ili9881c_funcs =;

static int ili9881c_dsi_probe(struct mipi_dsi_device *dsi)
{}

static void ili9881c_dsi_remove(struct mipi_dsi_device *dsi)
{}

static const struct ili9881c_desc lhr050h41_desc =;

static const struct ili9881c_desc k101_im2byl02_desc =;

static const struct ili9881c_desc kd050hdfia020_desc =;

static const struct ili9881c_desc tl050hdv35_desc =;

static const struct ili9881c_desc w552946aba_desc =;

static const struct ili9881c_desc am8001280g_desc =;

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

static struct mipi_dsi_driver ili9881c_dsi_driver =;
module_mipi_dsi_driver();

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