Changeset 1317
- Timestamp:
- 05/19/11 04:58:17 (12 months ago)
- Location:
- trunk
- Files:
-
- 11 edited
-
chipset_enable.c (modified) (1 diff)
-
drkaiser.c (modified) (1 diff)
-
flash.h (modified) (2 diffs)
-
flashchips.h (modified) (1 diff)
-
flashrom.8 (modified) (1 diff)
-
flashrom.c (modified) (2 diffs)
-
ichspi.c (modified) (7 diffs)
-
print.c (modified) (1 diff)
-
print_wiki.c (modified) (1 diff)
-
util/flashrom_partial_write_test.sh (modified) (2 diffs)
-
wbsio_spi.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/chipset_enable.c
r1295 r1317 559 559 560 560 buses_supported = CHIP_BUSTYPE_PARALLEL; 561 /* Decode 0x000E0000-0x000FFFFF (128 KB), not just 64 KB, and562 * decode 0xFF000000-0xFFFFFFFF (16 MB), not just 256 KB.561 /* Decode 0x000E0000-0x000FFFFF (128 kB), not just 64 kB, and 562 * decode 0xFF000000-0xFFFFFFFF (16 MB), not just 256 kB. 563 563 * FIXME: Should we really touch the low mapping below 1 MB? Flashrom 564 564 * ignores that region completely. -
trunk/drkaiser.c
r1274 r1317 50 50 PCI_MAGIC_DRKAISER_VALUE); 51 51 52 /* Map 128 KB flash memory window. */52 /* Map 128kB flash memory window. */ 53 53 drkaiser_bar = physmap("Dr. Kaiser PC-Waechter flash memory", 54 54 addr, 128 * 1024); -
trunk/flash.h
r1293 r1317 108 108 uint32_t model_id; 109 109 110 /* Total chip size in kilobytes */ 110 111 int total_size; 112 /* Chip page size in bytes */ 111 113 int page_size; 112 114 int feature_bits; … … 126 128 * Erase blocks and associated erase function. Any chip erase function 127 129 * is stored as chip-sized virtual block together with said function. 130 * The first one that fits will be chosen. There is currently no way to 131 * influence that behaviour. For testing just comment out the other 132 * elements or set the function pointer to NULL. 128 133 */ 129 134 struct block_eraser { -
trunk/flashchips.h
r1270 r1317 146 146 #define ATMEL_AT26DF041 0x4400 147 147 #define ATMEL_AT26DF081 0x4500 /* guessed, no datasheet available */ 148 #define ATMEL_AT26DF081A 0x4501148 #define ATMEL_AT26DF081A 0x4501 149 149 #define ATMEL_AT26DF161 0x4600 150 #define ATMEL_AT26DF161A 0x4601150 #define ATMEL_AT26DF161A 0x4601 151 151 #define ATMEL_AT26DF321 0x4700 /* Same as 25DF321 */ 152 152 #define ATMEL_AT26F004 0x0400 -
trunk/flashrom.8
r1241 r1317 565 565 Joe Bao 566 566 .br 567 J örg Fischer567 Joerg Fischer 568 568 .br 569 569 Joshua Roys -
trunk/flashrom.c
r1302 r1317 1141 1141 if (chip_to_probe && strcmp(flash->name, chip_to_probe) != 0) 1142 1142 continue; 1143 msg_gdbg("Probing for %s %s, %d KB: ",1143 msg_gdbg("Probing for %s %s, %d kB: ", 1144 1144 flash->vendor, flash->name, flash->total_size); 1145 1145 if (!flash->probe && !force) { … … 1202 1202 snprintf(location, sizeof(location), "on %s", programmer_table[programmer].name); 1203 1203 1204 msg_cinfo("%s chip \"%s %s\" (%d KB, %s) %s.\n",1204 msg_cinfo("%s chip \"%s %s\" (%d kB, %s) %s.\n", 1205 1205 force ? "Assuming" : "Found", 1206 1206 flash->vendor, flash->name, flash->total_size, -
trunk/ichspi.c
r1299 r1317 44 44 45 45 /* ICH9 controller register definition */ 46 #define ICH9_REG_FADDR 0x08 /* 32 Bits */47 #define ICH9_REG_FDATA0 0x10 /* 64 Bytes */48 49 #define ICH9_REG_SSFS 0x90 /* 08 Bits */46 #define ICH9_REG_FADDR 0x08 /* 32 Bits */ 47 #define ICH9_REG_FDATA0 0x10 /* 64 Bytes */ 48 49 #define ICH9_REG_SSFS 0x90 /* 08 Bits */ 50 50 #define SSFS_SCIP 0x00000001 51 51 #define SSFS_CDS 0x00000004 52 52 #define SSFS_FCERR 0x00000008 53 53 #define SSFS_AEL 0x00000010 54 /* The following bits are reserved in SSFS: 1,5-7. */ 54 55 #define SSFS_RESERVED_MASK 0x000000e2 55 56 56 #define ICH9_REG_SSFC 0x91 /* 24 Bits */57 #define ICH9_REG_SSFC 0x91 /* 24 Bits */ 57 58 #define SSFC_SCGO 0x00000200 58 59 #define SSFC_ACS 0x00000400 … … 65 66 #define SSFC_SCF_20MHZ 0x00000000 66 67 #define SSFC_SCF_33MHZ 0x01000000 68 /* We combine SSFS and SSFC to one 32-bit word, 69 * therefore SSFC bits are off by 8. 70 * The following bits are reserved in SSFC: 23-19,7,0. */ 67 71 #define SSFC_RESERVED_MASK 0xf8008100 68 72 69 #define ICH9_REG_PREOP 0x94 /* 16 Bits */70 #define ICH9_REG_OPTYPE 0x96 /* 16 Bits */71 #define ICH9_REG_OPMENU 0x98 /* 64 Bits */73 #define ICH9_REG_PREOP 0x94 /* 16 Bits */ 74 #define ICH9_REG_OPTYPE 0x96 /* 16 Bits */ 75 #define ICH9_REG_OPMENU 0x98 /* 64 Bits */ 72 76 73 77 // ICH9R SPI commands 74 #define SPI_OPCODE_TYPE_READ_NO_ADDRESS 075 #define SPI_OPCODE_TYPE_WRITE_NO_ADDRESS 176 #define SPI_OPCODE_TYPE_READ_WITH_ADDRESS 277 #define SPI_OPCODE_TYPE_WRITE_WITH_ADDRESS 378 #define SPI_OPCODE_TYPE_READ_NO_ADDRESS 0 79 #define SPI_OPCODE_TYPE_WRITE_NO_ADDRESS 1 80 #define SPI_OPCODE_TYPE_READ_WITH_ADDRESS 2 81 #define SPI_OPCODE_TYPE_WRITE_WITH_ADDRESS 3 78 82 79 83 // ICH7 registers 80 #define ICH7_REG_SPIS 0x00 /* 16 Bits */84 #define ICH7_REG_SPIS 0x00 /* 16 Bits */ 81 85 #define SPIS_SCIP 0x0001 82 86 #define SPIS_GRANT 0x0002 … … 95 99 */ 96 100 97 #define ICH7_REG_SPIC 0x02 /* 16 Bits */98 #define SPIC_SCGO 0x000299 #define SPIC_ACS 0x0004100 #define SPIC_SPOP 0x0008101 #define SPIC_DS 0x4000102 103 #define ICH7_REG_SPIA 0x04 /* 32 Bits */104 #define ICH7_REG_SPID0 0x08 /* 64 Bytes */105 #define ICH7_REG_PREOP 0x54 /* 16 Bits */106 #define ICH7_REG_OPTYPE 0x56 /* 16 Bits */107 #define ICH7_REG_OPMENU 0x58 /* 64 Bits */101 #define ICH7_REG_SPIC 0x02 /* 16 Bits */ 102 #define SPIC_SCGO 0x0002 103 #define SPIC_ACS 0x0004 104 #define SPIC_SPOP 0x0008 105 #define SPIC_DS 0x4000 106 107 #define ICH7_REG_SPIA 0x04 /* 32 Bits */ 108 #define ICH7_REG_SPID0 0x08 /* 64 Bytes */ 109 #define ICH7_REG_PREOP 0x54 /* 16 Bits */ 110 #define ICH7_REG_OPTYPE 0x56 /* 16 Bits */ 111 #define ICH7_REG_OPMENU 0x58 /* 64 Bits */ 108 112 109 113 /* ICH SPI configuration lock-down. May be set during chipset enabling. */ … … 598 602 This means the timeout must be sufficient for chip erase 599 603 of slow high-capacity chips. 600 */604 */ 601 605 switch (op.atomic) { 602 606 case 2: … … 704 708 /* Assemble SSFS + SSFC */ 705 709 temp32 = REGREAD32(ICH9_REG_SSFS); 706 /* keep reserved bits*/710 /* Keep reserved bits only */ 707 711 temp32 &= SSFS_RESERVED_MASK | SSFC_RESERVED_MASK; 708 712 /* clear error status registers */ … … 713 717 temp32 |= SSFC_SCF_20MHZ; 714 718 719 /* Set data byte count (DBC) and data cycle bit (DS) */ 715 720 if (datalength != 0) { 716 721 uint32_t datatemp; … … 743 748 This means the timeout must be sufficient for chip erase 744 749 of slow high-capacity chips. 745 */750 */ 746 751 switch (op.atomic) { 747 752 case 2: -
trunk/print.c
r1314 r1317 101 101 printf(" "); 102 102 103 printf("Tested Known Size/ KB: Type:\n");103 printf("Tested Known Size/kB: Type:\n"); 104 104 for (i = 0; i < okcol; i++) 105 105 printf(" "); -
trunk/print_wiki.c
r1297 r1317 60 60 static const char chip_th[] = "{| border=\"0\" style=\"font-size: smaller\" \ 61 61 valign=\"top\"\n|- bgcolor=\"#6699dd\"\n! align=\"left\" | Vendor\n\ 62 ! align=\"left\" | Device\n! align=\"left\" | Size / KB\n\62 ! align=\"left\" | Device\n! align=\"left\" | Size / kB\n\ 63 63 ! align=\"left\" | Type\n! align=\"left\" colspan=\"4\" | Status\n\n\ 64 64 |- bgcolor=\"#6699ff\"\n| colspan=\"4\" | \n\ -
trunk/util/flashrom_partial_write_test.sh
r1222 r1317 19 19 # 20 20 # This script attempts to test Flashrom partial write capability by writing 21 # patterns of 0xff and 0x00 bytes to the lowest 128 KB of flash. 128KB is chosen22 # since 64 KB is usually the largest possible block size, so we will try to21 # patterns of 0xff and 0x00 bytes to the lowest 128kB of flash. 128kB is chosen 22 # since 64kB is usually the largest possible block size, so we will try to 23 23 # cover at least two blocks with this test. 24 24 … … 198 198 # 3. The new content must be written at specified offsets. 199 199 # 200 # Note: The last chunk of 0xff bytes is only 2 K as to avoid overrunning a 128KB200 # Note: The last chunk of 0xff bytes is only 2k as to avoid overrunning a 128kB 201 201 # test image. 202 202 # -
trunk/wbsio_spi.c
r1299 r1317 85 85 register_spi_programmer(&spi_programmer_wbsio); 86 86 msg_pdbg("%s: Winbond saved on 4 register bits so max chip size is " 87 "1024 KB!\n", __func__);87 "1024 kB!\n", __func__); 88 88 max_rom_decode.spi = 1024 * 1024; 89 89
Note: See TracChangeset
for help on using the changeset viewer.
