aboutsummaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorGurjant Kalsi <me@gurjantkalsi.com>2015-11-02 11:44:50 -0800
committerGurjant Kalsi <me@gurjantkalsi.com>2015-11-02 11:44:50 -0800
commit2b1cd1069357ca1b5ee291cce10efd1e26ef6158 (patch)
tree4cdfea3bd35e021f8196132a4fbfacc3c409475f /platform
parent587c3f93b2a9be8ed64968522cd0f2f62798317b (diff)
downloadcommon-2b1cd1069357ca1b5ee291cce10efd1e26ef6158.tar.gz
[spiflash][bio][stm32f7] Fixed (sub)sector erase on spiflash device.
R=travisg@google.com, cpu@google.com BUG= Review URL: https://codereview.chromium.org/1410223011 .
Diffstat (limited to 'platform')
-rw-r--r--platform/stm32f7xx/qspi.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/platform/stm32f7xx/qspi.c b/platform/stm32f7xx/qspi.c
index a67a3da5..482be26e 100644
--- a/platform/stm32f7xx/qspi.c
+++ b/platform/stm32f7xx/qspi.c
@@ -562,14 +562,20 @@ static ssize_t qspi_erase(bdev_t *device, uint32_t block_addr, uint32_t instruct
switch (instruction) {
case SUBSECTOR_ERASE_CMD: {
num_erased_bytes = N25QXXA_SUBSECTOR_SIZE;
- erase_cmd.AddressMode = get_address_size(block_addr);
+ erase_cmd.AddressSize = get_address_size(block_addr);
erase_cmd.Instruction = get_specialized_instruction(instruction, block_addr);
+ erase_cmd.AddressMode = QSPI_ADDRESS_1_LINE;
+ erase_cmd.Address = block_addr;
+
break;
}
case SECTOR_ERASE_CMD: {
num_erased_bytes = N25QXXA_SECTOR_SIZE;
- erase_cmd.AddressMode = get_address_size(block_addr);
+ erase_cmd.AddressSize = get_address_size(block_addr);
erase_cmd.Instruction = get_specialized_instruction(instruction, block_addr);
+ erase_cmd.AddressMode = QSPI_ADDRESS_1_LINE;
+ erase_cmd.Address = block_addr;
+
break;
}
case BULK_ERASE_CMD: {
@@ -585,8 +591,6 @@ static ssize_t qspi_erase(bdev_t *device, uint32_t block_addr, uint32_t instruct
}
erase_cmd.InstructionMode = QSPI_INSTRUCTION_1_LINE;
- erase_cmd.AddressSize = QSPI_ADDRESS_24_BITS;
- erase_cmd.Address = block_addr;
erase_cmd.AlternateByteMode = QSPI_ALTERNATE_BYTES_NONE;
erase_cmd.DataMode = QSPI_DATA_NONE;
erase_cmd.DummyCycles = 0;