linux/drivers/gpu/drm/panel/panel-magnachip-d53e6ea8966.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Magnachip d53e6ea8966 MIPI-DSI panel driver
 * Copyright (C) 2023 Chris Morgan
 */

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

#include <linux/backlight.h>
#include <linux/delay.h>
#include <linux/gpio/consumer.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/media-bus-format.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/regulator/consumer.h>
#include <linux/spi/spi.h>

#include <video/mipi_display.h>

/* Forward declaration for use in backlight function */
struct d53e6ea8966;

/* Panel info, unique to each panel */
struct d53e6ea8966_panel_info {};

struct d53e6ea8966 {};

#define NUM_GAMMA_LEVELS
#define GAMMA_TABLE_COUNT
#define MAX_BRIGHTNESS

#define MCS_ELVSS_ON
#define MCS_TEMP_SWIRE
#define MCS_PASSWORD_0
#define MCS_PASSWORD_1
#define MCS_ANALOG_PWR_CTL_0
#define MCS_ANALOG_PWR_CTL_1
#define MCS_GTCON_SET
#define MCS_GATELESS_SIGNAL_SET
#define MCS_SET_GAMMA

static inline struct d53e6ea8966 *to_d53e6ea8966(struct drm_panel *panel)
{}

/* Table of gamma values provided in datasheet */
static u8 ams495qa01_gamma[NUM_GAMMA_LEVELS][GAMMA_TABLE_COUNT] =;

/*
 * Table of elvss values provided in datasheet and corresponds to
 * gamma values.
 */
static u8 ams495qa01_elvss[NUM_GAMMA_LEVELS] =;

static int ams495qa01_update_gamma(struct mipi_dbi *dbi, int brightness)
{}

static void ams495qa01_panel_init(struct d53e6ea8966 *db)
{}

static int d53e6ea8966_prepare(struct drm_panel *panel)
{}

static int d53e6ea8966_enable(struct drm_panel *panel)
{}

static int d53e6ea8966_disable(struct drm_panel *panel)
{}

static int d53e6ea8966_unprepare(struct drm_panel *panel)
{}

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

static const struct drm_panel_funcs d53e6ea8966_panel_funcs =;

static int ams495qa01_set_brightness(struct backlight_device *bd)
{}

static const struct backlight_ops ams495qa01_backlight_ops =;

static int ams495qa01_backlight_register(struct d53e6ea8966 *db)
{}

static int d53e6ea8966_probe(struct spi_device *spi)
{}

static void d53e6ea8966_remove(struct spi_device *spi)
{}

static const struct drm_display_mode ams495qa01_modes[] =;

static const struct d53e6ea8966_panel_info ams495qa01_info =;

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

static const struct spi_device_id d53e6ea8966_ids[] =;
MODULE_DEVICE_TABLE(spi, d53e6ea8966_ids);

static struct spi_driver d53e6ea8966_driver =;
module_spi_driver();

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