summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/drivers/parade/ps8640/ps8640.c10
-rw-r--r--src/drivers/parade/ps8640/ps8640.h3
2 files changed, 13 insertions, 0 deletions
diff --git a/src/drivers/parade/ps8640/ps8640.c b/src/drivers/parade/ps8640/ps8640.c
index c26c6effb7..95965601ec 100644
--- a/src/drivers/parade/ps8640/ps8640.c
+++ b/src/drivers/parade/ps8640/ps8640.c
@@ -76,6 +76,16 @@ int ps8640_init(uint8_t bus, uint8_t chip)
}
mdelay(50);
+
+ /*
+ * The Manufacturer Command Set (MCS) is a device dependent interface
+ * intended for factory programming of the display module default
+ * parameters. Once the display module is configured, the MCS shall be
+ * disabled by the manufacturer. Once disabled, all MCS commands are
+ * ignored by the display interface.
+ */
+ i2c_write_field(bus, chip + 2, PAGE2_MCS_EN, 0x0, MCS_EN_MASK,
+ MCS_EN_SHIFT);
i2c_writeb(bus, chip + 3, PAGE3_SET_ADD, VDO_CTL_ADD);
i2c_writeb(bus, chip + 3, PAGE3_SET_VAL, VDO_DIS);
i2c_writeb(bus, chip + 3, PAGE3_SET_ADD, VDO_CTL_ADD);
diff --git a/src/drivers/parade/ps8640/ps8640.h b/src/drivers/parade/ps8640/ps8640.h
index f7b40061f0..4540122420 100644
--- a/src/drivers/parade/ps8640/ps8640.h
+++ b/src/drivers/parade/ps8640/ps8640.h
@@ -26,6 +26,9 @@ enum {
PS_GPIO9 = BIT(1),
I2C_BYPASS_EN = BIT(7),
+ PAGE2_MCS_EN = 0xf3,
+ MCS_EN_SHIFT = 0,
+ MCS_EN_MASK = 0x1,
PAGE3_SET_ADD = 0xfe,
PAGE3_SET_VAL = 0xff,
VDO_CTL_ADD = 0x13,