#include <linux/delay.h>
#include <linux/device.h>
#include <linux/gpio/consumer.h>
#include <linux/media-bus-format.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include <linux/regulator/consumer.h>
#include <linux/spi/spi.h>
#include <drm/drm_modes.h>
#include <drm/drm_panel.h>
#define REG00_VBRT_CTRL(val) …
#define REG01_COM_DC(val) …
#define REG02_DA_CONTRAST(val) …
#define REG02_VESA_SEL(val) …
#define REG02_COMDC_SW …
#define REG03_VPOSITION(val) …
#define REG03_BSMOUNT …
#define REG03_COMTST …
#define REG03_HPOSITION1 …
#define REG04_HPOSITION1(val) …
#define REG05_CLIP …
#define REG05_NVM_VREFRESH …
#define REG05_SLFR …
#define REG05_SLBRCHARGE(val) …
#define REG05_PRECHARGE_LEVEL(val) …
#define REG06_TEST5 …
#define REG06_SLDWN …
#define REG06_SLRGT …
#define REG06_TEST2 …
#define REG06_XPSAVE …
#define REG06_GAMMA_SEL(val) …
#define REG06_NT …
#define REG07_TEST1 …
#define REG07_HDVD_POL …
#define REG07_CK_POL …
#define REG07_TEST3 …
#define REG07_TEST4 …
#define REG07_480_LINEMASK …
#define REG07_AMPTST(val) …
#define REG08_SLHRC(val) …
#define REG08_CLOCK_DIV(val) …
#define REG08_PANEL(val) …
#define REG09_SUB_BRIGHT_R(val) …
#define REG09_NW_NB …
#define REG09_IPCON …
#define REG0A_SUB_BRIGHT_B(val) …
#define REG0A_PAIR …
#define REG0A_DE_SEL …
#define REG0B_MBK_POSITION(val) …
#define REG0B_HD_FREERUN …
#define REG0B_VD_FREERUN …
#define REG0B_YUV2BIN(val) …
#define REG0C_CONTRAST_R(val) …
#define REG0C_DOUBLEREAD …
#define REG0D_CONTRAST_G(val) …
#define REG0D_RGB_YUV …
#define REG0E_CONTRAST_B(val) …
#define REG0E_PIXELCOLORDRIVE …
#define REG0F_ASPECT …
#define REG0F_OVERSCAN(val) …
#define REG0F_FRAMEWIDTH(val) …
#define REG10_BRIGHT(val) …
#define REG11_SIG_GAIN(val) …
#define REG11_SIGC_CNTL …
#define REG11_SIGC_POL …
#define REG12_COLOR(val) …
#define REG12_PWCKSEL(val) …
#define REG13_4096LEVEL_CNTL(val) …
#define REG13_SL4096(val) …
#define REG13_LIMITER_CONTROL …
#define REG14_PANEL_TEST(val) …
#define REG15_NVM_LINK0 …
#define REG15_NVM_LINK1 …
#define REG15_NVM_LINK2 …
#define REG15_NVM_LINK3 …
#define REG15_NVM_LINK4 …
#define REG15_NVM_LINK5 …
#define REG15_NVM_LINK6 …
#define REG15_NVM_LINK7 …
struct y030xx067a_info { … };
struct y030xx067a { … };
static inline struct y030xx067a *to_y030xx067a(struct drm_panel *panel)
{ … }
static const struct reg_sequence y030xx067a_init_sequence[] = …;
static int y030xx067a_prepare(struct drm_panel *panel)
{ … }
static int y030xx067a_unprepare(struct drm_panel *panel)
{ … }
static int y030xx067a_enable(struct drm_panel *panel)
{ … }
static int y030xx067a_disable(struct drm_panel *panel)
{ … }
static int y030xx067a_get_modes(struct drm_panel *panel,
struct drm_connector *connector)
{ … }
static const struct drm_panel_funcs y030xx067a_funcs = …;
static const struct regmap_config y030xx067a_regmap_config = …;
static int y030xx067a_probe(struct spi_device *spi)
{ … }
static void y030xx067a_remove(struct spi_device *spi)
{ … }
static const struct drm_display_mode y030xx067a_modes[] = …;
static const struct y030xx067a_info y030xx067a_info = …;
static const struct of_device_id y030xx067a_of_match[] = …;
MODULE_DEVICE_TABLE(of, y030xx067a_of_match);
static struct spi_driver y030xx067a_driver = …;
module_spi_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;