<p>Furquan Shaikh has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/21208">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">mainboard/google/poppy: Tune I2C params (hcnt, lcnt, hold time)<br><br>Tune I2C params for I2C buses 0, 1, 2, 4 and 5 to ensure that the<br>frequency does not exceed 400KHz.<br><br>BUG=b:35948024<br>TEST=Verified for 25 iterations that the frequency on each bus ranges<br><= 400KHz.<br><br>I2C0: 375 - 400<br>I2C1: 377 - 400<br>I2C2: 377 - 400<br>I2C4: 375 - 397<br>I2C5: 375 - 397<br><br>Change-Id: Ie30e1a12b66c4660b648a585c4dfd66faf004129<br>Signed-off-by: Furquan Shaikh <furquan@chromium.org><br>---<br>M src/mainboard/google/poppy/variants/baseboard/devicetree.cb<br>1 file changed, 66 insertions(+), 12 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/08/21208/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">diff --git a/src/mainboard/google/poppy/variants/baseboard/devicetree.cb b/src/mainboard/google/poppy/variants/baseboard/devicetree.cb<br>index 2324557..d4f8fde 100644<br>--- a/src/mainboard/google/poppy/variants/baseboard/devicetree.cb<br>+++ b/src/mainboard/google/poppy/variants/baseboard/devicetree.cb<br>@@ -165,23 +165,77 @@<br>     register "usb3_ports[2]" = "USB3_PORT_DEFAULT(OC_SKIP)"     # Type-A Port<br>         register "usb3_ports[3]" = "USB3_PORT_EMPTY"                # Empty<br> <br>-   register "i2c_voltage[0]" = "I2C_VOLTAGE_3V3"               # Touchscreen<br>-        register "i2c_voltage[1]" = "I2C_VOLTAGE_3V3"               # H1<br>- register "i2c_voltage[2]" = "I2C_VOLTAGE_1V8"               # Camera<br>-     register "i2c_voltage[3]" = "I2C_VOLTAGE_1V8"               # Pen<br>-        register "i2c_voltage[4]" = "I2C_VOLTAGE_1V8"               # Camera<br>-     register "i2c_voltage[5]" = "I2C_VOLTAGE_1V8"               # Audio<br>+      # Touchscreen<br>+        register "i2c_voltage[0]" = "I2C_VOLTAGE_3V3"<br>+    register "i2c[0]" = "{<br>+                 .speed = I2C_SPEED_FAST,<br>+            .speed_config[0] = {<br>+                 .speed = I2C_SPEED_FAST,<br>+                     .scl_lcnt = 185,<br>+                     .scl_hcnt = 90,<br>+                      .sda_hold = 36,<br>+              },<br>+   }"<br>+<br>+   # H1<br>+<br>+      register "i2c_voltage[1]" = "I2C_VOLTAGE_3V3"<br>+    register "i2c[1]" = "{<br>+                .speed = I2C_SPEED_FAST,<br>+             .speed_config[0] = {<br>+                 .speed = I2C_SPEED_FAST,<br>+                     .scl_lcnt = 190,<br>+                     .scl_hcnt = 100,<br>+                     .sda_hold = 36,<br>+              },<br>+           .early_init = 1,<br>+     }"<br>+<br>+<br>+        # Camera<br>+     register "i2c_voltage[2]" = "I2C_VOLTAGE_1V8"<br>+    register "i2c[2]" = "{<br>+                 .speed = I2C_SPEED_FAST,<br>+            .speed_config[0] = {<br>+                 .speed = I2C_SPEED_FAST,<br>+                     .scl_lcnt = 190,<br>+                     .scl_hcnt = 97,<br>+                      .sda_hold = 36,<br>+              },<br>+   }"<br>+<br>+   # Pen<br>+        register "i2c_voltage[3]" = "I2C_VOLTAGE_1V8"<br>+<br>+ # Camera<br>+     register "i2c_voltage[4]" = "I2C_VOLTAGE_1V8"<br>+    register "i2c[4]" = "{<br>+                 .speed = I2C_SPEED_FAST,<br>+            .speed_config[0] = {<br>+                 .speed = I2C_SPEED_FAST,<br>+                     .scl_lcnt = 190,<br>+                     .scl_hcnt = 97,<br>+                      .sda_hold = 36,<br>+              },<br>+   }"<br>+<br>+   # Audio<br>+      register "i2c_voltage[5]" = "I2C_VOLTAGE_1V8"<br>+    register "i2c[5]" = "{<br>+                 .speed = I2C_SPEED_FAST,<br>+            .speed_config[0] = {<br>+                 .speed = I2C_SPEED_FAST,<br>+                     .scl_lcnt = 190,<br>+                     .scl_hcnt = 98,<br>+                      .sda_hold = 36,<br>+              },<br>+   }"<br>+<br> <br>         # Use GSPI0 for cr50 TPM. Early init is required to set up a BAR for TPM<br>      # communication before memory is up.<br>  register "gspi[0]" = "{<br>                 .speed_mhz = 1,<br>-              .early_init = 1,<br>-    }"<br>-<br>-   # Configure I2C1 for cr50 TPM. Early init is required to set up a BAR<br>-        # for TPM communication before memory is up.<br>- register "i2c[1]" = "{<br>                  .early_init = 1,<br>     }"<br> <br></pre><p>To view, visit <a href="https://review.coreboot.org/21208">change 21208</a>. To unsubscribe, visit <a href="https://review.coreboot.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://review.coreboot.org/21208"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: coreboot </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: Ie30e1a12b66c4660b648a585c4dfd66faf004129 </div>
<div style="display:none"> Gerrit-Change-Number: 21208 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Furquan Shaikh <furquan@google.com> </div>