diff options
author | Jitao Shi <jitao.shi@mediatek.com> | 2016-08-19 16:00:01 +0800 |
---|---|---|
committer | Martin Roth <martinroth@google.com> | 2016-08-31 19:59:29 +0200 |
commit | 70c496b24ee2ed09969575afc291dadb19eea189 (patch) | |
tree | f2a284eaa9aac146c179a36c882ce00bbeb8b641 /src/drivers/parade | |
parent | 54aa89c7b4ea793f49f6cfe73e13b4ce71dd138f (diff) |
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 <martinroth@chromium.org>
Original-Commit-Id: 4fd441b46300fea9f238b27c9c1cda4e9e53c80d
Original-Change-Id: I85b9f1e6677e4bf8ab1e30c2e69445079fff2d18
Original-Signed-off-by: Jitao Shi <jitao.shi@mediatek.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/373219
Original-Commit-Ready: Daniel Kurtz <djkurtz@chromium.org>
Original-Tested-by: jitao shi <jitao.shi@mediatek.com>
Original-Reviewed-by: Julius Werner <jwerner@chromium.org>
Original-Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-on: https://review.coreboot.org/16365
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'src/drivers/parade')
-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, |