linux/drivers/gpu/drm/panel/panel-sitronix-st7703.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Driver for panels based on Sitronix ST7703 controller, souch as:
 *
 * - Rocktech jh057n00900 5.5" MIPI-DSI panel
 *
 * Copyright (C) Purism SPC 2019
 */

#include <linux/debugfs.h>
#include <linux/delay.h>
#include <linux/gpio/consumer.h>
#include <linux/media-bus-format.h>
#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/regulator/consumer.h>

#include <video/display_timing.h>
#include <video/mipi_display.h>

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

#define DRV_NAME

/* Manufacturer specific Commands send via DSI */
#define ST7703_CMD_ALL_PIXEL_OFF
#define ST7703_CMD_ALL_PIXEL_ON
#define ST7703_CMD_SETAPID
#define ST7703_CMD_SETDISP
#define ST7703_CMD_SETRGBIF
#define ST7703_CMD_SETCYC
#define ST7703_CMD_SETBGP
#define ST7703_CMD_SETVCOM
#define ST7703_CMD_SETOTP
#define ST7703_CMD_SETPOWER_EXT
#define ST7703_CMD_SETEXTC
#define ST7703_CMD_SETMIPI
#define ST7703_CMD_SETVDC
#define ST7703_CMD_UNKNOWN_BF
#define ST7703_CMD_SETSCR
#define ST7703_CMD_SETPOWER
#define ST7703_CMD_SETECO
#define ST7703_CMD_SETIO
#define ST7703_CMD_SETCABC
#define ST7703_CMD_SETPANEL
#define ST7703_CMD_SETGAMMA
#define ST7703_CMD_SETEQ
#define ST7703_CMD_SETGIP1
#define ST7703_CMD_SETGIP2
#define ST7703_CMD_UNKNOWN_EF

struct st7703 {};

struct st7703_panel_desc {};

static inline struct st7703 *panel_to_st7703(struct drm_panel *panel)
{}

static void jh057n_init_sequence(struct mipi_dsi_multi_context *dsi_ctx)
{}

static const struct drm_display_mode jh057n00900_mode =;

static const struct st7703_panel_desc jh057n00900_panel_desc =;

static void xbd599_init_sequence(struct mipi_dsi_multi_context *dsi_ctx)
{}

static const struct drm_display_mode xbd599_mode =;

static const struct st7703_panel_desc xbd599_desc =;

static void rg353v2_init_sequence(struct mipi_dsi_multi_context *dsi_ctx)
{}

static const struct drm_display_mode rg353v2_mode =;

static const struct st7703_panel_desc rg353v2_desc =;

static void rgb30panel_init_sequence(struct mipi_dsi_multi_context *dsi_ctx)
{}

static const struct drm_display_mode rgb30panel_mode =;

static const struct st7703_panel_desc rgb30panel_desc =;

static void rgb10max3_panel_init_sequence(struct mipi_dsi_multi_context *dsi_ctx)
{}

static const struct drm_display_mode rgb10max3_panel_mode =;

static const struct st7703_panel_desc rgb10max3_panel_desc =;

static void gameforcechi_init_sequence(struct mipi_dsi_multi_context *dsi_ctx)
{}

static const struct drm_display_mode gameforcechi_mode =;

static const struct st7703_panel_desc gameforcechi_desc =;

static int st7703_enable(struct drm_panel *panel)
{}

static int st7703_disable(struct drm_panel *panel)
{}

static int st7703_unprepare(struct drm_panel *panel)
{}

static int st7703_prepare(struct drm_panel *panel)
{}

static const u32 mantix_bus_formats[] =;

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

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

static const struct drm_panel_funcs st7703_drm_funcs =;

static int allpixelson_set(void *data, u64 val)
{}

DEFINE_SIMPLE_ATTRIBUTE();

static void st7703_debugfs_init(struct st7703 *ctx)
{}

static void st7703_debugfs_remove(struct st7703 *ctx)
{}

static int st7703_probe(struct mipi_dsi_device *dsi)
{}

static void st7703_remove(struct mipi_dsi_device *dsi)
{}

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

static struct mipi_dsi_driver st7703_driver =;
module_mipi_dsi_driver();

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