[coreboot-gerrit] New patch to review for coreboot: ef3d4d7 nyan*: Set GEN2 I2C pads to open-drain mode

Marc Jones (marc.jones@se-eng.com) gerrit at coreboot.org
Sat Dec 27 07:10:59 CET 2014


Marc Jones (marc.jones at se-eng.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/7952

-gerrit

commit ef3d4d7af23d9a772908dec29328bf8fe014f8a2
Author: Ken Chang <kenc at nvidia.com>
Date:   Thu May 22 10:54:16 2014 +0800

    nyan*: Set GEN2 I2C pads to open-drain mode
    
    The VDDIO to GEN2 I2C SCL/SDA pins is 1.8V and the external
    pull-up voltage is 3.3V (the external 3.3V > I/O 1.8V) thus
    the pinmux E_OD bit of these two pins needs to be set to
    ensure GEN2 I2C pads work fine on 3.3V.
    
    BRANCH=nyan
    BUG=none
    TEST=observed voltage drop from 3.3V to 2.36V on gen2 i2c
    on blaze w/o this change. the waveform looks good on both
    scl/sda pins w/ this change.
    
    Original-Change-Id: I1b97f0c9c7580d1e532c3bdf7ac8690241ee7ee3
    Original-Signed-off-by: Ken Chang <kenc at nvidia.com>
    Original-Reviewed-on: https://chromium-review.googlesource.com/200996
    Original-Reviewed-by: Julius Werner <jwerner at chromium.org>
    (cherry picked from commit 2db39166ec525e56a19746f38a867305a2687365)
    Signed-off-by: Marc Jones <marc.jones at se-eng.com>
    
    Change-Id: I0c84eade89311baf0a6f180cb5cc9e2145f6b7ea
---
 src/mainboard/google/nyan/mainboard.c       | 6 ++++--
 src/mainboard/google/nyan_big/mainboard.c   | 6 ++++--
 src/mainboard/google/nyan_blaze/mainboard.c | 6 ++++--
 3 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/src/mainboard/google/nyan/mainboard.c b/src/mainboard/google/nyan/mainboard.c
index a54f95d..682fdc4 100644
--- a/src/mainboard/google/nyan/mainboard.c
+++ b/src/mainboard/google/nyan/mainboard.c
@@ -81,10 +81,12 @@ static void setup_pinmux(void)
 			  PINMUX_GEN1_I2C_SDA_FUNC_I2C1 | PINMUX_INPUT_ENABLE);
 	// I2C2 clock.
 	pinmux_set_config(PINMUX_GEN2_I2C_SCL_INDEX,
-			  PINMUX_GEN2_I2C_SCL_FUNC_I2C2 | PINMUX_INPUT_ENABLE);
+			  PINMUX_GEN2_I2C_SCL_FUNC_I2C2 | PINMUX_INPUT_ENABLE |
+			  PINMUX_OPEN_DRAIN);
 	// I2C2 data.
 	pinmux_set_config(PINMUX_GEN2_I2C_SDA_INDEX,
-			  PINMUX_GEN2_I2C_SDA_FUNC_I2C2 | PINMUX_INPUT_ENABLE);
+			  PINMUX_GEN2_I2C_SDA_FUNC_I2C2 | PINMUX_INPUT_ENABLE |
+			  PINMUX_OPEN_DRAIN);
 	// I2C4 (DDC) clock.
 	pinmux_set_config(PINMUX_DDC_SCL_INDEX,
 			  PINMUX_DDC_SCL_FUNC_I2C4 | PINMUX_INPUT_ENABLE);
diff --git a/src/mainboard/google/nyan_big/mainboard.c b/src/mainboard/google/nyan_big/mainboard.c
index 4a55e1e..ff147e2 100644
--- a/src/mainboard/google/nyan_big/mainboard.c
+++ b/src/mainboard/google/nyan_big/mainboard.c
@@ -81,10 +81,12 @@ static void setup_pinmux(void)
 			  PINMUX_GEN1_I2C_SDA_FUNC_I2C1 | PINMUX_INPUT_ENABLE);
 	// I2C2 clock.
 	pinmux_set_config(PINMUX_GEN2_I2C_SCL_INDEX,
-			  PINMUX_GEN2_I2C_SCL_FUNC_I2C2 | PINMUX_INPUT_ENABLE);
+			  PINMUX_GEN2_I2C_SCL_FUNC_I2C2 | PINMUX_INPUT_ENABLE |
+			  PINMUX_OPEN_DRAIN);
 	// I2C2 data.
 	pinmux_set_config(PINMUX_GEN2_I2C_SDA_INDEX,
-			  PINMUX_GEN2_I2C_SDA_FUNC_I2C2 | PINMUX_INPUT_ENABLE);
+			  PINMUX_GEN2_I2C_SDA_FUNC_I2C2 | PINMUX_INPUT_ENABLE |
+			  PINMUX_OPEN_DRAIN);
 	// I2C4 (DDC) clock.
 	pinmux_set_config(PINMUX_DDC_SCL_INDEX,
 			  PINMUX_DDC_SCL_FUNC_I2C4 | PINMUX_INPUT_ENABLE);
diff --git a/src/mainboard/google/nyan_blaze/mainboard.c b/src/mainboard/google/nyan_blaze/mainboard.c
index 0c5078f..8d4f553 100644
--- a/src/mainboard/google/nyan_blaze/mainboard.c
+++ b/src/mainboard/google/nyan_blaze/mainboard.c
@@ -81,10 +81,12 @@ static void setup_pinmux(void)
 			  PINMUX_GEN1_I2C_SDA_FUNC_I2C1 | PINMUX_INPUT_ENABLE);
 	// I2C2 clock.
 	pinmux_set_config(PINMUX_GEN2_I2C_SCL_INDEX,
-			  PINMUX_GEN2_I2C_SCL_FUNC_I2C2 | PINMUX_INPUT_ENABLE);
+			  PINMUX_GEN2_I2C_SCL_FUNC_I2C2 | PINMUX_INPUT_ENABLE |
+			  PINMUX_OPEN_DRAIN);
 	// I2C2 data.
 	pinmux_set_config(PINMUX_GEN2_I2C_SDA_INDEX,
-			  PINMUX_GEN2_I2C_SDA_FUNC_I2C2 | PINMUX_INPUT_ENABLE);
+			  PINMUX_GEN2_I2C_SDA_FUNC_I2C2 | PINMUX_INPUT_ENABLE |
+			  PINMUX_OPEN_DRAIN);
 	// I2C4 (DDC) clock.
 	pinmux_set_config(PINMUX_DDC_SCL_INDEX,
 			  PINMUX_DDC_SCL_FUNC_I2C4 | PINMUX_INPUT_ENABLE);



More information about the coreboot-gerrit mailing list