[coreboot-gerrit] Patch set updated for coreboot: parade/ps8640: disable mipi mcs

Martin Roth (martinroth@google.com) gerrit at coreboot.org
Wed Aug 31 19:59:11 CEST 2016


Martin Roth (martinroth at google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/16365

-gerrit

commit b50939c00d5bdadbb12939b795eadb65c723f67d
Author: Jitao Shi <jitao.shi at mediatek.com>
Date:   Fri Aug 19 16:00:01 2016 +0800

    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 at chromium.org>
    Original-Commit-Id: 4fd441b46300fea9f238b27c9c1cda4e9e53c80d
    Original-Change-Id: I85b9f1e6677e4bf8ab1e30c2e69445079fff2d18
    Original-Signed-off-by: Jitao Shi <jitao.shi at mediatek.com>
    Original-Reviewed-on: https://chromium-review.googlesource.com/373219
    Original-Commit-Ready: Daniel Kurtz <djkurtz at chromium.org>
    Original-Tested-by: jitao shi <jitao.shi at mediatek.com>
    Original-Reviewed-by: Julius Werner <jwerner at chromium.org>
    Original-Reviewed-by: Daniel Kurtz <djkurtz at chromium.org>
---
 src/drivers/parade/ps8640/ps8640.c | 10 ++++++++++
 src/drivers/parade/ps8640/ps8640.h |  3 +++
 2 files changed, 13 insertions(+)

diff --git a/src/drivers/parade/ps8640/ps8640.c b/src/drivers/parade/ps8640/ps8640.c
index c26c6ef..9596560 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 f7b4006..4540122 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,



More information about the coreboot-gerrit mailing list