summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBryan Siepert <bsiepert@gmail.com>2018-10-31 01:54:09 -0700
committerBryan Siepert <bsiepert@gmail.com>2018-10-31 01:54:09 -0700
commitdc82fd556bca81e6be9d5e3c5c982e2f0cd6e4c3 (patch)
tree8dc7c01d77818c3d7af9154a06ab28d45421583a
parent7dc6b1da08671ff6c727b914635e530f70c735b2 (diff)
Updating devices.h to add new devices, fix a typo and address #1239
-rw-r--r--ports/atmel-samd/external_flash/devices.h39
1 files changed, 36 insertions, 3 deletions
diff --git a/ports/atmel-samd/external_flash/devices.h b/ports/atmel-samd/external_flash/devices.h
index 974936419..be3fa47e4 100644
--- a/ports/atmel-samd/external_flash/devices.h
+++ b/ports/atmel-samd/external_flash/devices.h
@@ -180,9 +180,9 @@ typedef struct {
.write_status_register_split = false, \
}
-// Settings for the Winbond W25Q16JV 2MiB SPI flash.
+// Settings for the Winbond W25Q16JV-IQ 2MiB SPI flash. Note that JV-IM has a different .memory_type (0x70)
// Datasheet: https://www.winbond.com/resource-files/w25q16jv%20spi%20revf%2005092017.pdf
-#define W25Q16JV {\
+#define W25Q16JV_IQ {\
.total_size = (1 << 21), /* 2 MiB */ \
.start_up_time_us = 5000, \
.manufacturer_id = 0xef, \
@@ -197,6 +197,23 @@ typedef struct {
.write_status_register_split = false, \
}
+// Settings for the Winbond W25Q16JV-IM 2MiB SPI flash. Note that JV-IQ has a different .memory_type (0x40)
+// Datasheet: https://www.winbond.com/resource-files/w25q16jv%20spi%20revf%2005092017.pdf
+#define W25Q16JV_IM {\
+ .total_size = (1 << 21), /* 2 MiB */ \
+ .start_up_time_us = 5000, \
+ .manufacturer_id = 0xef, \
+ .memory_type = 0x70, \
+ .capacity = 0x15, \
+ .max_clock_speed_mhz = 133, \
+ .has_sector_protection = false, \
+ .supports_fast_read = true, \
+ .supports_qspi = true, \
+ .has_quad_enable = true, \
+ .supports_qspi_writes = true, \
+ .write_status_register_split = false, \
+}
+
// Settings for the Winbond W25Q32BV 4MiB SPI flash.
// Datasheet: https://www.winbond.com/resource-files/w25q32bv_revi_100413_wo_automotive.pdf
#define W25Q32BV {\
@@ -213,6 +230,22 @@ typedef struct {
.supports_qspi_writes = false, \
.write_status_register_split = false, \
}
+// Settings for the Winbond W25Q32JV-IM 4MiB SPI flash.
+// Datasheet: https://www.winbond.com/resource-files/w25q32jv%20revg%2003272018%20plus.pdf
+#define W25Q32JV_IM {\
+ .total_size = (1 << 22), /* 4 MiB */ \
+ .start_up_time_us = 5000, \
+ .manufacturer_id = 0xef, \
+ .memory_type = 0x70, \
+ .capacity = 0x16, \
+ .max_clock_speed_mhz = 133, \
+ .has_sector_protection = false, \
+ .supports_fast_read = true, \
+ .supports_qspi = true, \
+ .has_quad_enable = true, \
+ .supports_qspi_writes = true, \
+ .write_status_register_split = false, \
+}
// Settings for the Winbond W25Q64JV-IM 8MiB SPI flash. Note that JV-IQ has a different .memory_type (0x40)
// Datasheet: http://www.winbond.com/resource-files/w25q64jv%20revj%2003272018%20plus.pdf
@@ -266,7 +299,7 @@ typedef struct {
}
-// Settings for the Winbond W25Q128JV-SQ 8MiB SPI flash. Note that JV-IM has a different .memory_type (0x70)
+// Settings for the Winbond W25Q128JV-SQ 16MiB SPI flash. Note that JV-IM has a different .memory_type (0x70)
// Datasheet: https://www.winbond.com/resource-files/w25q128jv%20revf%2003272018%20plus.pdf
#define W25Q128JV_SQ {\
.total_size = (1 << 23), /* 16 MiB */ \