File tree Expand file tree Collapse file tree 1 file changed +7
-3
lines changed
storage/blockdevice/COMPONENT_QSPIF/source Expand file tree Collapse file tree 1 file changed +7
-3
lines changed Original file line number Diff line number Diff line change @@ -1113,12 +1113,16 @@ int QSPIFBlockDevice::_handle_vendor_quirks()
11131113 case 0xc2 :
11141114 // Macronix devices have several quirks:
11151115 // 1. Have one status register and several config registers, with a nonstandard instruction for reading the config registers
1116- // 2. Require setting a "fast mode" bit in config register 2 to operate at higher clock rates
1117- // 3. Should never attempt to enable 4-byte addressing (it causes reads and writes to fail)
1116+ // 2. Require setting a "fast mode" bit in config register 2 to operate at higher clock rates (if config register 2 exists)
1117+ // 3. Should never attempt to enable 4-byte addressing (it causes reads and writes to fail). On MX25L12833F at least, the
1118+ // SFDP table claims to have 4-byte support but it actually does not!
11181119 tr_debug (" Applying quirks for macronix" );
1119- _needs_fast_mode = true ;
11201120 _num_status_registers = MBED_CONF_QSPI_MACRONIX_NUM_STATUS_REGISTER;
11211121 _read_status_reg_2_inst = QSPIF_INST_RDCR;
1122+ if (MBED_CONF_QSPI_MACRONIX_NUM_STATUS_REGISTER >= 3 ) {
1123+ _needs_fast_mode = true ;
1124+ }
1125+ _attempt_4_byte_addressing = false ;
11221126 break ;
11231127 case 0x9d :
11241128 // ISSI devices have only one status register
You can’t perform that action at this time.
0 commit comments