diff flashrom_orig/flashchips.c flashrom/flashchips.c
5342a5343,5380
> 	
> 	{
> 		.vendor		= "Macronix",
> 		.name		= "MX25U12835F",
> 		.bustype	= BUS_SPI,
> 		.manufacture_id	= MACRONIX_ID,
> 		.model_id	= MACRONIX_MX25U12835F,
> 		.total_size	= 16384,
> 		.page_size	= 256,
> 		.feature_bits	= FEATURE_WRSR_WREN | FEATURE_UNBOUND_READ,
> 		.tested		= TEST_OK_PREWU,
> 		.probe		= probe_spi_rdid,
> 		.probe_timing	= TIMING_ZERO,
> 		.block_erasers	=
> 		{
> 			{
> 				.eraseblocks = { {4 * 1024, 4096} },
> 				.block_erase = spi_block_erase_20,
> 			}, {
> 				.eraseblocks = { {32 * 1024, 512} },
> 				.block_erase = spi_block_erase_52,
> 			}, {
> 				.eraseblocks = { {64 * 1024, 256} },
> 				.block_erase = spi_block_erase_d8,
> 			}, {
> 				.eraseblocks = { {8 * 1024 * 2048, 1} },
> 				.block_erase = spi_block_erase_60,
> 			}, {
> 				.eraseblocks = { {8 * 1024 * 2048, 1} },
> 				.block_erase = spi_block_erase_c7,
> 			}
> 		},
> 		.unlock		= spi_disable_blockprotect,
> 		.write		= spi_chip_write_256,
> 		.read		= spi_chip_read, /* Fast read (0x0B) supported */
> 		.voltage	= {1650, 2000},
> 		.wp		= &wp_w25,
> 	},
diff flashrom_orig/flashchips.h flashrom/flashchips.h
505c505
< #define MACRONIX_MX25U12835E	0x2538	/* Same as MX25U12835F */
---
> #define MACRONIX_MX25U12835F	0x2538	/* Same as MX25U12835F */
diff flashrom_orig/writeprotect.c flashrom/writeprotect.c
378a379,398
> static struct w25q_range mx25u12835f_ranges[] = {
> 	{ X, 0, 0, {0, 0} },	/* none */
> 	{ 0, 0, 0x1, {0xff0000,   1 * 64 * 1024} },	/* block 255 */
> 	{ 0, 0, 0x2, {0xfe0000,   2 * 64 * 1024} },	/* blocks 254-255 */
> 	{ 0, 0, 0x3, {0xfc0000,   4 * 64 * 1024} },	/* blocks 252-255 */
> 	{ 0, 0, 0x4, {0xf80000,   8 * 64 * 1024} },	/* blocks 248-255 */
> 	{ 0, 0, 0x5, {0xf00000,  16 * 64 * 1024} },	/* blocks 240-255 */
> 	{ 0, 0, 0x6, {0xe00000,  32 * 64 * 1024} },	/* blocks 224-255 */
> 	{ 0, 0, 0x7, {0xc00000,  64 * 64 * 1024} },	/* blocks 192-255 */
> 
> 	{ 0, 1, 0x0, {0x800000,  128 * 64 * 1024} },	/* blocks 128-255 */
> 	{ 0, 1, 0x1, {0x000000,  256 * 64 * 1024} },	/* blocks all */
> 	{ 0, 1, 0x2, {0x000000,  256 * 64 * 1024} },	/* blocks all */
> 	{ 0, 1, 0x3, {0x000000,  256 * 64 * 1024} },	/* blocks all */
> 	{ 0, 1, 0x4, {0x000000,  256 * 64 * 1024} },	/* blocks all */
> 	{ 0, 1, 0x5, {0x000000,  256 * 64 * 1024} },	/* blocks all */
> 	{ 0, 1, 0x6, {0x000000,  256 * 64 * 1024} },	/* blocks all */
> 	{ 0, 1, 0x7, {0x000000,  256 * 64 * 1024} },	/* blocks all */
> };
> 
916a937,940
> 		case MACRONIX_MX25U12835F:
> 			*w25q_ranges = mx25u12835f_ranges;
> 			*num_entries = ARRAY_SIZE(mx25u12835f_ranges);
> 			break;	
1876a1901
> 			
1889c1914,1915
< 		 }
---
> 		}
> 					 
