I had a similar problem (QSPI_FLAG_TC timeout) with the following configuration. Writing a command followed by a single byte transmission (NbData = 1) worked, but writing a command + multiple bytes did not. hqspi.Instance = QUADSPI;
hqspi.Init.Clo...