@@ -622,8 +622,8 @@ static int flash_flexspi_nor_quad_enable(struct flash_flexspi_nor_data *data,
622
622
kFLEXSPI_Command_SDR , kFLEXSPI_1PAD , SPI_NOR_CMD_WRSR2 ,
623
623
kFLEXSPI_Command_WRITE_SDR , kFLEXSPI_1PAD , 0x1 );
624
624
625
- /* Set bit 7 of status register 2 */
626
- bit = BIT (7 );
625
+ /* Set bit 1 of status register 2 */
626
+ bit = BIT (1 );
627
627
rd_size = 1 ;
628
628
wr_size = 1 ;
629
629
break ;
@@ -1293,6 +1293,40 @@ static int flash_flexspi_nor_check_jedec(struct flash_flexspi_nor_data *data,
1293
1293
kFLEXSPI_Command_SDR , kFLEXSPI_8PAD , SPI_NOR_CMD_WREN ,
1294
1294
kFLEXSPI_Command_STOP , kFLEXSPI_1PAD , 0 );
1295
1295
return 0 ;
1296
+ case 0x1940C8 : /* GD25Q256E */
1297
+ flexspi_lut [READ ][0 ] = FLEXSPI_LUT_SEQ (
1298
+ kFLEXSPI_Command_SDR , kFLEXSPI_1PAD , SPI_NOR_CMD_4READ_4B ,
1299
+ kFLEXSPI_Command_RADDR_SDR , kFLEXSPI_4PAD , 0x20 );
1300
+ /* Flash needs 15 dummy cycles */
1301
+ flexspi_lut [READ ][1 ] = FLEXSPI_LUT_SEQ (
1302
+ kFLEXSPI_Command_MODE8_SDR , kFLEXSPI_4PAD , 0xF0 ,
1303
+ kFLEXSPI_Command_DUMMY_SDR , kFLEXSPI_4PAD , 0x04 );
1304
+ flexspi_lut [READ ][2 ] = FLEXSPI_LUT_SEQ (
1305
+ kFLEXSPI_Command_READ_SDR , kFLEXSPI_4PAD , 0x04 ,
1306
+ kFLEXSPI_Command_STOP , kFLEXSPI_1PAD , 0x00 );
1307
+
1308
+ data -> legacy_poll = true;
1309
+ flexspi_lut [READ_STATUS_REG ][0 ] = FLEXSPI_LUT_SEQ (
1310
+ kFLEXSPI_Command_SDR , kFLEXSPI_1PAD , SPI_NOR_CMD_RDSR ,
1311
+ kFLEXSPI_Command_READ_SDR , kFLEXSPI_1PAD , 0x04 );
1312
+
1313
+ flexspi_lut [ERASE_SECTOR ][0 ] = FLEXSPI_LUT_SEQ (
1314
+ kFLEXSPI_Command_SDR , kFLEXSPI_1PAD , SPI_NOR_CMD_SE_4B ,
1315
+ kFLEXSPI_Command_RADDR_SDR , kFLEXSPI_1PAD , 0x20 );
1316
+
1317
+ flexspi_lut [ERASE_BLOCK ][0 ] = FLEXSPI_LUT_SEQ (
1318
+ kFLEXSPI_Command_SDR , kFLEXSPI_1PAD , SPI_NOR_CMD_BE_4B ,
1319
+ kFLEXSPI_Command_RADDR_SDR , kFLEXSPI_1PAD , 0x20 );
1320
+
1321
+ flexspi_lut [PAGE_PROGRAM ][0 ] = FLEXSPI_LUT_SEQ (
1322
+ kFLEXSPI_Command_SDR , kFLEXSPI_1PAD , SPI_NOR_CMD_PP_1_1_4_4B ,
1323
+ kFLEXSPI_Command_RADDR_SDR , kFLEXSPI_1PAD , 0x20 );
1324
+ flexspi_lut [PAGE_PROGRAM ][1 ] = FLEXSPI_LUT_SEQ (
1325
+ kFLEXSPI_Command_WRITE_SDR , kFLEXSPI_4PAD , 0x04 ,
1326
+ kFLEXSPI_Command_STOP , kFLEXSPI_1PAD , 0x00 );
1327
+
1328
+ return flash_flexspi_nor_quad_enable (data , flexspi_lut ,
1329
+ JESD216_DW15_QER_VAL_S2B1v6 );
1296
1330
1297
1331
default :
1298
1332
return - ENOTSUP ;
0 commit comments