linux/drivers/gpu/drm/panel/panel-dsi-cm.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Generic DSI Command Mode panel driver
 *
 * Copyright (C) 2013 Texas Instruments Incorporated - https://www.ti.com/
 * Author: Tomi Valkeinen <[email protected]>
 */

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

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

#include <video/mipi_display.h>

#define DCS_GET_ID1
#define DCS_GET_ID2
#define DCS_GET_ID3

#define DCS_REGULATOR_SUPPLY_NUM

static const struct of_device_id dsicm_of_match[];

struct dsic_panel_data {};

struct panel_drv_data {};

static inline struct panel_drv_data *panel_to_ddata(struct drm_panel *panel)
{}

static void dsicm_bl_power(struct panel_drv_data *ddata, bool enable)
{}

static void hw_guard_start(struct panel_drv_data *ddata, int guard_msec)
{}

static void hw_guard_wait(struct panel_drv_data *ddata)
{}

static int dsicm_dcs_read_1(struct panel_drv_data *ddata, u8 dcs_cmd, u8 *data)
{}

static int dsicm_dcs_write_1(struct panel_drv_data *ddata, u8 dcs_cmd, u8 param)
{}

static int dsicm_sleep_in(struct panel_drv_data *ddata)

{}

static int dsicm_sleep_out(struct panel_drv_data *ddata)
{}

static int dsicm_get_id(struct panel_drv_data *ddata, u8 *id1, u8 *id2, u8 *id3)
{}

static int dsicm_set_update_window(struct panel_drv_data *ddata)
{}

static int dsicm_bl_update_status(struct backlight_device *dev)
{}

static int dsicm_bl_get_intensity(struct backlight_device *dev)
{}

static const struct backlight_ops dsicm_bl_ops =;

static ssize_t num_dsi_errors_show(struct device *dev,
		struct device_attribute *attr, char *buf)
{}

static ssize_t hw_revision_show(struct device *dev,
		struct device_attribute *attr, char *buf)
{}

static DEVICE_ATTR_RO(num_dsi_errors);
static DEVICE_ATTR_RO(hw_revision);

static struct attribute *dsicm_attrs[] =;

static const struct attribute_group dsicm_attr_group =;

static void dsicm_hw_reset(struct panel_drv_data *ddata)
{}

static int dsicm_power_on(struct panel_drv_data *ddata)
{}

static int dsicm_power_off(struct panel_drv_data *ddata)
{}

static int dsicm_prepare(struct drm_panel *panel)
{}

static int dsicm_enable(struct drm_panel *panel)
{}

static int dsicm_unprepare(struct drm_panel *panel)
{}

static int dsicm_disable(struct drm_panel *panel)
{}

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

static const struct drm_panel_funcs dsicm_panel_funcs =;

static int dsicm_probe_of(struct mipi_dsi_device *dsi)
{}

static int dsicm_probe(struct mipi_dsi_device *dsi)
{}

static void dsicm_remove(struct mipi_dsi_device *dsi)
{}

static const struct dsic_panel_data taal_data =;

static const struct dsic_panel_data himalaya_data =;

static const struct dsic_panel_data droid4_data =;

static const struct of_device_id dsicm_of_match[] =;

MODULE_DEVICE_TABLE(of, dsicm_of_match);

static struct mipi_dsi_driver dsicm_driver =;
module_mipi_dsi_driver();

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