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:
parent
fbd527d562
commit
f7495ef8eb
4 changed files with 67 additions and 8 deletions
|
@ -129,6 +129,11 @@
|
||||||
reset-gpios = <&gpio0 15 0>;
|
reset-gpios = <&gpio0 15 0>;
|
||||||
dc-gpios = <&gpio0 16 0>;
|
dc-gpios = <&gpio0 16 0>;
|
||||||
busy-gpios = <&gpio0 14 0>;
|
busy-gpios = <&gpio0 14 0>;
|
||||||
|
gdv-a = <0x10>;
|
||||||
|
gdv-b = <0x0a>;
|
||||||
|
sdv = <0x19>;
|
||||||
|
vcom = <0xa8>;
|
||||||
|
border-waveform = <0x71>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -467,20 +467,24 @@ static int ssd1673_controller_init(struct device *dev)
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
tmp[0] = SSD1673_VAL_GDV_CTRL_A;
|
tmp[0] = DT_SOLOMON_SSD1673FB_0_GDV_A;
|
||||||
tmp[1] = SSD1673_VAL_GDV_CTRL_B;
|
#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);
|
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) {
|
if (err < 0) {
|
||||||
return err;
|
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);
|
err = ssd1673_write_cmd(driver, SSD1673_CMD_SDV_CTRL, tmp, 1);
|
||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
return err;
|
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);
|
err = ssd1673_write_cmd(driver, SSD1673_CMD_VCOM_VOLTAGE, tmp, 1);
|
||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
return err;
|
return err;
|
||||||
|
@ -498,6 +502,12 @@ static int ssd1673_controller_init(struct device *dev)
|
||||||
return err;
|
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);
|
ssd1673_set_orientation_internall(driver);
|
||||||
|
|
||||||
err = ssd1673_write_cmd(driver, SSD1673_CMD_UPDATE_LUT,
|
err = ssd1673_write_cmd(driver, SSD1673_CMD_UPDATE_LUT,
|
||||||
|
|
|
@ -66,10 +66,6 @@
|
||||||
#define SSD1673_SLEEP_MODE_PON 0x00
|
#define SSD1673_SLEEP_MODE_PON 0x00
|
||||||
|
|
||||||
/* Default values */
|
/* 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_DUMMY_LINE 0x1a
|
||||||
#define SSD1673_VAL_GATE_LWIDTH 0x08
|
#define SSD1673_VAL_GATE_LWIDTH 0x08
|
||||||
|
|
||||||
|
|
|
@ -41,6 +41,54 @@ properties:
|
||||||
description: Number of bits used for the width parameters
|
description: Number of bits used for the width parameters
|
||||||
generation: define
|
generation: define
|
||||||
|
|
||||||
|
gdv-a:
|
||||||
|
type: hex
|
||||||
|
category: required
|
||||||
|
description: Gate driving voltage (A value)
|
||||||
|
generation: define
|
||||||
|
|
||||||
|
gdv-b:
|
||||||
|
type: hex
|
||||||
|
category: optional
|
||||||
|
description: Gate driving voltage (B value)
|
||||||
|
generation: define
|
||||||
|
|
||||||
|
sdv:
|
||||||
|
type: hex
|
||||||
|
category: required
|
||||||
|
description: Source driving voltage
|
||||||
|
generation: define
|
||||||
|
|
||||||
|
vcom:
|
||||||
|
type: hex
|
||||||
|
category: required
|
||||||
|
description: VCOM voltage
|
||||||
|
generation: define
|
||||||
|
|
||||||
|
border-waveform:
|
||||||
|
type: hex
|
||||||
|
category: required
|
||||||
|
description: Border waveform
|
||||||
|
generation: define
|
||||||
|
|
||||||
|
softstart-1:
|
||||||
|
type: hex
|
||||||
|
category: optional
|
||||||
|
description: Booster soft start phase 1
|
||||||
|
generation: define
|
||||||
|
|
||||||
|
softstart-2:
|
||||||
|
type: hex
|
||||||
|
category: optional
|
||||||
|
description: Booster soft start phase 2
|
||||||
|
generation: define
|
||||||
|
|
||||||
|
softstart-3:
|
||||||
|
type: hex
|
||||||
|
category: optional
|
||||||
|
description: Booster soft start phase 3
|
||||||
|
generation: define
|
||||||
|
|
||||||
orientation-flipped:
|
orientation-flipped:
|
||||||
type: boolean
|
type: boolean
|
||||||
category: optional
|
category: optional
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue