On Sun, 29 Jan 2012 03:21:46 +0100 Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net wrote:
Hi,
thanks for this patch.
Am 27.01.2012 18:11 schrieb Idwer Vollering:
From: "Feldschmid, Ingo" ifel@msc-ge.com Date: Fri, 27 Jan 2012 15:05:22 +0100
[…] Of course, an easier path would be to just set the chassis information to something like “Desktop”, but we are not building complete boards, just a COM (Computer-On-Module). Therefore, the module could be used in all different kinds of chassis, but the flash chip update mechanism would always work, since everything relevant is on the module.
Is there a chassis type which is called Computer-On-Module or something like that? Then again, the situation here is complicated because even if such a chassis type can be encoded in DMI data, flashrom can't really know if flashing can be done safely.
there are a few chassis types that might match, but nothing spot-on and there is lot of room for interpretation anyway. and as you said it would not buy us anything, because we have not enough data to deduce if there are significant numbers of "funny" configurations with ECs etc. the P2 enable seems to be the way to go for such devices.
The attached patch has been built against flashrom trunk version 1486.
I have also included two flashrom logs, just to prove that we can flawlessly read and write the bios flash chip on our module.
Signed-off-by: Ingo Feldschmid ifel@msc-ge.com
Index: board_enable.c
--- board_enable.c (revision 1486) +++ board_enable.c (working copy) @@ -2045,6 +2045,17 @@ return it87_gpio_set(63, 1); }
+/*
- Suited for:
- MSC Q7 Tunnel Creek Module, phase 2 detection patch
- */
+static int msc_q7tctc_p2(void)
please rename to something more generic, maybe "p2_not_a_laptop", so that we can reuse the function.
+{
/* we are a computer-on-module, not a laptop */
change the comment accordingly.
is_laptop = 0;
return 1;
+}
#endif
/* @@ -2220,6 +2231,7 @@ {0x1106, 0x0259, 0x1106, 0xAA07, 0x1106, 0x3227, 0x1106, 0xAA07, NULL, NULL, NULL, P3, "VIA", "EPIA EK", 0, NT, via_vt823x_gpio9_raise}, {0x1106, 0x3177, 0x1106, 0xAA01, 0x1106, 0x3123, 0x1106, 0xAA01, NULL, NULL, NULL, P3, "VIA", "EPIA M/MII/...", 0, OK, via_vt823x_gpio15_raise}, {0x1106, 0x0259, 0x1106, 0x3227, 0x1106, 0x3065, 0x1106, 0x3149, NULL, NULL, NULL, P3, "VIA", "EPIA-N/NL", 0, OK, via_vt823x_gpio9_raise},
- {0x8086, 0x8186, 0x8086, 0x8186, 0x0000, 0x0000, 0x0000, 0x0000, "^Q7-TCTC", NULL, NULL, P2, "MSC", "Q7-TCTC", 0, OK, msc_q7tctc_p2},
#endif { 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, NULL, P3, NULL, NULL, 0, NT, NULL}, /* end marker */ };
The only question I have is whether we can make the match more specific:
- Second set of PCI IDs, preferably one which has a vendor ID of MSC-GE
- Use "^Q7-TCTC$" instead
another minor request: please sort the list by manufacturer (then by device) name (and change the function name of course).
thanks for contributing!