diff options
Diffstat (limited to 'drivers/gpu/drm/solomon/ssd130x.h')
| -rw-r--r-- | drivers/gpu/drm/solomon/ssd130x.h | 32 |
1 files changed, 24 insertions, 8 deletions
diff --git a/drivers/gpu/drm/solomon/ssd130x.h b/drivers/gpu/drm/solomon/ssd130x.h index 03038c1b6476..a4554018bb2a 100644 --- a/drivers/gpu/drm/solomon/ssd130x.h +++ b/drivers/gpu/drm/solomon/ssd130x.h @@ -10,26 +10,38 @@ * Copyright 2012 Free Electrons */ -#ifndef __SSD1307X_H__ -#define __SSD1307X_H__ +#ifndef __SSD130X_H__ +#define __SSD130X_H__ #include <drm/drm_connector.h> #include <drm/drm_crtc.h> #include <drm/drm_drv.h> #include <drm/drm_encoder.h> -#include <drm/drm_plane_helper.h> #include <linux/regmap.h> -#define SSD130X_DATA 0x40 -#define SSD130X_COMMAND 0x80 +#define SSD13XX_DATA 0x40 +#define SSD13XX_COMMAND 0x80 + +enum ssd130x_family_ids { + SSD130X_FAMILY, + SSD132X_FAMILY, + SSD133X_FAMILY +}; enum ssd130x_variants { + /* ssd130x family */ SH1106_ID, SSD1305_ID, SSD1306_ID, SSD1307_ID, SSD1309_ID, + /* ssd132x family */ + SSD1322_ID, + SSD1325_ID, + SSD1327_ID, + /* ssd133x family */ + SSD1331_ID, NR_SSD130X_VARIANTS }; @@ -37,9 +49,13 @@ struct ssd130x_deviceinfo { u32 default_vcomh; u32 default_dclk_div; u32 default_dclk_frq; - int need_pwm; - int need_chargepump; + u32 default_width; + u32 default_height; + bool need_pwm; + bool need_chargepump; bool page_mode_only; + + enum ssd130x_family_ids family_id; }; struct ssd130x_device { @@ -94,4 +110,4 @@ struct ssd130x_device *ssd130x_probe(struct device *dev, struct regmap *regmap); void ssd130x_remove(struct ssd130x_device *ssd130x); void ssd130x_shutdown(struct ssd130x_device *ssd130x); -#endif /* __SSD1307X_H__ */ +#endif /* __SSD130X_H__ */ |
