<p>Lubomir Rintel has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/22253">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">util/superiotool: recognize a VT1211 LPC superio<br><br>Change-Id: I2c24c347c3e044397944ca2abbceb36f83483daf<br>Signed-off-by: Lubomir Rintel <lkundrak@v3.sk><br>---<br>M 3rdparty/libgfxinit<br>M 3rdparty/libhwbase<br>M 3rdparty/vboot<br>M util/superiotool/superiotool.h<br>M util/superiotool/via.c<br>5 files changed, 40 insertions(+), 20 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/53/22253/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">diff --git a/3rdparty/libgfxinit b/3rdparty/libgfxinit<br>index 3a0e2a0..fb4f8ce 160000<br>--- a/3rdparty/libgfxinit<br>+++ b/3rdparty/libgfxinit<br>@@ -1 +1 @@<br>-Subproject commit 3a0e2a08f5489f3bb5c6e9f97b903e6e10c31a6c<br>+Subproject commit fb4f8ce26a05c2304367c066b806519941658373<br>diff --git a/3rdparty/libhwbase b/3rdparty/libhwbase<br>index 6685971..3bf6759 160000<br>--- a/3rdparty/libhwbase<br>+++ b/3rdparty/libhwbase<br>@@ -1 +1 @@<br>-Subproject commit 66859712e4817288591908d737dbf41ddea31c3a<br>+Subproject commit 3bf6759dc09d27c06b3533fd536e667356853d3d<br>diff --git a/3rdparty/vboot b/3rdparty/vboot<br>index 3b80572..3d25d2b 160000<br>--- a/3rdparty/vboot<br>+++ b/3rdparty/vboot<br>@@ -1 +1 @@<br>-Subproject commit 3b805725c15022783f0737a72b4f27962abf48cd<br>+Subproject commit 3d25d2b4ba7886244176aa8c429fdac2acf7db3e<br>diff --git a/util/superiotool/superiotool.h b/util/superiotool/superiotool.h<br>index 58a9d61..01237a5 100644<br>--- a/util/superiotool/superiotool.h<br>+++ b/util/superiotool/superiotool.h<br>@@ -249,7 +249,7 @@<br>      {probe_idregs_smsc,     {0x2e, 0x4e, 0x162e, 0x164e, 0x3f0, 0x370, EOT}},<br>     {probe_idregs_winbond,  {0x2e, 0x4e, 0x3f0, 0x370, 0x250, EOT}},<br> #ifdef PCI_SUPPORT<br>-        {probe_idregs_via,      {0x3f0, EOT}},<br>+       {probe_idregs_via,      {0x2e, 0x4e, 0x3f0, EOT}},<br>    /* in fact read the BASE from HW */<br>   {probe_idregs_amd,      {0xaa, EOT}},<br> #endif<br>diff --git a/util/superiotool/via.c b/util/superiotool/via.c<br>index b71d43c..4a97336 100644<br>--- a/util/superiotool/via.c<br>+++ b/util/superiotool/via.c<br>@@ -19,8 +19,11 @@<br> #define DEVICE_ID_VT82C686_REG    0xe0<br> #define DEVICE_REV_VT82C686_REG  0xe1<br> <br>+#define DEVICE_ID_VT1211_REG    0x20<br>+#define DEVICE_REV_VT1211_REG   0x21<br>+<br> static const struct superio_registers reg_table[] = {<br>-     {0x3c, "VT82C686A/VT82C686B", {<br>+    {0x3c, "VT82C686A/VT82C686B/VT1211", {<br>              {EOT}}},<br>      {EOT}<br> };<br>@@ -74,26 +77,43 @@<br>       uint16_t id;<br>  uint8_t rev;<br> <br>-      probing_for("VIA", "", port);<br>+    if (port == 0x3f0) {<br>+         probing_for("VIA", "(init=vt82c686)", port);<br>+             if (enter_conf_mode_via_vt82c686())<br>+                  return;<br> <br>-   if (enter_conf_mode_via_vt82c686())<br>-          return;<br>+              id = regval(port, DEVICE_ID_VT82C686_REG);<br>+           rev = regval(port, DEVICE_REV_VT82C686_REG);<br> <br>-      id = regval(port, DEVICE_ID_VT82C686_REG);<br>-   rev = regval(port, DEVICE_REV_VT82C686_REG);<br>-<br>-      if (superio_unknown(reg_table, id)) {<br>-                if (verbose)<br>-                 printf(NOTFOUND "id=0x%04x, rev=0x%02x\n", id, rev);<br>+               if (superio_unknown(reg_table, id)) {<br>+                        if (verbose)<br>+                         printf(NOTFOUND "id=0x%04x, rev=0x%02x\n", id, rev);<br>+               } else {<br>+                     printf("Found VIA %s (id=0x%04x, rev=0x%02x) at 0x%x\n",<br>+                          get_superio_name(reg_table, id), id, rev, port);<br>+                      chip_found = 1;<br>+              }<br>             exit_conf_mode_via_vt82c686();<br>-               return;<br>+              if (chip_found)<br>+                      return;<br>+      } else {<br>+             probing_for("VIA", "(init=0x87,0x87)", port);<br>+            enter_conf_mode_winbond_fintek_ite_8787(port);<br>+<br>+            id = regval(port, DEVICE_ID_VT1211_REG);<br>+             rev = regval(port, DEVICE_REV_VT1211_REG);<br>+<br>+                if (superio_unknown(reg_table, id)) {<br>+                        if (verbose)<br>+                         printf(NOTFOUND "id=0x%04x, rev=0x%02x\n", id, rev);<br>+               } else {<br>+                     printf("Found VIA %s (id=0x%04x, rev=0x%02x) at 0x%x\n",<br>+                          get_superio_name(reg_table, id), id, rev, port);<br>+                      chip_found = 1;<br>+              }<br>     }<br> <br>- printf("Found VIA %s (id=0x%04x, rev=0x%02x) at 0x%x\n",<br>-          get_superio_name(reg_table, id), id, rev, port);<br>-      chip_found = 1;<br>-<br>-   exit_conf_mode_via_vt82c686();<br>+       exit_conf_mode_winbond_fintek_ite_8787(port);<br> }<br> <br> void print_via_chips(void)<br></pre><p>To view, visit <a href="https://review.coreboot.org/22253">change 22253</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/22253"/><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: I2c24c347c3e044397944ca2abbceb36f83483daf </div>
<div style="display:none"> Gerrit-Change-Number: 22253 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Lubomir Rintel <lkundrak@v3.sk> </div>