Success report:
http://paste.flashrom.org/view.php?id=889

(mostly) written by Joshua Roy (please add your signed-off tag) and
Acked-by: Stefan Tauner <[email protected]>
---
 board_enable.c |   33 +++++++++++++++++++++++++++++++++
 print.c        |    1 +
 2 files changed, 34 insertions(+), 0 deletions(-)

diff --git a/board_enable.c b/board_enable.c
index 1874459..fe2f021 100644
--- a/board_enable.c
+++ b/board_enable.c
@@ -1051,6 +1051,38 @@ static int nvidia_mcp_gpio3b_raise(void)
 
 /*
  * Suited for:
+ *  - Sun Ultra 40 M2: Dual Socket F (1207) + MCP55
+ */
+static int board_sun_ultra_40_m2(void)
+{
+       int ret;
+       uint8_t reg;
+       uint16_t base;
+       struct pci_dev *dev;
+
+       ret = nvidia_mcp_gpio4_lower();
+       if (ret)
+               return ret;
+
+       dev = pci_dev_find(0x10de, 0x0364); /* NVIDIA MCP55 LPC bridge */
+       if (!dev) {
+               msg_perr("\nERROR: NVIDIA MCP55 LPC bridge not found.\n");
+               return -1;
+       }
+
+       base = pci_read_word(dev, 0xb4); /* some IO BAR? */
+       if (!base)
+               return -1;
+
+       reg = INB(base + 0x4b);
+       reg |= 0x10;
+       OUTB(reg, base + 0x4b);
+
+       return 0;
+}
+
+/*
+ * Suited for:
  *  - Artec Group DBE61 and DBE62
  */
 static int board_artecgroup_dbe6x(void)
@@ -2109,6 +2141,7 @@ const struct board_match board_matches[] = {
        {0x1106, 0x3104, 0x1297, 0xa238,  0x1106, 0x3059, 0x1297, 0xc063, NULL, 
        NULL, NULL,           P3, "Shuttle",     "AK38N",                 256, 
OK, NULL},
        {0x10DE, 0x0050, 0x1297, 0x5036,  0x1412, 0x1724, 0x1297, 0x5036, NULL, 
        NULL, NULL,           P3, "Shuttle",     "FN25",                  0,   
OK, board_shuttle_fn25},
        {0x1106, 0x3038, 0x0925, 0x1234,  0x1106, 0x3058, 0x15DD, 0x7609, NULL, 
        NULL, NULL,           P3, "Soyo",        "SY-7VCA",               0,   
OK, via_apollo_gpo0_lower},
+       {0x10de, 0x0364, 0x108e, 0x6676,  0x10de, 0x0369, 0x108e, 0x6676, "^Sun 
Ultra 40 M2", NULL, NULL,     P3, "Sun",         "Ultra 40 M2",           0,   
OK, board_sun_ultra_40_m2},
        {0x1106, 0x3038, 0x0925, 0x1234,  0x1106, 0x0596, 0x1106,      0, NULL, 
        NULL, NULL,           P3, "Tekram",      "P6Pro-A5",              256, 
OK, NULL},
        {0x1106, 0x3123, 0x1106, 0x3123,  0x1106, 0x3059, 0x1106, 0x4161, NULL, 
        NULL, NULL,           P3, "Termtek",     "TK-3370 (Rev:2.5B)",    0,   
OK, w836xx_memw_enable_4e},
        {0x8086, 0x1076, 0x8086, 0x1176,  0x1106, 0x3059, 0x10f1, 0x2498, NULL, 
        NULL, NULL,           P3, "Tyan",        "S2498 (Tomcat K7M)",    0,   
OK, w836xx_memw_enable_2e},
diff --git a/print.c b/print.c
index 05eee9f..91288ee 100644
--- a/print.c
+++ b/print.c
@@ -846,6 +846,7 @@ const struct board_info boards_known[] = {
        B("Sun",        "Fire x4200",           0, 
"http://www.sun.com/servers/entry/x4200/";, "No public report found. May work 
now."),
        B("Sun",        "Fire x4540",           0, 
"http://www.sun.com/servers/x64/x4540/";, "No public report found. May work 
now."),
        B("Sun",        "Fire x4600",           0, 
"http://www.sun.com/servers/x64/x4600/";, "No public report found. May work 
now."),
+       B("Sun",        "Ultra 40 M2",          1, NULL, NULL),
        B("Supermicro", "H8QC8",                1, 
"http://www.supermicro.com/Aplus/motherboard/Opteron/nforce/H8QC8.cfm";, NULL),
        B("Supermicro", "X5DP8-G2",             1, 
"http://www.supermicro.com/products/motherboard/Xeon/E7501/X5DP8-G2.cfm";, NULL),
        B("Supermicro", "X7DBT-INF",            1, 
"http://www.supermicro.com/products/motherboard/Xeon1333/5000P/X7DBT-INF.cfm";, 
NULL),
-- 
1.7.1


_______________________________________________
flashrom mailing list
[email protected]
http://www.flashrom.org/mailman/listinfo/flashrom

Reply via email to