]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - include/spi_flash.h
sf: probe: Add support for erase sector selection flag
[karo-tx-uboot.git] / include / spi_flash.h
index 3b6a44edcef6a1e8707ecd20572f191c9f05da46..0d40e6c975c8543630d2deb9d99cfe0bae6f10c5 100644 (file)
@@ -8,17 +8,7 @@
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
- * version 2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.         See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
+ * version 2 as published by the Free Software Foundation. 
  */
 #ifndef _SPI_FLASH_H_
 #define _SPI_FLASH_H_
 #include <linux/types.h>
 #include <linux/compiler.h>
 
+/* SECT flags */
+#define SECT_4K                (1 << 1)
+#define SECT_32K               (1 << 2)
+
+/* SST specific macros */
+#ifdef CONFIG_SPI_FLASH_SST
+# define SST_WP                        0x01    /* Supports AAI word program */
+# define CMD_SST_BP                    0x02    /* Byte Program */
+# define CMD_SST_AAI_WP                0xAD    /* Auto Address Incr Word Program */
+#endif
+
 struct spi_flash {
        struct spi_slave *spi;
 
@@ -36,8 +37,22 @@ struct spi_flash {
        u32             size;
        /* Write (page) size */
        u32             page_size;
-       /* Erase (sector) size */
+       /* Sector size */
        u32             sector_size;
+       /* Erase size */
+       u32             erase_size;
+#ifdef CONFIG_SPI_FLASH_BAR
+       /* Bank read cmd */
+       u8              bank_read_cmd;
+       /* Bank write cmd */
+       u8              bank_write_cmd;
+       /* Current flash bank */
+       u8              bank_curr;
+#endif
+       /* Poll cmd - for flash erase/program */
+       u8              poll_cmd;
+       /* Erase cmd 4K, 32K, 64K */
+       u8              erase_cmd;
 
        void *memory_map;       /* Address of read-only SPI flash access */
        int             (*read)(struct spi_flash *flash, u32 offset,