00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #if 0
00018 #include <linux/module.h>
00019 #include <linux/mtd/nand.h>
00020 #endif
00021
00022 #include "nand.h"
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 struct nand_flash_dev nand_flash_ids[] = {
00036 {"NAND 1MiB 5V 8-bit", 0x6e, 256, 1, 0x1000, 0},
00037 {"NAND 2MiB 5V 8-bit", 0x64, 256, 2, 0x1000, 0},
00038 {"NAND 4MiB 5V 8-bit", 0x6b, 512, 4, 0x2000, 0},
00039 {"NAND 1MiB 3,3V 8-bit", 0xe8, 256, 1, 0x1000, 0},
00040 {"NAND 1MiB 3,3V 8-bit", 0xec, 256, 1, 0x1000, 0},
00041 {"NAND 2MiB 3,3V 8-bit", 0xea, 256, 2, 0x1000, 0},
00042 {"NAND 4MiB 3,3V 8-bit", 0xd5, 512, 4, 0x2000, 0},
00043 {"NAND 4MiB 3,3V 8-bit", 0xe3, 512, 4, 0x2000, 0},
00044 {"NAND 4MiB 3,3V 8-bit", 0xe5, 512, 4, 0x2000, 0},
00045 {"NAND 8MiB 3,3V 8-bit", 0xd6, 512, 8, 0x2000, 0},
00046
00047 {"NAND 8MiB 1,8V 8-bit", 0x39, 512, 8, 0x2000, 0},
00048 {"NAND 8MiB 3,3V 8-bit", 0xe6, 512, 8, 0x2000, 0},
00049 {"NAND 8MiB 1,8V 16-bit", 0x49, 512, 8, 0x2000, NAND_BUSWIDTH_16},
00050 {"NAND 8MiB 3,3V 16-bit", 0x59, 512, 8, 0x2000, NAND_BUSWIDTH_16},
00051
00052 {"NAND 16MiB 1,8V 8-bit", 0x33, 512, 16, 0x4000, 0},
00053 {"NAND 16MiB 3,3V 8-bit", 0x73, 512, 16, 0x4000, 0},
00054 {"NAND 16MiB 1,8V 16-bit", 0x43, 512, 16, 0x4000, NAND_BUSWIDTH_16},
00055 {"NAND 16MiB 3,3V 16-bit", 0x53, 512, 16, 0x4000, NAND_BUSWIDTH_16},
00056
00057 {"NAND 32MiB 1,8V 8-bit", 0x35, 512, 32, 0x4000, 0},
00058 {"NAND 32MiB 3,3V 8-bit", 0x75, 512, 32, 0x4000, 0},
00059 {"NAND 32MiB 1,8V 16-bit", 0x45, 512, 32, 0x4000, NAND_BUSWIDTH_16},
00060 {"NAND 32MiB 3,3V 16-bit", 0x55, 512, 32, 0x4000, NAND_BUSWIDTH_16},
00061
00062 {"NAND 64MiB 1,8V 8-bit", 0x36, 512, 64, 0x4000, 0},
00063 {"NAND 64MiB 3,3V 8-bit", 0x76, 512, 64, 0x4000, 0},
00064 {"NAND 64MiB 1,8V 16-bit", 0x46, 512, 64, 0x4000, NAND_BUSWIDTH_16},
00065 {"NAND 64MiB 3,3V 16-bit", 0x56, 512, 64, 0x4000, NAND_BUSWIDTH_16},
00066
00067 {"NAND 128MiB 1,8V 8-bit", 0x78, 512, 128, 0x4000, 0},
00068 {"NAND 128MiB 1,8V 8-bit", 0x39, 512, 128, 0x4000, 0},
00069 {"NAND 128MiB 3,3V 8-bit", 0x79, 512, 128, 0x4000, 0},
00070 {"NAND 128MiB 1,8V 16-bit", 0x72, 512, 128, 0x4000, NAND_BUSWIDTH_16},
00071 {"NAND 128MiB 1,8V 16-bit", 0x49, 512, 128, 0x4000, NAND_BUSWIDTH_16},
00072 {"NAND 128MiB 3,3V 16-bit", 0x74, 512, 128, 0x4000, NAND_BUSWIDTH_16},
00073 {"NAND 128MiB 3,3V 16-bit", 0x59, 512, 128, 0x4000, NAND_BUSWIDTH_16},
00074
00075 {"NAND 256MiB 3,3V 8-bit", 0x71, 512, 256, 0x4000, 0},
00076
00077
00078
00079
00080
00081 {"NAND 64MiB 1,8V 8-bit", 0xA2, 0, 64, 0, NAND_SAMSUNG_LP_OPTIONS | NAND_NO_AUTOINCR},
00082 {"NAND 64MiB 3,3V 8-bit", 0xF2, 0, 64, 0, NAND_SAMSUNG_LP_OPTIONS | NAND_NO_AUTOINCR},
00083 {"NAND 64MiB 1,8V 16-bit", 0xB2, 0, 64, 0, NAND_SAMSUNG_LP_OPTIONS | NAND_BUSWIDTH_16 | NAND_NO_AUTOINCR},
00084 {"NAND 64MiB 3,3V 16-bit", 0xC2, 0, 64, 0, NAND_SAMSUNG_LP_OPTIONS | NAND_BUSWIDTH_16 | NAND_NO_AUTOINCR},
00085
00086
00087 {"NAND 128MiB 1,8V 8-bit", 0xA1, 0, 128, 0, NAND_SAMSUNG_LP_OPTIONS | NAND_NO_AUTOINCR},
00088 {"NAND 128MiB 3,3V 8-bit", 0xF1, 0, 128, 0, NAND_SAMSUNG_LP_OPTIONS | NAND_NO_AUTOINCR},
00089 {"NAND 128MiB 1,8V 16-bit", 0xB1, 0, 128, 0, NAND_SAMSUNG_LP_OPTIONS | NAND_BUSWIDTH_16 | NAND_NO_AUTOINCR},
00090 {"NAND 128MiB 3,3V 16-bit", 0xC1, 0, 128, 0, NAND_SAMSUNG_LP_OPTIONS | NAND_BUSWIDTH_16 | NAND_NO_AUTOINCR},
00091
00092
00093 {"NAND 256MiB 1,8V 8-bit", 0xAA, 0, 256, 0, NAND_SAMSUNG_LP_OPTIONS | NAND_NO_AUTOINCR},
00094 {"NAND 256MiB 3,3V 8-bit", 0xDA, 0, 256, 0, NAND_SAMSUNG_LP_OPTIONS | NAND_NO_AUTOINCR},
00095 {"NAND 256MiB 1,8V 16-bit", 0xBA, 0, 256, 0, NAND_SAMSUNG_LP_OPTIONS | NAND_BUSWIDTH_16 | NAND_NO_AUTOINCR},
00096 {"NAND 256MiB 3,3V 16-bit", 0xCA, 0, 256, 0, NAND_SAMSUNG_LP_OPTIONS | NAND_BUSWIDTH_16 | NAND_NO_AUTOINCR},
00097
00098
00099 {"NAND 512MiB 1,8V 8-bit", 0xAC, 0, 512, 0, NAND_SAMSUNG_LP_OPTIONS | NAND_NO_AUTOINCR},
00100 {"NAND 512MiB 3,3V 8-bit", 0xDC, 0, 512, 0, NAND_SAMSUNG_LP_OPTIONS | NAND_NO_AUTOINCR},
00101 {"NAND 512MiB 1,8V 16-bit", 0xBC, 0, 512, 0, NAND_SAMSUNG_LP_OPTIONS | NAND_BUSWIDTH_16 | NAND_NO_AUTOINCR},
00102 {"NAND 512MiB 3,3V 16-bit", 0xCC, 0, 512, 0, NAND_SAMSUNG_LP_OPTIONS | NAND_BUSWIDTH_16 | NAND_NO_AUTOINCR},
00103
00104
00105 {"NAND 1GiB 1,8V 8-bit", 0xA3, 0, 1024, 0, NAND_SAMSUNG_LP_OPTIONS | NAND_NO_AUTOINCR},
00106 {"NAND 1GiB 3,3V 8-bit", 0xD3, 0, 1024, 0, NAND_SAMSUNG_LP_OPTIONS | NAND_NO_AUTOINCR},
00107 {"NAND 1GiB 1,8V 16-bit", 0xB3, 0, 1024, 0, NAND_SAMSUNG_LP_OPTIONS | NAND_BUSWIDTH_16 | NAND_NO_AUTOINCR},
00108 {"NAND 1GiB 3,3V 16-bit", 0xC3, 0, 1024, 0, NAND_SAMSUNG_LP_OPTIONS | NAND_BUSWIDTH_16 | NAND_NO_AUTOINCR},
00109
00110
00111 {"NAND 2GiB 1,8V 8-bit", 0xA5, 0, 2048, 0, NAND_SAMSUNG_LP_OPTIONS | NAND_NO_AUTOINCR},
00112 {"NAND 2GiB 3,3V 8-bit", 0xD5, 0, 2048, 0, NAND_SAMSUNG_LP_OPTIONS | NAND_NO_AUTOINCR},
00113 {"NAND 2GiB 1,8V 16-bit", 0xB5, 0, 2048, 0, NAND_SAMSUNG_LP_OPTIONS | NAND_BUSWIDTH_16 | NAND_NO_AUTOINCR},
00114 {"NAND 2GiB 3,3V 16-bit", 0xC5, 0, 2048, 0, NAND_SAMSUNG_LP_OPTIONS | NAND_BUSWIDTH_16 | NAND_NO_AUTOINCR},
00115
00116
00117
00118
00119
00120
00121
00122 {"AND 128MiB 3,3V 8-bit", 0x01, 2048, 128, 0x4000, NAND_IS_AND | NAND_NO_AUTOINCR | NAND_4PAGE_ARRAY | BBT_AUTO_REFRESH},
00123
00124 {NULL,}
00125 };
00126
00127
00128
00129
00130 struct nand_manufacturers nand_manuf_ids[] = {
00131 {NAND_MFR_TOSHIBA, "Toshiba"},
00132 {NAND_MFR_SAMSUNG, "Samsung"},
00133 {NAND_MFR_FUJITSU, "Fujitsu"},
00134 {NAND_MFR_NATIONAL, "National"},
00135 {NAND_MFR_RENESAS, "Renesas"},
00136 {NAND_MFR_STMICRO, "ST Micro"},
00137 {NAND_MFR_HYNIX, "Hynix"},
00138 {0x0, "Unknown"}
00139 };
00140
00141 EXPORT_SYMBOL (nand_manuf_ids);
00142 EXPORT_SYMBOL (nand_flash_ids);
00143
00144 MODULE_LICENSE ("GPL");
00145 MODULE_AUTHOR ("Thomas Gleixner <tglx@linutronix.de>");
00146 MODULE_DESCRIPTION ("Nand device & manufacturer ID's");