drivers: ssd1306: add DT properties to support 128x32 display

Add DT properties to support 128x32 display.

Fixes: #13725

Signed-off-by: Johann Fischer <j.fischer@phytec.de>
This commit is contained in:
Johann Fischer 2019-09-11 01:16:28 +02:00 committed by Maureen Helm
commit 2388e3169c
3 changed files with 19 additions and 3 deletions

View file

@ -29,10 +29,15 @@ LOG_MODULE_REGISTER(ssd1306);
#define SSD1306_PANEL_COM_INVDIR false
#endif
#if DT_INST_0_SOLOMON_SSD1306FB_COM_SEQUENTIAL == 1
#define SSD1306_COM_PINS_HW_CONFIG SSD1306_SET_PADS_HW_SEQUENTIAL
#else
#define SSD1306_COM_PINS_HW_CONFIG SSD1306_SET_PADS_HW_ALTERNATIVE
#endif
#define SSD1306_PANEL_NUMOF_PAGES (DT_INST_0_SOLOMON_SSD1306FB_HEIGHT / 8)
#define SSD1306_CLOCK_DIV_RATIO 0x0
#define SSD1306_CLOCK_FREQUENCY 0x8
#define SSD1306_PANEL_MUX_RATIO 63
#define SSD1306_PANEL_VCOM_DESEL_LEVEL 0x20
#define SSD1306_PANEL_PUMP_VOLTAGE SSD1306_SET_PUMP_VOLTAGE_90
@ -127,11 +132,11 @@ static inline int ssd1306_set_hardware_config(struct device *dev)
SSD1306_CONTROL_BYTE_CMD,
SSD1306_SET_PADS_HW_CONFIG,
SSD1306_CONTROL_BYTE_CMD,
SSD1306_SET_PADS_HW_ALTERNATIVE,
SSD1306_COM_PINS_HW_CONFIG,
SSD1306_CONTROL_BYTE_CMD,
SSD1306_SET_MULTIPLEX_RATIO,
SSD1306_CONTROL_LAST_BYTE_CMD,
SSD1306_PANEL_MUX_RATIO
DT_INST_0_SOLOMON_SSD1306FB_MULTIPLEX_RATIO
};
return i2c_write(driver->i2c, cmd_buf, sizeof(cmd_buf),