From 70c496b24ee2ed09969575afc291dadb19eea189 Mon Sep 17 00:00:00 2001 From: Jitao Shi Date: Fri, 19 Aug 2016 16:00:01 +0800 Subject: parade/ps8640: disable mipi mcs Disable ps8640 mipi mcs function to avoid recognizing the normal mipi dsi signal as msc cmd. BUG=chrome-os-partner:56346 BRANCH=none TEST=build pass elm and show ui Change-Id: I91c690fb1ff3bd9b5c1f227205829c914347cd30 Signed-off-by: Martin Roth Original-Commit-Id: 4fd441b46300fea9f238b27c9c1cda4e9e53c80d Original-Change-Id: I85b9f1e6677e4bf8ab1e30c2e69445079fff2d18 Original-Signed-off-by: Jitao Shi Original-Reviewed-on: https://chromium-review.googlesource.com/373219 Original-Commit-Ready: Daniel Kurtz Original-Tested-by: jitao shi Original-Reviewed-by: Julius Werner Original-Reviewed-by: Daniel Kurtz Reviewed-on: https://review.coreboot.org/16365 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin --- src/drivers/parade/ps8640/ps8640.c | 10 ++++++++++ src/drivers/parade/ps8640/ps8640.h | 3 +++ 2 files changed, 13 insertions(+) (limited to 'src/drivers/parade/ps8640') 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, -- cgit v1.2.3