drivers: ssd1673: add support for SSD1608 and GDE029A1

Add support for SSD1608 controller and GDE029A1 display.

Signed-off-by: Johann Fischer <j.fischer@phytec.de>
This commit is contained in:
Johann Fischer 2019-02-04 19:11:00 +01:00 committed by Anas Nashif
commit 7402e3db46
2 changed files with 27 additions and 0 deletions

View file

@ -59,6 +59,22 @@ static u8_t ssd1673_lut_default[] = {
0x0F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00 0x00, 0x00, 0x00, 0x00, 0x00
}; };
#elif defined(DT_GD_GDE029A1_0)
static u8_t ssd1673_lut_initial[] = {
0x50, 0xAA, 0x55, 0xAA, 0x11, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x1F, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
static u8_t ssd1673_lut_default[] = {
0x10, 0x18, 0x18, 0x08, 0x18, 0x18, 0x08, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x13, 0x14, 0x44, 0x12,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
#else
#error "No waveform look up table (LUT) selected!"
#endif #endif
static inline int ssd1673_write_cmd(struct ssd1673_data *driver, static inline int ssd1673_write_cmd(struct ssd1673_data *driver,
@ -469,6 +485,16 @@ static int ssd1673_controller_init(struct device *dev)
return err; return err;
} }
#if defined(DT_SOLOMON_SSD1673FB_0_SOFTSTART_1)
tmp[0] = DT_SOLOMON_SSD1673FB_0_SOFTSTART_1;
tmp[1] = DT_SOLOMON_SSD1673FB_0_SOFTSTART_2;
tmp[2] = DT_SOLOMON_SSD1673FB_0_SOFTSTART_3;
err = ssd1673_write_cmd(driver, SSD1673_CMD_SOFTSTART, tmp, 3);
if (err < 0) {
return err;
}
#endif
tmp[0] = DT_SOLOMON_SSD1673FB_0_GDV_A; tmp[0] = DT_SOLOMON_SSD1673FB_0_GDV_A;
#if defined(DT_SOLOMON_SSD1673FB_0_GDV_B) #if defined(DT_SOLOMON_SSD1673FB_0_GDV_B)
tmp[1] = DT_SOLOMON_SSD1673FB_0_GDV_B; tmp[1] = DT_SOLOMON_SSD1673FB_0_GDV_B;

View file

@ -12,6 +12,7 @@
#define SSD1673_CMD_GDO_CTRL 0x01 #define SSD1673_CMD_GDO_CTRL 0x01
#define SSD1673_CMD_GDV_CTRL 0x03 #define SSD1673_CMD_GDV_CTRL 0x03
#define SSD1673_CMD_SDV_CTRL 0x04 #define SSD1673_CMD_SDV_CTRL 0x04
#define SSD1673_CMD_SOFTSTART 0x0c
#define SSD1673_CMD_GSCAN_START 0x0f #define SSD1673_CMD_GSCAN_START 0x0f
#define SSD1673_CMD_SLEEP_MODE 0x10 #define SSD1673_CMD_SLEEP_MODE 0x10
#define SSD1673_CMD_ENTRY_MODE 0x11 #define SSD1673_CMD_ENTRY_MODE 0x11