Other people can provide more details on the general case, but in this instance, with only a WREN instruction, the FEATURE line should be:
I've been informed by others that your original idea of dropping the FEATURE line is actually correct, so you should do that instead of what I proposed.
There's a die erase opcode, which I am unfamiliar with- maybe it handles erasing a single 256Mb chip at a time?You've got:Numonyx N25Q00AA13-I'll admit I don't really know how this chip works, but it seems there should be a 3rd eraseblock from the description of the memory organization (datasheet is Rev E, 2/12):
Memory Configuration and Block Diagram
The memory is a stacked device comprised of four 256Mb chips. Each chip is internally
partitioned into two 128Mb segments. Each page of memory can be individually pro-
grammed. Bits are programmed from one through zero. The device is subsector, sector,
or single 256Mb chip erasable, but not page-erasable. Bits are erased from zero through
one. The memory is configured as 134,217,728 bytes (8 bits each); 2048 sectors (64KB
each); 32,768 subsectors (4KB each); and 524,288 pages (256 bytes each); and 64 OTP
bytes are located outside the main memory array.
+ .eraseblocks = { {4 * 1024, 32768 } },
+ .block_erase = spi_block_erase_20,
+ }, {
+ .eraseblocks = { {64 * 1024, 2048 } },
+ .block_erase = spi_block_erase_d8,You right this chip used a four 256 Mb chips. And 256 Mb chip has a three instruction subsector 20(hex) sector D8(hex) bulk C7(hex) erase commands. But chip N25Q00AA13 has a other op-code to initiate die erase command C4(hex)So, how do you do a single-chip erase for this chip?
What data sheets do you have for those chips? The ones below list the small sector erase op-code as D7.LE25FW418A: 61709 SY 20090428-S00004 No.A1432LE25FW808: 61009 SY IM 20090319-S00003 No.A0839
LE25FW806: 70208 SY IM 20070628-S00004 No.A0838