Skip to content

Commit 4727c29

Browse files
author
stefanct
committed
Add a bunch of new/tested stuff and various small changes 23.
Tested mainboards: OK: - Elitegroup GF7050VT-M Reported by Alex - Fujitsu D2724-A1x (used in ESPRIMO E5625) Reported by Rainer Spillmann - Teclast X98 Air 3G Reported by Antonio Ospite Flash chips: - Fix MX25L6405(D) definition by splitting it. Reported by Reggie McMurtrey - Add Macronix MX25L..08E family and rearrange MX25L6436E. - Pm49FL004 to PREW (+EW) Reported by Georg Sauthoff Miscellaneous: - Add board enable for abit KN9 Ultra. - Mark ARM-USB-OCD as working OK. - Use "mobile devices" instead of "laptops" in output. - Tiny other stuff. Signed-off-by: Stefan Tauner <[email protected]> Acked-by: Stefan Tauner <[email protected]> git-svn-id: svn://flashrom.org/flashrom/trunk@1886 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
1 parent 00ce3a1 commit 4727c29

File tree

7 files changed

+81
-33
lines changed

7 files changed

+81
-33
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1081,6 +1081,6 @@ djgpp-dos: clean
10811081
libpayload: clean
10821082
make CC="CC=i386-elf-gcc lpgcc" AR=i386-elf-ar RANLIB=i386-elf-ranlib
10831083

1084-
.PHONY: all install clean distclean compiler hwlibs features export tarball dos featuresavailable
1084+
.PHONY: all install clean distclean compiler hwlibs features export tarball djgpp-dos featuresavailable libpayload
10851085

10861086
-include $(OBJS:.o=.d)

board_enable.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1099,6 +1099,7 @@ static int nvidia_mcp_gpio0_raise(void)
10991099
/*
11001100
* Suited for:
11011101
* - abit KN8 Ultra: NVIDIA CK804
1102+
* - abit KN9 Ultra: NVIDIA MCP55
11021103
*/
11031104
static int nvidia_mcp_gpio2_lower(void)
11041105
{
@@ -2314,6 +2315,7 @@ const struct board_match board_matches[] = {
23142315
{0x8086, 0x2930, 0x147b, 0x1084, 0x11ab, 0x4364, 0x147b, 0x1084, NULL, NULL, NULL, P3, "abit", "IP35", 0, OK, intel_ich_gpio16_raise},
23152316
{0x8086, 0x2930, 0x147b, 0x1083, 0x10ec, 0x8167, 0x147b, 0x1083, NULL, NULL, NULL, P3, "abit", "IP35 Pro", 0, OK, intel_ich_gpio16_raise},
23162317
{0x10de, 0x0050, 0x147b, 0x1c1a, 0x10de, 0x0052, 0x147b, 0x1c1a, NULL, NULL, NULL, P3, "abit", "KN8 Ultra", 0, NT, nvidia_mcp_gpio2_lower},
2318+
{0x10de, 0x0369, 0x147b, 0x1c20, 0x10de, 0x0360, 0x147b, 0x1c20, "^KN9(NF-MCP55 series)$", NULL, NULL, P3, "abit", "KN9 Ultra", 0, OK, nvidia_mcp_gpio2_lower},
23172319
{0x10de, 0x01e0, 0x147b, 0x1c00, 0x10de, 0x0060, 0x147B, 0x1c00, NULL, NULL, NULL, P3, "abit", "NF7-S", 0, OK, nvidia_mcp_gpio8_raise},
23182320
{0x10de, 0x02f0, 0x147b, 0x1c26, 0x10de, 0x0260, 0x147b, 0x1c26, NULL, NULL, NULL, P3, "abit", "NF-M2 nView", 0, OK, nvidia_mcp_gpio4_lower},
23192321
{0x1106, 0x0691, 0, 0, 0x1106, 0x3057, 0, 0, "(VA6)$", NULL, NULL, P3, "abit", "VA6", 0, OK, via_apollo_gpo4_lower},

flashchips.c

Lines changed: 61 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6803,12 +6803,14 @@ const struct flashchip flashchips[] = {
68036803

68046804
{
68056805
.vendor = "Macronix",
6806-
.name = "MX25L8005/MX25L8006E/MX25V8005",
6806+
.name = "MX25L8005/MX25L8006E/MX25L8008E/MX25V8005",
68076807
.bustype = BUS_SPI,
68086808
.manufacture_id = MACRONIX_ID,
68096809
.model_id = MACRONIX_MX25L8005,
68106810
.total_size = 1024,
68116811
.page_size = 256,
6812+
/* MX25L8006E, MX25L8008E support SFDP */
6813+
/* OTP: 64B total; enter 0xB1, exit 0xC1 (MX25L8006E, MX25L8008E only) */
68126814
.feature_bits = FEATURE_WRSR_WREN,
68136815
.tested = TEST_OK_PREW,
68146816
.probe = probe_spi_rdid,
@@ -6876,13 +6878,13 @@ const struct flashchip flashchips[] = {
68766878

68776879
{
68786880
.vendor = "Macronix",
6879-
.name = "MX25L1605A/MX25L1606E",
6881+
.name = "MX25L1605A/MX25L1606E/MX25L1608E",
68806882
.bustype = BUS_SPI,
68816883
.manufacture_id = MACRONIX_ID,
68826884
.model_id = MACRONIX_MX25L1605,
68836885
.total_size = 2048,
68846886
.page_size = 256,
6885-
/* OTP: 64B total; enter 0xB1, exit 0xC1 (MX25L1606E only) */
6887+
/* OTP: 64B total; enter 0xB1, exit 0xC1 (MX25L1606E and MX25L1608E only) */
68866888
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
68876889
.tested = TEST_OK_PREW,
68886890
.probe = probe_spi_rdid,
@@ -6909,7 +6911,7 @@ const struct flashchip flashchips[] = {
69096911
.printlock = spi_prettyprint_status_register_bp3_srwd, /* MX25L1605A bp2 only */
69106912
.unlock = spi_disable_blockprotect_bp3_srwd,
69116913
.write = spi_chip_write_256,
6912-
.read = spi_chip_read, /* Fast read (0x0B) supported */
6914+
.read = spi_chip_read, /* Fast read (0x0B) supported (MX25L1608E supports dual-I/O read) */
69136915
.voltage = {2700, 3600},
69146916
},
69156917

@@ -6941,7 +6943,7 @@ const struct flashchip flashchips[] = {
69416943
.block_erase = spi_block_erase_c7,
69426944
},
69436945
},
6944-
.printlock = spi_prettyprint_status_register_bp3_srwd, /* bit6: Continuously Program (CP) mode */
6946+
.printlock = spi_prettyprint_status_register_bp3_srwd, /* bit6: Continuously Program (CP) mode, for 73E is quad enable */
69456947
.unlock = spi_disable_blockprotect_bp3_srwd,
69466948
.write = spi_chip_write_256,
69476949
.read = spi_chip_read, /* Fast read (0x0B), dual I/O supported */
@@ -7084,7 +7086,7 @@ const struct flashchip flashchips[] = {
70847086
.block_erase = spi_block_erase_c7,
70857087
},
70867088
},
7087-
.printlock = spi_prettyprint_status_register_bp3_srwd, /* bit6: CP mode */
7089+
.printlock = spi_prettyprint_status_register_bp3_srwd, /* bit6: continuously program mode */
70887090
.unlock = spi_disable_blockprotect_bp3_srwd,
70897091
.write = spi_chip_write_256,
70907092
.read = spi_chip_read, /* Fast read (0x0B) and dual I/O supported */
@@ -7093,7 +7095,7 @@ const struct flashchip flashchips[] = {
70937095

70947096
{
70957097
.vendor = "Macronix",
7096-
.name = "MX25L3206E",
7098+
.name = "MX25L3206E/MX25L3208E",
70977099
.bustype = BUS_SPI,
70987100
.manufacture_id = MACRONIX_ID,
70997101
.model_id = MACRONIX_MX25L3205,
@@ -7207,14 +7209,14 @@ const struct flashchip flashchips[] = {
72077209

72087210
{
72097211
.vendor = "Macronix",
7210-
.name = "MX25L6405(D)",
7212+
.name = "MX25L6405",
72117213
.bustype = BUS_SPI,
72127214
.manufacture_id = MACRONIX_ID,
72137215
.model_id = MACRONIX_MX25L6405,
72147216
.total_size = 8192,
72157217
.page_size = 256,
7216-
/* MX25L6405D has 64B of OTP; enter 0xB1, exit 0xC1 */
7217-
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
7218+
/* Has an additional 512B EEPROM sector */
7219+
.feature_bits = FEATURE_WRSR_WREN,
72187220
.tested = TEST_OK_PREW,
72197221
.probe = probe_spi_rdid,
72207222
.probe_timing = TIMING_ZERO,
@@ -7234,22 +7236,22 @@ const struct flashchip flashchips[] = {
72347236
.block_erase = spi_block_erase_c7,
72357237
}
72367238
},
7237-
.printlock = spi_prettyprint_status_register_bp3_srwd, /* bit6 has different meanings */
7239+
.printlock = spi_prettyprint_status_register_bp3_srwd, /* bit6: error flag */
72387240
.unlock = spi_disable_blockprotect_bp3_srwd,
72397241
.write = spi_chip_write_256,
7240-
.read = spi_chip_read,
7242+
.read = spi_chip_read, /* Fast read (0x0B) supported */
72417243
.voltage = {2700, 3600},
72427244
},
72437245

72447246
{
72457247
.vendor = "Macronix",
7246-
.name = "MX25L6406E/MX25L6436E",
7248+
.name = "MX25L6405D",
72477249
.bustype = BUS_SPI,
72487250
.manufacture_id = MACRONIX_ID,
72497251
.model_id = MACRONIX_MX25L6405,
72507252
.total_size = 8192,
72517253
.page_size = 256,
7252-
/* OTP: 06E 64B/36E 512B total; enter 0xB1, exit 0xC1 */
7254+
/* OTP: 64B total; enter 0xB1, exit 0xC1 */
72537255
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
72547256
.tested = TEST_OK_PREW,
72557257
.probe = probe_spi_rdid,
@@ -7270,16 +7272,56 @@ const struct flashchip flashchips[] = {
72707272
.block_erase = spi_block_erase_c7,
72717273
}
72727274
},
7273-
.printlock = spi_prettyprint_status_register_bp3_srwd, /* bit6 for 36E is quad enable */
7275+
.printlock = spi_prettyprint_status_register_bp3_srwd, /* bit6: continuously program mode */
72747276
.unlock = spi_disable_blockprotect_bp3_srwd,
72757277
.write = spi_chip_write_256,
7276-
.read = spi_chip_read,
7278+
.read = spi_chip_read, /* Fast read (0x0B), dual I/O read (0xBB) supported */
72777279
.voltage = {2700, 3600},
72787280
},
72797281

72807282
{
72817283
.vendor = "Macronix",
7282-
.name = "MX25L6445E/MX25L6465E/MX25L6473E",
7284+
.name = "MX25L6406E/MX25L6408E",
7285+
.bustype = BUS_SPI,
7286+
.manufacture_id = MACRONIX_ID,
7287+
.model_id = MACRONIX_MX25L6405,
7288+
.total_size = 8192,
7289+
.page_size = 256,
7290+
/* MX25L6406E supports SFDP */
7291+
/* OTP: 06E 64B total; enter 0xB1, exit 0xC1 */
7292+
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
7293+
.tested = TEST_OK_PREW,
7294+
.probe = probe_spi_rdid,
7295+
.probe_timing = TIMING_ZERO,
7296+
.block_erasers =
7297+
{
7298+
{
7299+
.eraseblocks = { {4 * 1024, 2048} },
7300+
.block_erase = spi_block_erase_20,
7301+
}, {
7302+
.eraseblocks = { {64 * 1024, 128} },
7303+
.block_erase = spi_block_erase_52,
7304+
}, {
7305+
.eraseblocks = { {64 * 1024, 128} },
7306+
.block_erase = spi_block_erase_d8,
7307+
}, {
7308+
.eraseblocks = { {8 * 1024 * 1024, 1} },
7309+
.block_erase = spi_block_erase_60,
7310+
}, {
7311+
.eraseblocks = { {8 * 1024 * 1024, 1} },
7312+
.block_erase = spi_block_erase_c7,
7313+
}
7314+
},
7315+
.printlock = spi_prettyprint_status_register_bp3_srwd,
7316+
.unlock = spi_disable_blockprotect_bp3_srwd,
7317+
.write = spi_chip_write_256,
7318+
.read = spi_chip_read, /* Fast read (0x0B), dual I/O read supported */
7319+
.voltage = {2700, 3600},
7320+
},
7321+
7322+
{
7323+
.vendor = "Macronix",
7324+
.name = "MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E",
72837325
.bustype = BUS_SPI,
72847326
.manufacture_id = MACRONIX_ID,
72857327
.model_id = MACRONIX_MX25L6405,
@@ -10126,9 +10168,9 @@ const struct flashchip flashchips[] = {
1012610168
.total_size = 512,
1012710169
.page_size = 64 * 1024,
1012810170
.feature_bits = FEATURE_REGISTERMAP | FEATURE_EITHER_RESET,
10129-
.tested = TEST_OK_PR,
10171+
.tested = TEST_OK_PREW,
1013010172
.probe = probe_jedec,
10131-
.probe_timing = TIMING_ZERO, /* routine is wrapper to probe_jedec (pm49fl00x.c) */
10173+
.probe_timing = TIMING_ZERO,
1013210174
.block_erasers =
1013310175
{
1013410176
{

flashchips.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -470,10 +470,10 @@
470470
#define MACRONIX_MX25L1005 0x2011 /* Same as MX25L1005C, MX25L1006E */
471471
#define MACRONIX_MX25L2005 0x2012 /* Same as MX25L2005C, MX25L2006E */
472472
#define MACRONIX_MX25L4005 0x2013 /* Same as MX25L4005A, MX25L4005C, MX25L4006E */
473-
#define MACRONIX_MX25L8005 0x2014 /* Same as MX25V8005, MX25L8006E, FIXME: MX25L8073E (4k 0x20) */
474-
#define MACRONIX_MX25L1605 0x2015 /* MX25L1605 (64k 0x20); MX25L1605A/MX25L1606E (4k 0x20, 64k 0x52); MX25L1605D/MX25L1608D/MX25L1673E (4k 0x20) */
475-
#define MACRONIX_MX25L3205 0x2016 /* MX25L3205, MX25L3205A (64k 0x20); MX25L3205D/MX25L3208D (4k 0x20); MX25L3206E (4k 0x20, 64k 0x52); MX25L3273E (4k 0x20, 32k 0x52) */
476-
#define MACRONIX_MX25L6405 0x2017 /* MX25L6405, MX25L6405D (64k 0x20); MX25L6406E/MX25L6436E (4k 0x20); MX25L6445E/MX25L6465E/MX25L6473E (4k 0x20, 32k 0x52) */
473+
#define MACRONIX_MX25L8005 0x2014 /* Same as MX25V8005, MX25L8006E, MX25L8008E, FIXME: MX25L8073E (4k 0x20) */
474+
#define MACRONIX_MX25L1605 0x2015 /* MX25L1605 (64k 0x20); MX25L1605A/MX25L1606E/MX25L1608E (4k 0x20, 64k 0x52); MX25L1605D/MX25L1608D/MX25L1673E (4k 0x20) */
475+
#define MACRONIX_MX25L3205 0x2016 /* MX25L3205, MX25L3205A (64k 0x20); MX25L3205D/MX25L3208D (4k 0x20); MX25L3206E/MX25L3208E (4k 0x20, 64k 0x52); MX25L3273E (4k 0x20, 32k 0x52) */
476+
#define MACRONIX_MX25L6405 0x2017 /* MX25L6405, MX25L6405D (64k 0x20); MX25L6406E/MX25L6408E (4k 0x20); MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E (4k 0x20, 32k 0x52) */
477477
#define MACRONIX_MX25L12805D 0x2018 /* MX25L12805D (no 32k); MX25L12865E, MX25L12835F, MX25L12845E (32k 0x52) */
478478
#define MACRONIX_MX25L25635F 0x2019 /* Same as MX25L25639F, but the latter seems to not support REMS */
479479
#define MACRONIX_MX25L1635D 0x2415

ft2232_spi.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ const struct dev_entry devs_ft2232spi[] = {
6767
{FTDI_VID, AMONTEC_JTAGKEY_PID, OK, "Amontec", "JTAGkey"},
6868
{GOEPEL_VID, GOEPEL_PICOTAP_PID, OK, "GOEPEL", "PicoTAP"},
6969
{FIC_VID, OPENMOKO_DBGBOARD_PID, OK, "FIC", "OpenMoko Neo1973 Debug board (V2+)"},
70-
{OLIMEX_VID, OLIMEX_ARM_OCD_PID, NT, "Olimex", "ARM-USB-OCD"},
70+
{OLIMEX_VID, OLIMEX_ARM_OCD_PID, OK, "Olimex", "ARM-USB-OCD"},
7171
{OLIMEX_VID, OLIMEX_ARM_TINY_PID, OK, "Olimex", "ARM-USB-TINY"},
7272
{OLIMEX_VID, OLIMEX_ARM_OCD_H_PID, OK, "Olimex", "ARM-USB-OCD-H"},
7373
{OLIMEX_VID, OLIMEX_ARM_TINY_H_PID, OK, "Olimex", "ARM-USB-TINY-H"},

print.c

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -480,9 +480,9 @@ int print_supported(void)
480480
programmer_table[PROGRAMMER_INTERNAL].name);
481481
print_supported_chipsets();
482482
msg_ginfo("\n");
483-
print_supported_boards_helper(boards_known, "boards");
483+
print_supported_boards_helper(boards_known, "mainboards");
484484
msg_ginfo("\n");
485-
print_supported_boards_helper(laptops_known, "laptops");
485+
print_supported_boards_helper(laptops_known, "mobile devices");
486486
#endif
487487
for (i = 0; i < PROGRAMMER_INVALID; i++) {
488488
const struct programmer_entry prog = programmer_table[i];
@@ -535,6 +535,7 @@ const struct board_info boards_known[] = {
535535
B("abit", "IP35 Pro", OK, NULL, NULL),
536536
B("abit", "IS-10", BAD, NULL, "Reported by [email protected] to [email protected], no public archive. Missing board enable and/or M50FW040 unlocking. May work now."),
537537
B("abit", "KN8 Ultra", OK, NULL, NULL),
538+
B("abit", "KN9 Ultra", OK, NULL, NULL),
538539
B("abit", "NF-M2 nView", OK, NULL, NULL),
539540
B("abit", "NF-M2S", OK, NULL, NULL),
540541
B("abit", "NF7-S", OK, NULL, NULL),
@@ -774,6 +775,7 @@ const struct board_info boards_known[] = {
774775
B("Elitegroup", "GeForce6100PM-M2 (V3.0)", OK, NULL, NULL),
775776
B("Elitegroup", "GeForce6100SM-M", OK, NULL, NULL),
776777
B("Elitegroup", "GeForce7050M-M (V2.0)", OK, "http://www.ecs.com.tw/ECSWebSite/Product/Product_Detail.aspx?DetailID=865&MenuID=20&LanID=0", NULL),
778+
B("Elitegroup", "GF7050VT-M", OK, NULL, NULL),
777779
B("Elitegroup", "GF7100PVT-M3 (V1.0)", OK, NULL, NULL),
778780
B("Elitegroup", "GF8200A", OK, NULL, NULL),
779781
B("Elitegroup", "K7S5A", OK, NULL, NULL),
@@ -803,7 +805,8 @@ const struct board_info boards_known[] = {
803805
B("Foxconn", "P55MX", OK, "http://www.foxconnchannel.com/ProductDetail.aspx?T=motherboard&U=en-us0000474", "Needs the MFG jumper to be set correctly before flashing to enable the Flash Descriptor Override Strap."),
804806
B("Foxconn", "Q45M", BAD, "http://www.foxconnchannel.com/ProductDetail.aspx?T=Motherboard&U=en-us0000587", "Probing works (Hardware sequencing, 4096 kB, SPI), but parts of the flash are problematic: descriptor is r/o (conforming to ICH reqs), ME is locked."),
805807
B("Freetech", "P6F91i", OK, "http://web.archive.org/web/20010417035034/http://www.freetech.com/prod/P6F91i.html", NULL),
806-
B("Fujitsu", "D3041-A1", OK, NULL, "Used in ESPRIMO P2560, contains an Atmel AT26DF081A."),
808+
B("Fujitsu", "D2724-A1x", OK, NULL, "Used in ESPRIMO E5625."),
809+
B("Fujitsu", "D3041-A1x", OK, NULL, "Used in ESPRIMO P2560, contains an Atmel AT26DF081A."),
807810
B("Fujitsu-Siemens", "CELSIUS W410", BAD, "ftp://ftp.ts.fujitsu.com/pub/mainboard-oem-sales/Products/Mainboards/Industrial&ExtendedLifetime/D3061&D3062/", "Mainboard model is D3062-A1. Probing works (Macronix MX25L6405, 8192 kB, SPI), but parts of the flash are problematic: descriptor is r/o (conforming to ICH reqs), ME is locked."),
808811
B("Fujitsu-Siemens", "ESPRIMO P5915", OK, "http://uk.ts.fujitsu.com/rl/servicesupport/techsupport/professionalpc/ESPRIMO/P/EsprimoP5915-6.htm", "Mainboard model is D2312-A2."),
809812
B("GIGABYTE", "GA-2761GXDK", OK, "http://www.computerbase.de/news/hardware/mainboards/amd-systeme/2007/mai/gigabyte_dtx-mainboard/", NULL),
@@ -1144,6 +1147,7 @@ const struct board_info laptops_known[] = {
11441147
B("IBM/Lenovo", "ThinkPad 240", BAD, "http://www.stanford.edu/~bresnan//tp240.html", "Seems to (partially) work at first, but one block/sector cannot be written which then leaves you with a bricked laptop. Maybe this can be investigated and fixed in software later."),
11451148
B("IBM/Lenovo", "3000 V100 TF05Cxx", OK, "http://www5.pc.ibm.com/europe/products.nsf/products?openagent&brand=Lenovo3000Notebook&series=Lenovo+3000+V+Series#viewallmodelstop", NULL),
11461149
//B("MSI", "GT60-2OD", OK, "http://www.msi.com/product/nb/GT60_2OD.html", NULL), requires layout patches
1150+
B("Teclast", "X98 Air 3G", OK, NULL, NULL),
11471151
#endif
11481152

11491153
{0},

print_wiki.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -133,15 +133,15 @@ static const char *test_state_to_template(enum test_state test_state)
133133
}
134134

135135
#if CONFIG_INTERNAL == 1
136-
static const char laptop_intro[] = "\n== Supported laptops/notebooks ==\n\n\
137-
In general, flashing laptops is more difficult because laptops\n\n\
136+
static const char laptop_intro[] = "\n== Supported mobile devices (laptops, tablets etc.) ==\n\n\
137+
In general, flashing mobile devices is more difficult because they\n\n\
138138
* often use the flash chip for stuff besides the BIOS,\n\
139139
* often have special protection stuff which has to be handled by flashrom,\n\
140140
* often use flash translation circuits which need drivers in flashrom.\n\n\
141141
<div style=\"margin-top:0.5em; padding:0.5em 0.5em 0.5em 0.5em; \
142142
background-color:#ff6666; align:right; border:1px solid #000000;\">\n\
143143
'''IMPORTANT:''' At this point we recommend to '''not''' use flashrom on \
144-
untested laptops unless you have a means to recover from a flashing that goes \
144+
untested mobile devices unless you have a means to recover from a flashing that goes \
145145
wrong (a working backup flash chip and/or good soldering skills).\n</div>\n";
146146

147147
static void print_supported_chipsets_wiki(int cols)
@@ -275,10 +275,10 @@ static void print_supported_boards_wiki_helper(const char *devicetype, int cols,
275275
static void print_supported_boards_wiki(void)
276276
{
277277
printf("%s", board_intro);
278-
print_supported_boards_wiki_helper("boards", 2, boards_known);
278+
print_supported_boards_wiki_helper("mainboards", 2, boards_known);
279279

280280
printf("%s", laptop_intro);
281-
print_supported_boards_wiki_helper("laptops", 1, laptops_known);
281+
print_supported_boards_wiki_helper("mobile devices", 1, laptops_known);
282282
}
283283
#endif
284284

0 commit comments

Comments
 (0)