This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git


The following commit(s) were added to refs/heads/master by this push:
     new 225062305b mtd/mx25rxx: add support for MX25L25673G chip
225062305b is described below

commit 225062305b46f6d9ab93caf0fdf986863b1da15f
Author: Janne Rosberg <[email protected]>
AuthorDate: Thu Oct 19 14:38:23 2023 +0300

    mtd/mx25rxx: add support for MX25L25673G chip
    
    Add support for MX25L25673G QSPI flash.
---
 drivers/mtd/mx25rxx.c | 22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git a/drivers/mtd/mx25rxx.c b/drivers/mtd/mx25rxx.c
index 869302b7cd..1dbd7b8b17 100644
--- a/drivers/mtd/mx25rxx.c
+++ b/drivers/mtd/mx25rxx.c
@@ -105,6 +105,7 @@
 #else
 #  define MX25R_JEDEC_MEMORY_TYPE          0x28  /* MX25Rx memory type */
 #endif
+#define MX25R_JEDEC_MX25L25673G_CAPACITY 0x19  /* MX25L25673G memory capacity 
*/
 #define MX25R_JEDEC_MX25R6435F_CAPACITY  0x17  /* MX25R6435F memory capacity */
 #define MX25R_JEDEC_MX25R8035F_CAPACITY  0x14  /* MX25R8035F memory capacity */
 
@@ -117,10 +118,19 @@
 #define MX25R6435F_SECTOR_COUNT     (2048)
 #define MX25R6435F_PAGE_SIZE        (256)
 
+/* MX25L25673G (256 MB) memory capacity */
+
+#define MX25L25673G_SECTOR_SIZE      (4*1024)
+#define MX25L25673G_SECTOR_SHIFT     (12)
+#define MX25L25673G_SECTOR_COUNT     (8192)
+#define MX25L25673G_PAGE_SIZE        (256)
+
 #ifdef CONFIG_MX25RXX_PAGE128
-#  define MX25R6435F_PAGE_SHIFT       (7)
+#  define MX25R6435F_PAGE_SHIFT      (7)
+#  define MX25L25673G_PAGE_SHIFT     (7)
 #else
-#  define MX25R6435F_PAGE_SHIFT       (8)
+#  define MX25R6435F_PAGE_SHIFT      (8)
+#  define MX25L25673G_PAGE_SHIFT     (8)
 #endif
 
 /* Status register bit definitions */
@@ -132,7 +142,7 @@
 #define MX25R_SR_QE                 (1 << 6)  /* Bit 6: Quad enable */
 #define MX25R_SR_SRWD               (1 << 7)  /* Bit 7: Status register write 
protect */
 
-/* Configuration registerregister bit definitions */
+/* Configuration register bit definitions */
 
 #define MX25R_CR_LH                 (1 << 9)  /* Bit 9: Power mode */
 #define MX25R_CR_TB                 (1 << 3)  /* Bit 3: Top/bottom selected */
@@ -855,6 +865,12 @@ int mx25rxx_readid(struct mx25rxx_dev_s *dev)
         dev->nsectors    = MX25R6435F_SECTOR_COUNT;
         break;
 
+      case MX25R_JEDEC_MX25L25673G_CAPACITY:
+        dev->sectorshift = MX25L25673G_SECTOR_SHIFT;
+        dev->pageshift   = MX25L25673G_PAGE_SHIFT;
+        dev->nsectors    = MX25L25673G_SECTOR_COUNT;
+        break;
+
       default:
         ferr("ERROR: Unsupported memory capacity: %02x\n", dev->cmdbuf[2]);
         return -ENODEV;

Reply via email to