diff options
Diffstat (limited to 'src/drivers/parade/ps8640')
-rw-r--r-- | src/drivers/parade/ps8640/ps8640.c | 10 | ||||
-rw-r--r-- | src/drivers/parade/ps8640/ps8640.h | 3 |
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, |