Luc Verhaegen wrote: > Hi, > > This patch adds initial flashrom support for matching mainboards based > on pci-ids and pci subsystem/card ids. > > I've been using subsystem/card ids as part of my unichrome driver for > years (xf86-video-unichrome/src/via_id.c). It is a very easy and > painless system for identifying boards. > > It is relatively reliable, as it's always the same vendors that bugger > them up (like VIA and ECS). Most vendors do play nice. But, in order to > not mess up on devices like the EPIA-M, 2 sets of ids can be provided > here. This gives pretty absolute reliability. Boards that don't need 2 > matches can just null the second set. > > This code works correctly on: > * EPIA-M with original BIOS. Matched and enabled correctly: > $ Found "VIA EPIA M/MII/...": Enabling flash write... OK. > * EPIA-M with linuxbios: not matched - pci subsystem ids not set > correctly (yet!) - but not a problem as linuxbios never disabled write > in the first place. > * Asus A7V400-MX now works correctly (the CrashFree BIOS). This involves > poking the Winbond LPC superio: > $ Found "Asus A7V8-MX SE": Enabling flash write... OK. > (This different name is correct. The difference is the northbridge > revision and a sticker over "A7V8-MX SE") > * Mitac 8999 laptop. Here GPIO15 enables the panel backlight, while on > EPIA-M it enables rom write. Hence this being highly incorrect here. > Requires nothing board specific and can flash np. > * Shuttle SK43G requires nothing board specific. > > There is one more VT823x based device in this house that might get > tested, and possibly implemented, this weekend. > > The Island Aruma support is currently kept as is. > > When no match has been made, or an error occured, then the name based > matching is still attempted. > > I'm not a big fan of doing board specific things on the name alone. A > user also shouldn't be allowed to specify a board name as that would > lead to very randomly poking bits with potentially not-so-fun > consequences. Testing here should imho involve editing flash_enable.c > directly. > > Island aruma code can be converted with little effort, all it takes is > the output of lspci -vn. > > Commit message, signed-off, etc are done git-style. > > Luc Verhaegen. >
Luc, could you check out the PCChips M789CG for me and see if this can support it? The stock bios is an AMIBIOS (if it matters), with a VT8235M southbridge and ITE IT8705f Super I/O (docs here: http://www.iteusa.com/product_info/file/pc/IT8705F_V.0.4.1.pdf). I've tried both the epia-m and asus fixups that are currently in your patch, but neither of them worked, and I know very little about the workings of flashrom. Here's the line with my vendor ids: { 0x1106, 0x3177, 0x1106, 0x0000, 0x1106, 0x3123, 0x1106, 0x0000, "PCChips M789CG(v3.0)", enable_flash_xxx }, Also, should we be moving these board-specific flash fixups off into another file? I get the feeling we're going to have a lot of them in the future. Thanks, Corey -- linuxbios mailing list [email protected] http://www.linuxbios.org/mailman/listinfo/linuxbios
