drivers: ssd1673: add DT properties for configuration registers

The values for the registers like GDV, SDV and Boarder Waveform
depend on the panel and display controller. Add DT properties
and obtain such values from DT.

Signed-off-by: Johann Fischer <j.fischer@phytec.de>
This commit is contained in:
Johann Fischer 2019-02-04 17:09:53 +01:00 committed by Anas Nashif
commit f7495ef8eb
4 changed files with 67 additions and 8 deletions

View file

@ -467,20 +467,24 @@ static int ssd1673_controller_init(struct device *dev)
return err;
}
tmp[0] = SSD1673_VAL_GDV_CTRL_A;
tmp[1] = SSD1673_VAL_GDV_CTRL_B;
tmp[0] = DT_SOLOMON_SSD1673FB_0_GDV_A;
#if defined(DT_SOLOMON_SSD1673FB_0_GDV_B)
tmp[1] = DT_SOLOMON_SSD1673FB_0_GDV_B;
err = ssd1673_write_cmd(driver, SSD1673_CMD_GDV_CTRL, tmp, 2);
#else
err = ssd1673_write_cmd(driver, SSD1673_CMD_GDV_CTRL, tmp, 1);
#endif
if (err < 0) {
return err;
}
tmp[0] = SSD1673_VAL_SDV_CTRL;
tmp[0] = DT_SOLOMON_SSD1673FB_0_SDV;
err = ssd1673_write_cmd(driver, SSD1673_CMD_SDV_CTRL, tmp, 1);
if (err < 0) {
return err;
}
tmp[0] = SSD1673_VAL_VCOM_VOLTAGE;
tmp[0] = DT_SOLOMON_SSD1673FB_0_VCOM;
err = ssd1673_write_cmd(driver, SSD1673_CMD_VCOM_VOLTAGE, tmp, 1);
if (err < 0) {
return err;
@ -498,6 +502,12 @@ static int ssd1673_controller_init(struct device *dev)
return err;
}
tmp[0] = DT_SOLOMON_SSD1673FB_0_BORDER_WAVEFORM;
err = ssd1673_write_cmd(driver, SSD1673_CMD_BWF_CTRL, tmp, 1);
if (err < 0) {
return err;
}
ssd1673_set_orientation_internall(driver);
err = ssd1673_write_cmd(driver, SSD1673_CMD_UPDATE_LUT,

View file

@ -66,10 +66,6 @@
#define SSD1673_SLEEP_MODE_PON 0x00
/* Default values */
#define SSD1673_VAL_GDV_CTRL_A 16
#define SSD1673_VAL_GDV_CTRL_B 10
#define SSD1673_VAL_SDV_CTRL 0x19
#define SSD1673_VAL_VCOM_VOLTAGE 0xa8
#define SSD1673_VAL_DUMMY_LINE 0x1a
#define SSD1673_VAL_GATE_LWIDTH 0x08