linux/drivers/gpu/drm/panel/panel-orisetech-otm8009a.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (C) STMicroelectronics SA 2017
 *
 * Authors: Philippe Cornu <[email protected]>
 *          Yannick Fertre <[email protected]>
 */

#include <linux/backlight.h>
#include <linux/delay.h>
#include <linux/gpio/consumer.h>
#include <linux/module.h>
#include <linux/regulator/consumer.h>

#include <video/mipi_display.h>

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

#define OTM8009A_BACKLIGHT_DEFAULT
#define OTM8009A_BACKLIGHT_MAX

/* Manufacturer Command Set */
#define MCS_ADRSFT
#define MCS_PANSET
#define MCS_SD_CTRL
#define MCS_P_DRV_M
#define MCS_OSC_ADJ
#define MCS_RGB_VID_SET
#define MCS_SD_PCH_CTRL
#define MCS_NO_DOC1
#define MCS_PWR_CTRL1
#define MCS_PWR_CTRL2
#define MCS_PWR_CTRL4
#define MCS_PANCTRLSET1
#define MCS_PANCTRLSET2
#define MCS_PANCTRLSET3
#define MCS_PANCTRLSET4
#define MCS_PANCTRLSET5
#define MCS_PANCTRLSET6
#define MCS_PANCTRLSET7
#define MCS_PANCTRLSET8
#define MCS_PANU2D1
#define MCS_PANU2D2
#define MCS_PANU2D3
#define MCS_PAND2U1
#define MCS_PAND2U2
#define MCS_PAND2U3
#define MCS_GOAVST
#define MCS_GOACLKA1
#define MCS_GOACLKA3
#define MCS_GOAECLK
#define MCS_NO_DOC2
#define MCS_GVDDSET
#define MCS_VCOMDC
#define MCS_GMCT2_2P
#define MCS_GMCT2_2N
#define MCS_NO_DOC3
#define MCS_CMD2_ENA1
#define MCS_CMD2_ENA2

#define OTM8009A_HDISPLAY
#define OTM8009A_VDISPLAY

struct otm8009a {};

static const struct drm_display_mode modes[] =;

static inline struct otm8009a *panel_to_otm8009a(struct drm_panel *panel)
{}

static void otm8009a_dcs_write_buf(struct otm8009a *ctx, const void *data,
				   size_t len)
{}

#define dcs_write_seq(ctx, seq...)

#define dcs_write_cmd_at(ctx, cmd, seq...)

static int otm8009a_init_sequence(struct otm8009a *ctx)
{}

static int otm8009a_disable(struct drm_panel *panel)
{}

static int otm8009a_unprepare(struct drm_panel *panel)
{}

static int otm8009a_prepare(struct drm_panel *panel)
{}

static int otm8009a_enable(struct drm_panel *panel)
{}

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

static const struct drm_panel_funcs otm8009a_drm_funcs =;

/*
 * DSI-BASED BACKLIGHT
 */

static int otm8009a_backlight_update_status(struct backlight_device *bd)
{}

static const struct backlight_ops otm8009a_backlight_ops =;

static int otm8009a_probe(struct mipi_dsi_device *dsi)
{}

static void otm8009a_remove(struct mipi_dsi_device *dsi)
{}

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

static struct mipi_dsi_driver orisetech_otm8009a_driver =;
module_mipi_dsi_driver();

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