diff --git a/firmware/zedboard-bsp/src/qspi_spansion.rs b/firmware/zedboard-bsp/src/qspi_spansion.rs index ddb8a10..fc5f5f2 100644 --- a/firmware/zedboard-bsp/src/qspi_spansion.rs +++ b/firmware/zedboard-bsp/src/qspi_spansion.rs @@ -534,92 +534,6 @@ impl QspiSpansionS25Fl256SIoMode { } fn generic_read_page(&self, addr: u32, buf: &mut [u8], dummy_byte: bool, fast_read: bool) { - /* - let mut qspi = self.0.borrow_mut(); - let mut transfer = qspi.transfer_guard(); - let reg_id = if fast_read { - RegisterId::FastRead - } else { - RegisterId::Read - }; - let raw_word: [u8; 4] = [ - reg_id as u8, - ((addr >> 16) & 0xff) as u8, - ((addr >> 8) & 0xff) as u8, - (addr & 0xff) as u8, - ]; - transfer.write_word_txd_00(u32::from_ne_bytes(raw_word)); - let mut read_index = 0; - let mut written_words = 0; - let mut bytes_to_write = buf.len(); - if dummy_byte { - bytes_to_write += 1; - } - let fifo_writes = bytes_to_write.div_ceil(4); - // Fill the FIFO until it is full or all 0 bytes have been written. - for _ in 0..core::cmp::min(fifo_writes, FIFO_DEPTH - 1) { - transfer.write_word_txd_00(0); - written_words += 1; - } - - transfer.start(); - let mut reply_word_index = 0; - - while read_index < buf.len() { - let rx_is_above_threshold = transfer.read_status().rx_above_threshold(); - - // See p.374 of the TRM: Do a double read to ensure this is correct information. - if rx_is_above_threshold && transfer.read_status().rx_above_threshold() { - let reply = transfer.read_rx_data(); - if reply_word_index == 0 { - reply_word_index += 1; - continue; - } - let reply_as_bytes = reply.to_ne_bytes(); - let reply_size = core::cmp::min(buf.len() - read_index, 4); - read_index += match (reply_size, reply_word_index == 1 && dummy_byte) { - (1, false) => { - buf[read_index] = reply_as_bytes[0]; - 1 - } - (1, true) => { - buf[read_index] = reply_as_bytes[1]; - 1 - } - (2, false) => { - buf[read_index..read_index + 2].copy_from_slice(&reply_as_bytes[0..2]); - 2 - } - (2, true) => { - buf[read_index..read_index + 2].copy_from_slice(&reply_as_bytes[1..3]); - 2 - } - (3, false) => { - buf[read_index..read_index + 3].copy_from_slice(&reply_as_bytes[0..3]); - 3 - } - (3, true) => { - buf[read_index..read_index + 3].copy_from_slice(&reply_as_bytes[1..4]); - 3 - } - (4, false) => { - buf[read_index..read_index + 4].copy_from_slice(&reply_as_bytes[0..4]); - 4 - } - (4, true) => { - buf[read_index..read_index + 3].copy_from_slice(&reply_as_bytes[1..4]); - 3 - } - _ => unreachable!(), - }; - reply_word_index += 1; - } - if written_words < fifo_writes && !transfer.read_status().tx_full() { - transfer.write_word_txd_00(0); - written_words += 1; - } - } - */ let mut offset = 0; let reg_id = if fast_read { RegisterId::FastRead