Skip to content

Commit db27242

Browse files
author
stefanct
committed
Add a bunch of new/tested stuff and various small changes 22.
Tested mainboards: OK: - AOpen UK79G-1394 (used in EZ18 barebones) Reported by Lawrence Gough - ASUS M4N78 SE Reported by Dima Veselov - ASUS P5LD2-VM Mark board enable as tested (reported by Dima Veselov) - GIGABYTE GA-970A-UD3P (rev. 2.0) Reported by trucmar on IRC - GIGABYTE GA-990FXA-UD3 (rev. 4.0) Reported by ROKO__ on IRC - GIGABYTE GA-H77-DS3H (rev. 1.1) Reported by Evgeniy Edigarev - GIGABYTE GA-P55-USB3 (rev. 2.0) Reported by Måns Thörnqvist - MSI MS-7817 (H81M-E33) Reported by Igor Kolker Chipsets: - Marked Intel Bay Trail (0x0f1c) as tested OK Reported by Antonio Ospite - Refine Intel IDs * Add IDs for Braswell * Add IDs for 9 Series PCHs (e.g. H97, Z97) * Rename Wellsburg devices slightly Flash chips: - Atmel AT25DF041A to PREW (+PREW) Reported by Tai-hwa Liang - Atmel AT26DF161 to PREW (+EW) Reported by Steve Shenton - Atmel AT45DB011D to PREW (+PREW) Reported by The Raven - Atmel AT45DB642D to PREW (+PREW) Reported by Mahesh Mokal - Eon EN25F32 to PREW (+PREW) Reported by Arman Khodabande - Eon EN25F40 to PREW (+REW) Reported by Jerrad Pierce - Eon EN25QH16 to PREW (+EW) Reported by Ben Johnson - GigaDevice GD25Q20(B) to PREW (+PREW) Reported by Gilles Aurejac - Macronix MX25U6435E/F to PR (+PR) Reported by Matt Taggart - PMC Pm25LV512(A) to PREW (+PREW) Reported by The Raven - SST SST39VF020 to PREW (+PREW) Reported by Urja Rannikko - Winbond W25Q40.V to PREW (+EW) Reported by Torben Nielsen - Add E variants of MX25Lx006 (MX25L2006E, MX25L4006E, MX25L8006E). - Add MX25L6465E variant. - There was never a MX25L12805 AFAICT. - Split MX25L12805 from models with the same ID but an additional 32 kB eraser: MX25L12835F/MX25L12845E/MX25L12865E. - Add a bunch of ST parallel NOR flash chip IDs. Miscellaneous: - Whitelist ThinkPad X200. - Constify master parameter of register_master(). - Remove FEATURE_BYTEWRITES because it was never used at all. - Refine hwseq messages and make them less prominent. - Fix the yet unused PRIxCHIPADDR format string thingy. - Fix copy&paste error in spi_prettyprint_status_register_bp(). Spotted by Pablo Cases. - Add an additional SMBus controller revision to identify another Yangtze model. Thanks to Dan Christensen for reporting this issue. - dediprog: add missing include for stdlib.h. This fixes (at least) building on FreeBSD and DragonflyBSD with gcc. - Remove references to struct pci_filter from programmer.h. It is only needed in internal.c where it has a complete type. Having it in programmer.h provokes a warning by some old versions of gcc. - Tiny other stuff. Signed-off-by: Stefan Tauner <[email protected]> Acked-by: Stefan Tauner <[email protected]> git-svn-id: svn://flashrom.org/flashrom/trunk@1879 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
1 parent d77d200 commit db27242

16 files changed

+220
-119
lines changed

Makefile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ UNSUPPORTED_FEATURES += CONFIG_PONY_SPI=yes
138138
else
139139
override CONFIG_PONY_SPI = no
140140
endif
141-
# Dediprog and FT2232 are not supported under DOS (missing USB support).
141+
# Dediprog, USB-Blaster and FT2232 are not supported under DOS (missing USB support).
142142
ifeq ($(CONFIG_DEDIPROG), yes)
143143
UNSUPPORTED_FEATURES += CONFIG_DEDIPROG=yes
144144
else
@@ -277,7 +277,7 @@ UNSUPPORTED_FEATURES += CONFIG_PONY_SPI=yes
277277
else
278278
override CONFIG_PONY_SPI = no
279279
endif
280-
# Dediprog and FT2232 are not supported with libpayload (missing libusb support)
280+
# Dediprog, USB-Blaster and FT2232 are not supported with libpayload (missing libusb support)
281281
ifeq ($(CONFIG_DEDIPROG), yes)
282282
UNSUPPORTED_FEATURES += CONFIG_DEDIPROG=yes
283283
else
@@ -914,6 +914,7 @@ ifneq ($(UNSUPPORTED_FEATURES), )
914914
endif
915915

916916
define FTDI_TEST
917+
#include <stdlib.h>
917918
#include <ftdi.h>
918919
struct ftdi_context *ftdic = NULL;
919920
int main(int argc, char **argv)

board_enable.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2377,7 +2377,7 @@ const struct board_match board_matches[] = {
23772377
{0x8086, 0x27b8, 0x1043, 0x2a22, 0x8086, 0x2770, 0x1043, 0x2a22, "^P5LP-LE$", NULL, NULL, P3, "ASUS", "P5LP-LE (Epson OEM)", 0, OK, intel_ich_gpio34_raise},
23782378
{0x8086, 0x27da, 0x1043, 0x8179, 0x8086, 0x27b8, 0x1043, 0x8179, "^P5LD2$", NULL, NULL, P3, "ASUS", "P5LD2", 0, OK, intel_ich_gpio16_raise},
23792379
{0x8086, 0x27da, 0x1043, 0x8179, 0x8086, 0x27b0, 0x1043, 0x8179, "^P5LD2-MQ$", NULL, NULL, P3, "ASUS", "P5LD2-MQ", 0, OK, intel_ich_gpio16_raise},
2380-
{0x8086, 0x27da, 0x1043, 0x8179, 0x8086, 0x27b8, 0x1043, 0x8179, "^P5LD2-VM$", NULL, NULL, P3, "ASUS", "P5LD2-VM", 0, NT, intel_ich_gpio16_raise},
2380+
{0x8086, 0x27da, 0x1043, 0x8179, 0x8086, 0x27b8, 0x1043, 0x8179, "^P5LD2-VM$", NULL, NULL, P3, "ASUS", "P5LD2-VM", 0, OK, intel_ich_gpio16_raise},
23812381
{0x8086, 0x27b0, 0x1043, 0x8179, 0x8086, 0x2770, 0x1043, 0x817a, "^P5LD2-VM DH$", NULL, NULL, P3, "ASUS", "P5LD2-VM DH", 0, OK, intel_ich_gpio16_raise},
23822382
{0x10DE, 0x0030, 0x1043, 0x818a, 0x8086, 0x100E, 0x1043, 0x80EE, NULL, NULL, NULL, P3, "ASUS", "P5ND2-SLI Deluxe", 0, OK, nvidia_mcp_gpio10_raise},
23832383
{0x10DE, 0x0260, 0x1043, 0x81BC, 0x10DE, 0x026C, 0x1043, 0x829E, "^P5N-D$", NULL, NULL, P3, "ASUS", "P5N-D", 0, OK, it8718f_gpio63_raise},
@@ -2427,6 +2427,7 @@ const struct board_match board_matches[] = {
24272427
{0x8086, 0x1E22, 0x17AA, 0x21F6, 0x8086, 0x1E55, 0x17AA, 0x21F6, "^ThinkPad T530", NULL, NULL, P2, "IBM/Lenovo", "ThinkPad T530", 0, OK, p2_whitelist_laptop},
24282428
{0x8086, 0x27a0, 0x17aa, 0x2015, 0x8086, 0x27b9, 0x17aa, 0x2009, "^ThinkPad T60", NULL, NULL, P2, "IBM/Lenovo", "ThinkPad T60", 0, OK, p2_whitelist_laptop},
24292429
{0x8086, 0x27a0, 0x17aa, 0x2017, 0x8086, 0x27b9, 0x17aa, 0x2009, "^ThinkPad T60", NULL, NULL, P2, "IBM/Lenovo", "ThinkPad T60(s)", 0, OK, p2_whitelist_laptop},
2430+
{0x8086, 0x2917, 0x17AA, 0x20F5, 0x8086, 0x2930, 0x17AA, 0x20F9, "^ThinkPad X200$", NULL, NULL, P2, "IBM/Lenovo", "ThinkPad X200", 0, OK, p2_whitelist_laptop},
24302431
{0x8086, 0x3B07, 0x17AA, 0x2166, 0x8086, 0x3B30, 0x17AA, 0x2167, "^Lenovo X201", NULL, NULL, P2, "IBM/Lenovo", "ThinkPad X201", 0, OK, p2_whitelist_laptop},
24312432
{0x8086, 0x1E22, 0x17AA, 0x21FA, 0x8086, 0x1E55, 0x17AA, 0x21FA, "^ThinkPad X230", NULL, NULL, P2, "IBM/Lenovo", "ThinkPad X230", 0, OK, p2_whitelist_laptop},
24322433
{0x8086, 0x27A0, 0x17AA, 0x2017, 0x8086, 0x27B9, 0x17AA, 0x2009, "^ThinkPad X60", NULL, NULL, P2, "IBM/Lenovo", "ThinkPad X60(s)", 0, OK, p2_whitelist_laptop},

chipset_enable.c

Lines changed: 42 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -451,7 +451,7 @@ static int enable_flash_ich_fwh_decode(struct pci_dev *dev, enum ich_chipset ich
451451
fwh_idsel_old = mmio_readl(ilb + fwh_sel1);
452452
rmmio_writel(fwh_idsel, ilb + fwh_sel1);
453453
} else {
454-
fwh_idsel_old = pci_read_long(dev, fwh_sel1) << 16;
454+
fwh_idsel_old = (uint64_t)pci_read_long(dev, fwh_sel1) << 16;
455455
rpci_write_long(dev, fwh_sel1, (fwh_idsel >> 16) & 0xffffffff);
456456
if (fwh_sel2 > 0) {
457457
fwh_idsel_old |= pci_read_word(dev, fwh_sel2);
@@ -1593,7 +1593,7 @@ const struct penable chipset_enables[] = {
15931593
{0x1166, 0x0205, OK, "Broadcom", "HT-1000", enable_flash_ht1000},
15941594
{0x17f3, 0x6030, OK, "RDC", "R8610/R3210", enable_flash_rdc_r8610},
15951595
{0x8086, 0x0c60, NT, "Intel", "S12x0", enable_flash_s12x0},
1596-
{0x8086, 0x0f1c, NT, "Intel", "Bay Trail", enable_flash_silvermont},
1596+
{0x8086, 0x0f1c, OK, "Intel", "Bay Trail", enable_flash_silvermont},
15971597
{0x8086, 0x0f1d, NT, "Intel", "Bay Trail", enable_flash_silvermont},
15981598
{0x8086, 0x0f1e, NT, "Intel", "Bay Trail", enable_flash_silvermont},
15991599
{0x8086, 0x0f1f, NT, "Intel", "Bay Trail", enable_flash_silvermont},
@@ -1635,6 +1635,7 @@ const struct penable chipset_enables[] = {
16351635
{0x8086, 0x1f39, NT, "Intel", "Avoton/Rangeley", enable_flash_silvermont},
16361636
{0x8086, 0x1f3a, NT, "Intel", "Avoton/Rangeley", enable_flash_silvermont},
16371637
{0x8086, 0x1f3b, NT, "Intel", "Avoton/Rangeley", enable_flash_silvermont},
1638+
{0x8086, 0x229c, NT, "Intel", "Braswell", enable_flash_silvermont},
16381639
{0x8086, 0x2310, NT, "Intel", "DH89xxCC (Cave Creek)", enable_flash_pch7},
16391640
{0x8086, 0x2390, NT, "Intel", "Coleto Creek", enable_flash_pch7},
16401641
{0x8086, 0x2410, OK, "Intel", "ICH", enable_flash_ich0},
@@ -1730,42 +1731,47 @@ const struct penable chipset_enables[] = {
17301731
{0x8086, 0x8c5d, NT, "Intel", "Lynx Point", enable_flash_pch8},
17311732
{0x8086, 0x8c5e, NT, "Intel", "Lynx Point", enable_flash_pch8},
17321733
{0x8086, 0x8c5f, NT, "Intel", "Lynx Point", enable_flash_pch8},
1734+
{0x8086, 0x8cc1, NT, "Intel", "9 Series", enable_flash_pch9},
1735+
{0x8086, 0x8cc2, NT, "Intel", "9 Series Engineering Sample", enable_flash_pch9},
1736+
{0x8086, 0x8cc3, NT, "Intel", "9 Series", enable_flash_pch9},
1737+
{0x8086, 0x8cc4, NT, "Intel", "Z97", enable_flash_pch9},
1738+
{0x8086, 0x8cc6, NT, "Intel", "H97", enable_flash_pch9},
1739+
{0x8086, 0x8d40, NT, "Intel", "C610/X99 (Wellsburg)", enable_flash_pch8_wb},
1740+
{0x8086, 0x8d41, NT, "Intel", "C610/X99 (Wellsburg)", enable_flash_pch8_wb},
1741+
{0x8086, 0x8d42, NT, "Intel", "C610/X99 (Wellsburg)", enable_flash_pch8_wb},
1742+
{0x8086, 0x8d43, NT, "Intel", "C610/X99 (Wellsburg)", enable_flash_pch8_wb},
1743+
{0x8086, 0x8d44, NT, "Intel", "C610/X99 (Wellsburg)", enable_flash_pch8_wb},
1744+
{0x8086, 0x8d45, NT, "Intel", "C610/X99 (Wellsburg)", enable_flash_pch8_wb},
1745+
{0x8086, 0x8d46, NT, "Intel", "C610/X99 (Wellsburg)", enable_flash_pch8_wb},
1746+
{0x8086, 0x8d47, NT, "Intel", "C610/X99 (Wellsburg)", enable_flash_pch8_wb},
1747+
{0x8086, 0x8d48, NT, "Intel", "C610/X99 (Wellsburg)", enable_flash_pch8_wb},
1748+
{0x8086, 0x8d49, NT, "Intel", "C610/X99 (Wellsburg)", enable_flash_pch8_wb},
1749+
{0x8086, 0x8d4a, NT, "Intel", "C610/X99 (Wellsburg)", enable_flash_pch8_wb},
1750+
{0x8086, 0x8d4b, NT, "Intel", "C610/X99 (Wellsburg)", enable_flash_pch8_wb},
1751+
{0x8086, 0x8d4c, NT, "Intel", "C610/X99 (Wellsburg)", enable_flash_pch8_wb},
1752+
{0x8086, 0x8d4d, NT, "Intel", "C610/X99 (Wellsburg)", enable_flash_pch8_wb},
1753+
{0x8086, 0x8d4e, NT, "Intel", "C610/X99 (Wellsburg)", enable_flash_pch8_wb},
1754+
{0x8086, 0x8d4f, NT, "Intel", "C610/X99 (Wellsburg)", enable_flash_pch8_wb},
1755+
{0x8086, 0x8d50, NT, "Intel", "C610/X99 (Wellsburg)", enable_flash_pch8_wb},
1756+
{0x8086, 0x8d51, NT, "Intel", "C610/X99 (Wellsburg)", enable_flash_pch8_wb},
1757+
{0x8086, 0x8d52, NT, "Intel", "C610/X99 (Wellsburg)", enable_flash_pch8_wb},
1758+
{0x8086, 0x8d53, NT, "Intel", "C610/X99 (Wellsburg)", enable_flash_pch8_wb},
1759+
{0x8086, 0x8d54, NT, "Intel", "C610/X99 (Wellsburg)", enable_flash_pch8_wb},
1760+
{0x8086, 0x8d55, NT, "Intel", "C610/X99 (Wellsburg)", enable_flash_pch8_wb},
1761+
{0x8086, 0x8d56, NT, "Intel", "C610/X99 (Wellsburg)", enable_flash_pch8_wb},
1762+
{0x8086, 0x8d57, NT, "Intel", "C610/X99 (Wellsburg)", enable_flash_pch8_wb},
1763+
{0x8086, 0x8d58, NT, "Intel", "C610/X99 (Wellsburg)", enable_flash_pch8_wb},
1764+
{0x8086, 0x8d59, NT, "Intel", "C610/X99 (Wellsburg)", enable_flash_pch8_wb},
1765+
{0x8086, 0x8d5a, NT, "Intel", "C610/X99 (Wellsburg)", enable_flash_pch8_wb},
1766+
{0x8086, 0x8d5b, NT, "Intel", "C610/X99 (Wellsburg)", enable_flash_pch8_wb},
1767+
{0x8086, 0x8d5c, NT, "Intel", "C610/X99 (Wellsburg)", enable_flash_pch8_wb},
1768+
{0x8086, 0x8d5d, NT, "Intel", "C610/X99 (Wellsburg)", enable_flash_pch8_wb},
1769+
{0x8086, 0x8d5e, NT, "Intel", "C610/X99 (Wellsburg)", enable_flash_pch8_wb},
1770+
{0x8086, 0x8d5f, NT, "Intel", "C610/X99 (Wellsburg)", enable_flash_pch8_wb},
17331771
{0x8086, 0x9c41, NT, "Intel", "Lynx Point LP Eng. Sample", enable_flash_pch8_lp},
17341772
{0x8086, 0x9c43, NT, "Intel", "Lynx Point LP Premium", enable_flash_pch8_lp},
17351773
{0x8086, 0x9c45, NT, "Intel", "Lynx Point LP Mainstream", enable_flash_pch8_lp},
17361774
{0x8086, 0x9c47, NT, "Intel", "Lynx Point LP Value", enable_flash_pch8_lp},
1737-
{0x8086, 0x8d40, NT, "Intel", "Wellsburg", enable_flash_pch8_wb},
1738-
{0x8086, 0x8d41, NT, "Intel", "Wellsburg", enable_flash_pch8_wb},
1739-
{0x8086, 0x8d42, NT, "Intel", "Wellsburg", enable_flash_pch8_wb},
1740-
{0x8086, 0x8d43, NT, "Intel", "Wellsburg", enable_flash_pch8_wb},
1741-
{0x8086, 0x8d44, NT, "Intel", "Wellsburg", enable_flash_pch8_wb},
1742-
{0x8086, 0x8d45, NT, "Intel", "Wellsburg", enable_flash_pch8_wb},
1743-
{0x8086, 0x8d46, NT, "Intel", "Wellsburg", enable_flash_pch8_wb},
1744-
{0x8086, 0x8d47, NT, "Intel", "Wellsburg", enable_flash_pch8_wb},
1745-
{0x8086, 0x8d48, NT, "Intel", "Wellsburg", enable_flash_pch8_wb},
1746-
{0x8086, 0x8d49, NT, "Intel", "Wellsburg", enable_flash_pch8_wb},
1747-
{0x8086, 0x8d4a, NT, "Intel", "Wellsburg", enable_flash_pch8_wb},
1748-
{0x8086, 0x8d4b, NT, "Intel", "Wellsburg", enable_flash_pch8_wb},
1749-
{0x8086, 0x8d4c, NT, "Intel", "Wellsburg", enable_flash_pch8_wb},
1750-
{0x8086, 0x8d4d, NT, "Intel", "Wellsburg", enable_flash_pch8_wb},
1751-
{0x8086, 0x8d4e, NT, "Intel", "Wellsburg", enable_flash_pch8_wb},
1752-
{0x8086, 0x8d4f, NT, "Intel", "Wellsburg", enable_flash_pch8_wb},
1753-
{0x8086, 0x8d50, NT, "Intel", "Wellsburg", enable_flash_pch8_wb},
1754-
{0x8086, 0x8d51, NT, "Intel", "Wellsburg", enable_flash_pch8_wb},
1755-
{0x8086, 0x8d52, NT, "Intel", "Wellsburg", enable_flash_pch8_wb},
1756-
{0x8086, 0x8d53, NT, "Intel", "Wellsburg", enable_flash_pch8_wb},
1757-
{0x8086, 0x8d54, NT, "Intel", "Wellsburg", enable_flash_pch8_wb},
1758-
{0x8086, 0x8d55, NT, "Intel", "Wellsburg", enable_flash_pch8_wb},
1759-
{0x8086, 0x8d56, NT, "Intel", "Wellsburg", enable_flash_pch8_wb},
1760-
{0x8086, 0x8d57, NT, "Intel", "Wellsburg", enable_flash_pch8_wb},
1761-
{0x8086, 0x8d58, NT, "Intel", "Wellsburg", enable_flash_pch8_wb},
1762-
{0x8086, 0x8d59, NT, "Intel", "Wellsburg", enable_flash_pch8_wb},
1763-
{0x8086, 0x8d5a, NT, "Intel", "Wellsburg", enable_flash_pch8_wb},
1764-
{0x8086, 0x8d5b, NT, "Intel", "Wellsburg", enable_flash_pch8_wb},
1765-
{0x8086, 0x8d5c, NT, "Intel", "Wellsburg", enable_flash_pch8_wb},
1766-
{0x8086, 0x8d5d, NT, "Intel", "Wellsburg", enable_flash_pch8_wb},
1767-
{0x8086, 0x8d5e, NT, "Intel", "Wellsburg", enable_flash_pch8_wb},
1768-
{0x8086, 0x8d5f, NT, "Intel", "Wellsburg", enable_flash_pch8_wb},
17691775
{0x8086, 0x9cc1, NT, "Intel", "Haswell U Sample", enable_flash_pch9},
17701776
{0x8086, 0x9cc2, NT, "Intel", "Broadwell U Sample", enable_flash_pch9},
17711777
{0x8086, 0x9cc3, NT, "Intel", "Broadwell U Premium", enable_flash_pch9},
@@ -1807,10 +1813,10 @@ int chipset_flash_enable(void)
18071813
msg_pdbg(" with PCI ID %04x:%04x",
18081814
chipset_enables[i].vendor_id,
18091815
chipset_enables[i].device_id);
1810-
msg_pinfo(". ");
1816+
msg_pinfo(".\n");
18111817

18121818
if (chipset_enables[i].status == NT) {
1813-
msg_pinfo("\nThis chipset is marked as untested. If "
1819+
msg_pinfo("This chipset is marked as untested. If "
18141820
"you are using an up-to-date version\nof "
18151821
"flashrom *and* were (not) able to "
18161822
"successfully update your firmware with it,\n"

dediprog.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
#include "platform.h"
2121

22+
#include <stdlib.h>
2223
#include <stdio.h>
2324
#include <string.h>
2425
#include <limits.h>

flash.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,6 @@ enum write_granularity {
107107

108108
/* Feature bits used for non-SPI only */
109109
#define FEATURE_REGISTERMAP (1 << 0)
110-
#define FEATURE_BYTEWRITES (1 << 1)
111110
#define FEATURE_LONG_RESET (0 << 4)
112111
#define FEATURE_SHORT_RESET (1 << 4)
113112
#define FEATURE_EITHER_RESET FEATURE_LONG_RESET

0 commit comments

Comments
 (0)