linux/drivers/gpu/drm/panel/panel-samsung-db7430.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Panel driver for the Samsung LMS397KF04 480x800 DPI RGB panel.
 * According to the data sheet the display controller is called DB7430.
 * Found in the Samsung Galaxy Beam GT-I8350 mobile phone.
 * Linus Walleij <[email protected]>
 */
#include <drm/drm_mipi_dbi.h>
#include <drm/drm_modes.h>
#include <drm/drm_panel.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>

#define DB7430_ACCESS_PROT_OFF
#define DB7430_UNKNOWN_B4
#define DB7430_USER_SELECT
#define DB7430_UNKNOWN_B7
#define DB7430_UNKNOWN_B8
#define DB7430_PANEL_DRIVING
#define DB7430_SOURCE_CONTROL
#define DB7430_GATE_INTERFACE
#define DB7430_DISPLAY_H_TIMING
#define DB7430_RGB_SYNC_OPTION
#define DB7430_GAMMA_SET_RED
#define DB7430_GAMMA_SET_GREEN
#define DB7430_GAMMA_SET_BLUE
#define DB7430_BIAS_CURRENT_CTRL
#define DB7430_DDV_CTRL
#define DB7430_GAMMA_CTRL_REF
#define DB7430_UNKNOWN_D4
#define DB7430_DCDC_CTRL
#define DB7430_VCL_CTRL
#define DB7430_UNKNOWN_F8
#define DB7430_UNKNOWN_FC

#define DATA_MASK

/**
 * struct db7430 - state container for a panel controlled by the DB7430
 * controller
 */
struct db7430 {};

static const struct drm_display_mode db7430_480_800_mode =;

static inline struct db7430 *to_db7430(struct drm_panel *panel)
{}

static int db7430_power_on(struct db7430 *db)
{}

static int db7430_power_off(struct db7430 *db)
{}

static int db7430_unprepare(struct drm_panel *panel)
{}

static int db7430_disable(struct drm_panel *panel)
{}

static int db7430_prepare(struct drm_panel *panel)
{}

static int db7430_enable(struct drm_panel *panel)
{}

/**
 * db7430_get_modes() - return the mode
 * @panel: the panel to get the mode for
 * @connector: reference to the central DRM connector control structure
 */
static int db7430_get_modes(struct drm_panel *panel,
			    struct drm_connector *connector)
{}

static const struct drm_panel_funcs db7430_drm_funcs =;

static int db7430_probe(struct spi_device *spi)
{}

static void db7430_remove(struct spi_device *spi)
{}

/*
 * The DB7430 display controller may be used in several display products,
 * so list the different variants here and add per-variant data if needed.
 */
static const struct of_device_id db7430_match[] =;
MODULE_DEVICE_TABLE(of, db7430_match);

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

static struct spi_driver db7430_driver =;
module_spi_driver();

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