An untested sketch which issues commands to the flash over SPI:
#include “SPI.h”
#include <Adafruit_TinyUSB.h>#define QSPI_IO3 29
#define QSPI_IO2 28
#define QSPI_IO1 27
#define QSPI_IO0 26
#define QSPI_SCK 24
#define QSPI_CS 25SPIClass SPI_2(NRF_SPIM2, QSPI_IO1, QSPI_SCK, QSPI_IO0);
void setup() {
Serial.begin(115200);
while ( !Serial ) delay(10);
Serial.println(“FLASH TESTING”);
pinMode(QSPI_CS, OUTPUT);
pinMode(QSPI_IO2, OUTPUT);
pinMode(QSPI_IO3, OUTPUT);
digitalWrite(QSPI_CS, HIGH);
digitalWrite(QSPI_IO2, HIGH);
digitalWrite(QSPI_IO3, HIGH);SPI_2.begin();
digitalWrite(QSPI_CS, LOW);
SPI_2.transfer(0xAB);
SPI_2.transfer(0xFF);
SPI_2.transfer(0xFF);
SPI_2.transfer(0xFF);
byte deviceID;
deviceID = SPI_2.transfer(0xFF);
digitalWrite(QSPI_CS, HIGH);
Serial.print("Device ID = ");
Serial.println(deviceID, HEX);SPI_2.end();
suspendLoop();
}
If it can print out the device ID then you may issue 0xB9, 0xAB, etc to see if it can wake up after deep sleep and perform read/write operation.