bcm963158: add nand support
[oweals/u-boot.git] / include / jffs2 / load_kernel.h
index 882a80ea3abd02ab05247016cb404a6dc12b6be6..9346d7ee9f1b6376097337181565f6202bc12f1b 100644 (file)
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
 #ifndef load_kernel_h
 #define load_kernel_h
 /*-------------------------------------------------------------------------
@@ -7,30 +8,19 @@
  * Author:        Russ Dill <Russ.Dill@asu.edu>
  * Description:   header for load kernel modules
  *-----------------------------------------------------------------------*/
-/*
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * 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
- *
- */
 
 #include <linux/list.h>
 
 /* mtd device types */
-#define MTD_DEV_TYPE_NOR      0x0001
-#define MTD_DEV_TYPE_NAND     0x0002
-#define MTD_DEV_TYPE(type) ((type == MTD_DEV_TYPE_NAND) ? "nand" : "nor")
+#define MTD_DEV_TYPE_NOR       0x0001
+#define MTD_DEV_TYPE_NAND      0x0002
+#define MTD_DEV_TYPE_ONENAND   0x0004
+#define MTD_DEV_TYPE_SPINAND   0x0008
+
+#define MTD_DEV_TYPE(type) (type == MTD_DEV_TYPE_NAND ? "nand" :       \
+                           (type == MTD_DEV_TYPE_NOR ? "nor" :         \
+                            (type == MTD_DEV_TYPE_ONENAND ? "onenand" : \
+                             "spi-nand")))                             \
 
 struct mtd_device {
        struct list_head link;
@@ -43,10 +33,11 @@ struct part_info {
        struct list_head link;
        char *name;                     /* partition name */
        u8 auto_name;                   /* set to 1 for generated name */
-       u32 size;                       /* total size of the partition */
-       u32 offset;                     /* offset within device */
+       u64 size;                       /* total size of the partition */
+       u64 offset;                     /* offset within device */
        void *jffs2_priv;               /* used internaly by jffs2 */
        u32 mask_flags;                 /* kernel MTD mask flags */
+       u32 sector_size;                /* size of sector */
        struct mtd_device *dev;         /* parent device */
 };
 
@@ -54,7 +45,7 @@ struct mtdids {
        struct list_head link;
        u8 type;                        /* device type */
        u8 num;                         /* device number */
-       u32 size;                       /* device size */
+       u64 size;                       /* device size */
        char *mtd_id;                   /* linux kernel device id */
 };
 
@@ -70,4 +61,10 @@ struct mtdids {
 #define putLabeledWord(x, y)   printf("%s %08x\n", x, (unsigned int)y)
 #define led_blink(x, y, z, a)
 
+/* common/cmd_jffs2.c */
+extern int mtdparts_init(void);
+extern int find_dev_and_part(const char *id, struct mtd_device **dev,
+                               u8 *part_num, struct part_info **part);
+extern struct mtd_device *device_find(u8 type, u8 num);
+
 #endif /* load_kernel_h */