nf_2KB.h

Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 #ifndef _NF_2KB_H_
00016 #define _NF_2KB_H_
00017 
00018 #define  NF_TYPE_2KB_KNOWN    FALSE // No static mode define by default
00019 
00022 #define  CONF_2KB_F1_1     0 
00023 #define  CONF_2KB_F1_2     1 
00024 #define  CONF_2KB_F1_3     2 
00025 #define  CONF_2KB_F1_4     3 
00026 #define  CONF_2KB_F1_5     4 
00027 #define  CONF_2KB_F1_6     5 
00028 #define  CONF_2KB_F1_7     6 
00029 #define  CONF_2KB_F1_8     7
00030 #define  CONF_2KB_F2_1     8 
00031 #define  CONF_2KB_F2_2     9 
00032 #define  CONF_2KB_F2_3     10 
00033 #define  CONF_2KB_F2_4     11
00034 #define  CONF_2KB_F2_5     12
00035 #define  CONF_2KB_F3_1     13
00036 #define  CONF_2KB_F3_2     14
00037 #define  CONF_2KB_F3_3     15
00038 #define  CONF_2KB_F3_4     16
00039 #define  CONF_2KB_F4_0     17
00040 #define  CONF_2KB_F4_1     18
00041 
00042 
00043 #if (NF_AUTO_DETECT_2KB==TRUE)
00044 
00045 //**********  LIST USED FOR GENERIC 2KB DRIVER ************
00046 
00049 #  if (!defined _nfc_drv_c_)
00050 extern _CONST_TYPE_   St_nf_conf  nf_list_conf[];
00051 #  else
00052 _CONST_TYPE_   St_nf_conf  nf_list_conf[]=
00053 {
00054   { 1,1,1,1,1, (CLK_DFC_NFC_60MHz)>>5}  // CONF_2KB_F1_1
00055 , { 1,1,1,1,1, (CLK_DFC_NFC_30MHz)>>5}  // CONF_2KB_F1_2
00056 , { 1,1,1,1,1, (CLK_DFC_NFC_24MHz)>>5}  // CONF_2KB_F1_3
00057 , { 1,1,1,0,1, (CLK_DFC_NFC_24MHz)>>5}  // CONF_2KB_F1_4
00058 , { 1,1,1,1,0, (CLK_DFC_NFC_16MHz)>>5}  // CONF_2KB_F1_5
00059 , { 1,1,0,1,1, (CLK_DFC_NFC_60MHz)>>5}  // CONF_2KB_F1_6
00060 , { 1,1,0,1,1, (CLK_DFC_NFC_40MHz)>>5}  // CONF_2KB_F1_7
00061 , { 1,1,1,0,1, (CLK_DFC_NFC_16MHz)>>5}  // CONF_2KB_F1_8
00062 , { 2,1,1,1,1, (CLK_DFC_NFC_60MHz)>>5}  // CONF_2KB_F2_1
00063 , { 2,1,1,1,1, (CLK_DFC_NFC_40MHz)>>5}  // CONF_2KB_F2_2
00064 , { 2,1,1,1,1, (CLK_DFC_NFC_30MHz)>>5}  // CONF_2KB_F2_2
00065 , { 2,1,1,1,0, (CLK_DFC_NFC_24MHz)>>5}  // CONF_2KB_F2_3
00066 , { 4,1,1,1,1, (CLK_DFC_NFC_60MHz)>>5}  // CONF_2KB_F2_4
00067 , { 4,1,1,1,1, (CLK_DFC_NFC_30MHz)>>5}  // CONF_2KB_F2_5
00068 , { 1,2,1,1,1, (CLK_DFC_NFC_30MHz)>>5}  // CONF_2KB_F3_1
00069 , { 1,2,0,1,1, (CLK_DFC_NFC_60MHz)>>5}  // CONF_2KB_F3_2
00070 , { 1,2,0,1,1, (CLK_DFC_NFC_40MHz)>>5}  // CONF_2KB_F3_3
00071 , { 2,2,0,1,1, (CLK_DFC_NFC_60MHz)>>5}  // CONF_2KB_F3_4
00072 , { 0,0,0,1,1, (CLK_DFC_NFC_30MHz)>>5}  // CONF_2KB_F4_0
00073 , { 0,0,0,0,0, (CLK_DFC_NFC_30MHz)>>5}  // CONF_2KB_F4_1
00074 };
00075 #endif
00076 
00077 
00080 #  if (!defined _nfc_drv_c_)
00081 extern _CONST_TYPE_   St_nf_id    nf_list_id[];
00082 #  else
00083 _CONST_TYPE_   St_nf_id    nf_list_id[]=
00084 {
00085 //  Maker         ,ID    ,Conf            // References
00086   { M_ID_HYNIX    ,0xA1  ,CONF_2KB_F1_3 } // HY27SF081G2M
00087 , { M_ID_HYNIX    ,0xAA  ,CONF_2KB_F1_3 } // HY27SG082G2M
00088 , { M_ID_HYNIX    ,0xD3  ,CONF_2KB_F2_5 } // Configuration compatible for all references
00089 //{ M_ID_HYNIX    ,0xD3  ,CONF_2KB_F1_2 } // HY27UH088G2M
00090 //{ M_ID_HYNIX    ,0xD3  ,CONF_2KB_F2_4 } // HY27UH08AG5M, HY27UH08AGDM
00091 , { M_ID_HYNIX    ,0xDA  ,CONF_2KB_F1_3 } // HY27UG082G2M
00092 //{ M_ID_HYNIX    ,0xDA  ,CONF_2KB_F1_2 } // HY27UG084GDM
00093 , { M_ID_HYNIX    ,0xDC  ,CONF_2KB_F2_2 } // Configuration compatible for all references
00094 //{ M_ID_HYNIX    ,0xDC  ,CONF_2KB_F1_2 } // HY27UG084G2M, HY27UH088GDM
00095 //{ M_ID_HYNIX    ,0xDC  ,CONF_2KB_F2_1 } // HY27UF084G2M
00096 , { M_ID_HYNIX    ,0xF1  ,CONF_2KB_F1_4 } // HY27UF081G2M
00097 
00098 , { M_ID_MICRON   ,0xA1  ,CONF_2KB_F1_2 } // MT29F1G08ABAWP
00099 , { M_ID_MICRON   ,0xAA  ,CONF_2KB_F1_2 } // MT29F2G08ABCWG, MT29F2G08ABCWP
00100 , { M_ID_MICRON   ,0xAC  ,CONF_2KB_F2_2 } // MT29F4G08BBCWG
00101 , { M_ID_MICRON   ,0xD3  ,CONF_2KB_F3_1 } // MT29F8G08BAAWP, MT29F16G08FAAWP, MT29F16G08FAAWC
00102 , { M_ID_MICRON   ,0xDA  ,CONF_2KB_F1_1 } // MT29F2G08AABWP, MT29F2G08AACWG, MT29F2G08AACWP
00103 //{ M_ID_MICRON   ,0xDC  ,CONF_2KB_F3_1 } // MT29F4G08AAAWP, MT29F8G08DAAWP, MT29F8G08DAAWC (Not supported in generic driver)
00104 , { M_ID_MICRON   ,0xDC  ,CONF_2KB_F2_1 } // MT29F4G08BABWP, MT29F8G08FABWP
00105 //{ M_ID_MICRON   ,0xDC  ,CONF_2KB_F1_1 } // MT29F4G08BACWG, MT29F8G08FACWG
00106 
00107 //{ M_ID_SAMSUNG  ,0xA1  ,CONF_2KB_F1_5 } // K9F1G08Q0M (Not supported in generic driver)
00108 , { M_ID_SAMSUNG  ,0xA1  ,CONF_2KB_F4_0 } // K9F1G08R0A, K9F1G08Q0A, K9F1G08R0B
00109 //{ M_ID_SAMSUNG  ,0xAA  ,CONF_2KB_F2_2 } // K9K2G08Q0M
00110 , { M_ID_SAMSUNG  ,0xAA  ,CONF_2KB_F4_0 } // K9K2G08R0B
00111 //{ M_ID_SAMSUNG  ,0xAA  ,CONF_2KB_F1_1 } // K9F2G08Q0M
00112 , { M_ID_SAMSUNG  ,0xAC  ,CONF_2KB_F2_2 } // K9K4G08Q0M
00113 , { M_ID_SAMSUNG  ,0xD3  ,CONF_2KB_F3_4 } // K9K8G08U0A, K9K8G08U0M, K9WAG08U1A, K9NBG08U5A
00114 , { M_ID_SAMSUNG  ,0xDA  ,CONF_2KB_F4_0 } // Configuration compatible for all references
00115 //{ M_ID_SAMSUNG  ,0xDA  ,CONF_2KB_F3_3 } // K9F2G08R0A, K9F2G08U0A
00116 //{ M_ID_SAMSUNG  ,0xDA  ,CONF_2KB_F2_2 } // K9K2G08U0M, K9W4G08U1M
00117 //{ M_ID_SAMSUNG  ,0xDA  ,CONF_2KB_F1_2 } // K9F2G08U0M
00118 , { M_ID_SAMSUNG  ,0xDC  ,CONF_2KB_F4_0 } // Configuration compatible for all references
00119 //{ M_ID_SAMSUNG  ,0xDC  ,CONF_2KB_F3_2 } // K9F4G08U0A, K9F4G08U0M, K9K8G08U1A
00120 //{ M_ID_SAMSUNG  ,0xDC  ,CONF_2KB_F2_2 } // K9K4G08U0M, K9W8G08U1M
00121 , { M_ID_SAMSUNG  ,0xF1  ,CONF_2KB_F1_7 } // Configuration compatible for all references
00122 //{ M_ID_SAMSUNG  ,0xF1  ,CONF_2KB_F1_1 } // K9F1G08U0A
00123 //{ M_ID_SAMSUNG  ,0xF1  ,CONF_2KB_F1_2 } // K9F1G08D0M, K9F1G08U0M
00124 //{ M_ID_SAMSUNG  ,0xF1  ,CONF_2KB_F1_6 } // K9F1G08U0B
00125 
00126 , { M_ID_ST       ,0xA1  ,CONF_2KB_F1_8 } // NAND01GR3B2
00127 , { M_ID_ST       ,0xA3  ,CONF_2KB_F2_5 } // NAND08GR3B2
00128 //{ M_ID_ST       ,0xAA  ,CONF_2KB_F1_2 } // NAND02GR3B2_one_die
00129 , { M_ID_ST       ,0xAA  ,CONF_2KB_F2_2 } // NAND02GR3B2_two_die
00130 , { M_ID_ST       ,0xAC  ,CONF_2KB_F2_2 } // NAND04GR3B2
00131 , { M_ID_ST       ,0xD3  ,CONF_2KB_F2_4 } // NAND08GW3B2
00132 //{ M_ID_ST       ,0xDA  ,CONF_2KB_F1_2 } // NAND02GW3B2_one_die
00133 , { M_ID_ST       ,0xDA  ,CONF_2KB_F2_3 } // NAND02GW3B2_two_die
00134 , { M_ID_ST       ,0xDC  ,CONF_2KB_F2_1 } // NAND04GW3B2
00135 , { M_ID_ST       ,0xF1  ,CONF_2KB_F1_8 } // NAND01GW3B2
00136 
00137 , { M_ID_TOSHIBA96,0xF1  ,CONF_2KB_F4_1 } // TC58NVG0S3AFT05
00138 , { M_ID_TOSHIBA  ,0xF1  ,CONF_2KB_F4_1 } // TC58NVG0S3BFTI0
00139 , { M_ID_TOSHIBA  ,0xDA  ,CONF_2KB_F4_1 } // TH58NVG1S3AFT05
00140 };
00141 #  endif // (!defined _nfc_drv_c_)
00142 
00143 
00146 #  if (!defined _nfc_drv_c_)
00147 extern _CONST_TYPE_   St_nf_link_id_block  nf_list_link_id_block[];
00148 #  else
00149 _CONST_TYPE_   St_nf_link_id_block  nf_list_link_id_block[]=
00150 {
00151   { 0xA1 ,1 }
00152 , { 0xF1 ,1 }
00153 , { 0xAA ,2 }
00154 , { 0xDA ,2 }
00155 , { 0xDC ,4 }
00156 , { 0xAC ,4 }
00157 , { 0xD3 ,8 }
00158 , { 0xA3 ,8 }
00159 };
00160 #  endif // (!defined _nfc_drv_c_)
00161 
00162 
00163 #else    // (NF_AUTO_DETECT_2KB==TRUE)
00164 
00165 //**********  LIST USED FOR SINGLE 2KB DRIVER ************
00166 #  undef  NF_DEV_CONF   // In case of define by other listing (e.g. 512B)
00167 
00168 #if    (defined NF_TYPE_HY27SF081G2M)
00169 #  define NF_DEV_MAKER  M_ID_HYNIX
00170 #  define NF_DEV_ID     0xA1
00171 #  define NF_DEV_CONF   CONF_2KB_F1_3
00172                         
00173 #elif  (defined NF_TYPE_HY27UF081G2M)
00174 #  define NF_DEV_MAKER  M_ID_HYNIX
00175 #  define NF_DEV_ID     0xF1
00176 #  define NF_DEV_CONF   CONF_2KB_F1_4
00177                         
00178 #elif  (defined NF_TYPE_HY27SG082G2M)
00179 #  define NF_DEV_MAKER  M_ID_HYNIX
00180 #  define NF_DEV_ID     0xAA
00181 #  define NF_DEV_CONF   CONF_2KB_F1_3
00182                         
00183 #elif  (defined NF_TYPE_HY27UG082G2M)
00184 #  define NF_DEV_MAKER  M_ID_HYNIX
00185 #  define NF_DEV_ID     0xDA
00186 #  define NF_DEV_CONF   CONF_2KB_F1_3
00187                         
00188 #elif  (defined NF_TYPE_HY27UG084GDM)
00189 #  define NF_DEV_MAKER  M_ID_HYNIX
00190 #  define NF_DEV_ID     0xDA
00191 #  define NF_DEV_CONF   CONF_2KB_F1_2
00192                         
00193 #elif  (defined NF_TYPE_HY27UF084G2M)
00194 #  define NF_DEV_MAKER  M_ID_HYNIX
00195 #  define NF_DEV_ID     0xDC
00196 #  define NF_DEV_CONF   CONF_2KB_F2_1
00197                         
00198 #elif  (defined NF_TYPE_HY27UG084G2M) || (defined NF_TYPE_HY27UH088GDM)
00199 #  define NF_DEV_MAKER  M_ID_HYNIX
00200 #  define NF_DEV_ID     0xDC
00201 #  define NF_DEV_CONF   CONF_2KB_F1_2
00202                         
00203 #elif  (defined NF_TYPE_HY27UH08AG5M) || (defined NF_TYPE_HY27UH08AGDM)
00204 #  define NF_DEV_MAKER  M_ID_HYNIX
00205 #  define NF_DEV_ID     0xD3
00206 #  define NF_DEV_CONF   CONF_2KB_F2_4
00207                         
00208 #elif  (defined NF_TYPE_HY27UH088G2M)
00209 #  define NF_DEV_MAKER  M_ID_HYNIX
00210 #  define NF_DEV_ID     0xD3
00211 #  define NF_DEV_CONF   CONF_2KB_F1_2
00212                         
00213 #elif  (defined NF_TYPE_MT29F1G08ABAWP)
00214 #  define NF_DEV_MAKER  M_ID_MICRON
00215 #  define NF_DEV_ID     0xA1
00216 #  define NF_DEV_CONF   CONF_2KB_F1_2
00217                         
00218 #elif  (defined NF_TYPE_MT29F2G08AABWP) || (defined NF_TYPE_MT29F2G08AACWG) || (defined NF_TYPE_MT29F2G08AACWP)
00219 #  define NF_DEV_MAKER  M_ID_MICRON
00220 #  define NF_DEV_ID     0xDA
00221 #  define NF_DEV_CONF   CONF_2KB_F1_1
00222                         
00223 #elif  (defined NF_TYPE_MT29F2G08ABCWG) || (defined NF_TYPE_MT29F2G08ABCWP)
00224 #  define NF_DEV_MAKER  M_ID_MICRON
00225 #  define NF_DEV_ID     0xAA
00226 #  define NF_DEV_CONF   CONF_2KB_F1_2
00227                         
00228 #elif  (defined NF_TYPE_MT29F4G08AAAWP) || (defined NF_TYPE_MT29F8G08DAAWP) || (defined NF_TYPE_MT29F8G08DAAWC)
00229 #  define NF_DEV_MAKER  M_ID_MICRON
00230 #  define NF_DEV_ID     0xDC
00231 #  define NF_DEV_CONF   CONF_2KB_F3_1
00232                         
00233 #elif  (defined NF_TYPE_MT29F4G08BABWP) || (defined NF_TYPE_MT29F8G08FABWP)
00234 #  define NF_DEV_MAKER  M_ID_MICRON
00235 #  define NF_DEV_ID     0xDC
00236 #  define NF_DEV_CONF   CONF_2KB_F2_1
00237                         
00238 #elif  (defined NF_TYPE_MT29F4G08BBCWG)
00239 #  define NF_DEV_MAKER  M_ID_MICRON
00240 #  define NF_DEV_ID     0xAC
00241 #  define NF_DEV_CONF   CONF_2KB_F2_2
00242                         
00243 #elif  (defined NF_TYPE_MT29F4G08BACWG) || (defined NF_TYPE_MT29F8G08FACWG)
00244 #  define NF_DEV_MAKER  M_ID_MICRON
00245 #  define NF_DEV_ID     0xDC
00246 #  define NF_DEV_CONF   CONF_2KB_F1_1
00247                         
00248 #elif  (defined NF_TYPE_MT29F8G08BAAWP) || (defined NF_TYPE_MT29F16G08FAAWP) || (defined NF_TYPE_MT29F16G08FAAWC)
00249 #  define NF_DEV_MAKER  M_ID_MICRON
00250 #  define NF_DEV_ID     0xD3
00251 #  define NF_DEV_CONF   CONF_2KB_F3_1
00252                         
00253 #elif  (defined NF_TYPE_K9F1G08R0A) || (defined NF_TYPE_K9F1G08Q0A) || (defined NF_TYPE_K9F1G08R0B)
00254 #  define NF_DEV_MAKER  M_ID_SAMSUNG
00255 #  define NF_DEV_ID     0xA1
00256 #  define NF_DEV_CONF   CONF_2KB_F4_0
00257                         
00258 #elif  (defined NF_TYPE_K9F1G08U0A)
00259 #  define NF_DEV_MAKER  M_ID_SAMSUNG
00260 #  define NF_DEV_ID     0xF1
00261 #  define NF_DEV_CONF   CONF_2KB_F1_1
00262 
00263 #elif  (defined NF_TYPE_K9F1G08D0M) || (defined NF_TYPE_K9F1G08U0M)
00264 #  define NF_DEV_MAKER  M_ID_SAMSUNG
00265 #  define NF_DEV_ID     0xF1
00266 #  define NF_DEV_CONF   CONF_2KB_F1_2
00267 
00268 #elif  (defined NF_TYPE_K9F1G08Q0M)
00269 #  define NF_DEV_MAKER  M_ID_SAMSUNG
00270 #  define NF_DEV_ID     0xA1
00271 #  define NF_DEV_CONF   CONF_2KB_F1_5
00272                         
00273 #elif  (defined NF_TYPE_K9F1G08U0B)
00274 #  define NF_DEV_MAKER  M_ID_SAMSUNG
00275 #  define NF_DEV_ID     0xF1
00276 #  define NF_DEV_CONF   CONF_2KB_F1_6
00277                         
00278 #elif  (defined NF_TYPE_K9F2G08R0A) || (defined NF_TYPE_K9F2G08U0A)
00279 #  define NF_DEV_MAKER  M_ID_SAMSUNG
00280 #  define NF_DEV_ID     0xDA
00281 #  define NF_DEV_CONF   CONF_2KB_F3_3
00282                         
00283 #elif  (defined NF_TYPE_K9K2G08Q0M)
00284 #  define NF_DEV_MAKER  M_ID_SAMSUNG
00285 #  define NF_DEV_ID     0xAA
00286 #  define NF_DEV_CONF   CONF_2KB_F2_2
00287                         
00288 #elif  (defined NF_TYPE_K9K2G08U0M) || (defined NF_TYPE_K9W4G08U1M)
00289 #  define NF_DEV_MAKER  M_ID_SAMSUNG
00290 #  define NF_DEV_ID     0xDA
00291 #  define NF_DEV_CONF   CONF_2KB_F2_2
00292                         
00293 #elif  (defined NF_TYPE_K9K2G08R0B)
00294 #  define NF_DEV_MAKER  M_ID_SAMSUNG
00295 #  define NF_DEV_ID     0xAA
00296 #  define NF_DEV_CONF   CONF_2KB_F4_0
00297                         
00298 #elif  (defined NF_TYPE_K9F2G08Q0M)
00299 #  define NF_DEV_MAKER  M_ID_SAMSUNG
00300 #  define NF_DEV_ID     0xAA
00301 #  define NF_DEV_CONF   CONF_2KB_F1_1
00302                         
00303 #elif  (defined NF_TYPE_K9F2G08U0M)
00304 #  define NF_DEV_MAKER  M_ID_SAMSUNG
00305 #  define NF_DEV_ID     0xDA
00306 #  define NF_DEV_CONF   CONF_2KB_F1_2
00307                         
00308 #elif  (defined NF_TYPE_K9F4G08U0A) || (defined NF_TYPE_K9F4G08U0M) || (defined NF_TYPE_K9K8G08U1A)
00309 #  define NF_DEV_MAKER  M_ID_SAMSUNG
00310 #  define NF_DEV_ID     0xDC
00311 #  define NF_DEV_CONF   CONF_2KB_F3_2
00312                         
00313 #elif  (defined NF_TYPE_K9K4G08Q0M)
00314 #  define NF_DEV_MAKER  M_ID_SAMSUNG
00315 #  define NF_DEV_ID     0xAC
00316 #  define NF_DEV_CONF   CONF_2KB_F2_2
00317                         
00318 #elif  (defined NF_TYPE_K9K4G08U0M) || (defined NF_TYPE_K9W8G08U1M)
00319 #  define NF_DEV_MAKER  M_ID_SAMSUNG
00320 #  define NF_DEV_ID     0xDC
00321 #  define NF_DEV_CONF   CONF_2KB_F2_2
00322                         
00323 #elif  (defined NF_TYPE_K9K8G08U0A) || (defined NF_TYPE_K9K8G08U0M) || (defined NF_TYPE_K9WAG08U1A) || (defined NF_TYPE_K9NBG08U5A)
00324 #  define NF_DEV_MAKER  M_ID_SAMSUNG
00325 #  define NF_DEV_ID     0xD3
00326 #  define NF_DEV_CONF   CONF_2KB_F3_4
00327                         
00328 #elif  (defined NF_TYPE_NAND01GR3B2)
00329 #  define NF_DEV_MAKER  M_ID_ST
00330 #  define NF_DEV_ID     0xA1
00331 #  define NF_DEV_CONF   CONF_2KB_F1_8
00332                         
00333 #elif  (defined NF_TYPE_NAND01GW3B2)
00334 #  define NF_DEV_MAKER  M_ID_ST
00335 #  define NF_DEV_ID     0xF1
00336 #  define NF_DEV_CONF   CONF_2KB_F1_8
00337                         
00338 #elif  (defined NF_TYPE_NAND02GR3B2_two_die)
00339 #  define NF_DEV_MAKER  M_ID_ST
00340 #  define NF_DEV_ID     0xAA
00341 #  define NF_DEV_CONF   CONF_2KB_F2_2
00342                         
00343 #elif  (defined NF_TYPE_NAND02GW3B2_two_die)
00344 #  define NF_DEV_MAKER  M_ID_ST
00345 #  define NF_DEV_ID     0xDA
00346 #  define NF_DEV_CONF   CONF_2KB_F2_3
00347                         
00348 #elif  (defined NF_TYPE_NAND02GW3B2_one_die)
00349 #  define NF_DEV_MAKER  M_ID_ST
00350 #  define NF_DEV_ID     0xDA
00351 #  define NF_DEV_CONF   CONF_2KB_F1_2
00352                         
00353 #elif  (defined NF_TYPE_NAND02GR3B2_one_die)
00354 #  define NF_DEV_MAKER  M_ID_ST
00355 #  define NF_DEV_ID     0xAA
00356 #  define NF_DEV_CONF   CONF_2KB_F1_2
00357                         
00358 #elif  (defined NF_TYPE_NAND04GW3B2)
00359 #  define NF_DEV_MAKER  M_ID_ST
00360 #  define NF_DEV_ID     0xDC
00361 #  define NF_DEV_CONF   CONF_2KB_F2_1
00362                         
00363 #elif  (defined NF_TYPE_NAND04GR3B2)
00364 #  define NF_DEV_MAKER  M_ID_ST
00365 #  define NF_DEV_ID     0xAC
00366 #  define NF_DEV_CONF   CONF_2KB_F2_2
00367                         
00368 #elif  (defined NF_TYPE_NAND08GR3B2)
00369 #  define NF_DEV_MAKER  M_ID_ST
00370 #  define NF_DEV_ID     0xA3
00371 #  define NF_DEV_CONF   CONF_2KB_F2_5
00372                         
00373 #elif  (defined NF_TYPE_NAND08GW3B2)
00374 #  define NF_DEV_MAKER  M_ID_ST
00375 #  define NF_DEV_ID     0xD3
00376 #  define NF_DEV_CONF   CONF_2KB_F2_4
00377                         
00378 #elif  (defined NF_TYPE_TC58NVG0S3AFT05)
00379 #  define NF_DEV_MAKER  M_ID_TOSHIBA96
00380 #  define NF_DEV_ID     0xF1
00381 #  define NF_DEV_CONF   CONF_2KB_F4_1
00382 
00383 #elif  (defined NF_TYPE_TC58NVG0S3BFTI0)
00384 #  define NF_DEV_MAKER  M_ID_TOSHIBA
00385 #  define NF_DEV_ID     0xF1
00386 #  define NF_DEV_CONF   CONF_2KB_F4_1
00387                         
00388 #elif  (defined NF_TYPE_TH58NVG1S3AFT05)
00389 #  define NF_DEV_MAKER  M_ID_TOSHIBA
00390 #  define NF_DEV_ID     0xDA
00391 #  define NF_DEV_CONF   CONF_2KB_F4_1
00392 
00393 #endif
00394 
00395 
00396 #if (defined NF_DEV_CONF)
00397 
00398 #  undef  NF_TYPE_2KB_KNOWN
00399 #  define NF_TYPE_2KB_KNOWN  TRUE     // A static mode define
00400 
00401    // Determination of number of block
00402 #  if   (NF_DEV_ID == 0xA1)
00403 #     define   NF_N_ZONES       1
00404 #  elif (NF_DEV_ID == 0xF1)
00405 #     define   NF_N_ZONES       1
00406 #  elif (NF_DEV_ID == 0xAA)
00407 #     define   NF_N_ZONES       2
00408 #  elif (NF_DEV_ID == 0xDA)
00409 #     define   NF_N_ZONES       2
00410 #  elif (NF_DEV_ID == 0xDC)
00411 #     define   NF_N_ZONES       4
00412 #  elif (NF_DEV_ID == 0xAC)     
00413 #     define   NF_N_ZONES       4
00414 #  elif (NF_DEV_ID == 0xD3)
00415 #     define   NF_N_ZONES       8
00416 #  elif (NF_DEV_ID == 0xA3)
00417 #     define   NF_N_ZONES       8
00418 #  else
00419 #     error    BAD DEVICE ID of reference in nf_2KB.h
00420 #  endif
00421 
00422 #  define   NF_N_BLOCKS          (NF_N_ZONES*1024L)
00423 
00424    // Determination of number of row cycles
00425 #  if   (NF_N_ZONES == 1)
00426 #     define   NF_N_ROW_CYCLES   2
00427 #  else
00428 #     define   NF_N_ROW_CYCLES   3
00429 #  endif
00430 
00431    // Select configuration
00432 /*
00433 #  define NF_COPYBACK_CONT       // 0 = copy back not supported, N = number of    CONTINUE subdivision contraint on copyback
00434 #  define NF_COPYBACK_DISCONT    // 0 = copy back not supported, N = number of DISCONTINUE subdivision contraint on copyback
00435 #  define NF_CACHE_PROGRAM       // 1 = cache program supported, 0 = not supported
00436 #  define NF_CE_TOGGLE           // 1 = CE toggle supported, 0 = not supported - CE must be always LOW
00437 #  define NF_TIMING_READ         // mode 1: 1 cycle high, 1 cycle low for read cycle
00438                                  // mode 0: 1.5 cycle high, 0.5 cycle low for read cycle
00439 #  define CLK_DFC_NFC            // Freq max supported,  CLK_DFC_NFC_xxMHz
00440 */
00441 #  if    (NF_DEV_CONF == CONF_2KB_F1_1)
00442 #     define NF_COPYBACK_CONT    1
00443 #     define NF_COPYBACK_DISCONT 1
00444 #     define NF_CACHE_PROGRAM    1
00445 #     define NF_CE_TOGGLE        1
00446 #     define NF_TIMING_READ      1
00447 #     define CLK_DFC_NFC         CLK_DFC_NFC_60MHz
00448 #  elif  (NF_DEV_CONF == CONF_2KB_F1_2)
00449 #     define NF_COPYBACK_CONT    1
00450 #     define NF_COPYBACK_DISCONT 1
00451 #     define NF_CACHE_PROGRAM    1
00452 #     define NF_CE_TOGGLE        1
00453 #     define NF_TIMING_READ      1
00454 #     define CLK_DFC_NFC         CLK_DFC_NFC_30MHz
00455 #  elif  (NF_DEV_CONF == CONF_2KB_F1_3)
00456 #     define NF_COPYBACK_CONT    1
00457 #     define NF_COPYBACK_DISCONT 1
00458 #     define NF_CACHE_PROGRAM    1
00459 #     define NF_CE_TOGGLE        1
00460 #     define NF_TIMING_READ      1
00461 #     define CLK_DFC_NFC         CLK_DFC_NFC_24MHz
00462 #  elif  (NF_DEV_CONF == CONF_2KB_F1_4)
00463 #     define NF_COPYBACK_CONT    1
00464 #     define NF_COPYBACK_DISCONT 1
00465 #     define NF_CACHE_PROGRAM    1
00466 #     define NF_CE_TOGGLE        0
00467 #     define NF_TIMING_READ      1
00468 #     define CLK_DFC_NFC         CLK_DFC_NFC_24MHz
00469 #  elif  (NF_DEV_CONF == CONF_2KB_F1_5)
00470 #     define NF_COPYBACK_CONT    1
00471 #     define NF_COPYBACK_DISCONT 1
00472 #     define NF_CACHE_PROGRAM    1
00473 #     define NF_CE_TOGGLE        1
00474 #     define NF_TIMING_READ      0
00475 #     define CLK_DFC_NFC         CLK_DFC_NFC_16MHz
00476 #  elif  (NF_DEV_CONF == CONF_2KB_F1_6)
00477 #     define NF_COPYBACK_CONT    1
00478 #     define NF_COPYBACK_DISCONT 1
00479 #     define NF_CACHE_PROGRAM    0
00480 #     define NF_CE_TOGGLE        1
00481 #     define NF_TIMING_READ      1
00482 #     define CLK_DFC_NFC         CLK_DFC_NFC_60MHz
00483 #  elif  (NF_DEV_CONF == CONF_2KB_F1_8)
00484 #     define NF_COPYBACK_CONT    1
00485 #     define NF_COPYBACK_DISCONT 1
00486 #     define NF_CACHE_PROGRAM    1
00487 #     define NF_CE_TOGGLE        0
00488 #     define NF_TIMING_READ      1
00489 #     define CLK_DFC_NFC         CLK_DFC_NFC_16MHz
00490 #  elif  (NF_DEV_CONF == CONF_2KB_F3_1)
00491 #     define NF_COPYBACK_CONT    1
00492 #     define NF_COPYBACK_DISCONT 2
00493 #     define NF_CACHE_PROGRAM    1
00494 #     define NF_CE_TOGGLE        1
00495 #     define NF_TIMING_READ      1
00496 #     define CLK_DFC_NFC         CLK_DFC_NFC_30MHz
00497 #  elif  (NF_DEV_CONF == CONF_2KB_F3_2)
00498 #     define NF_COPYBACK_CONT    1
00499 #     define NF_COPYBACK_DISCONT 2
00500 #     define NF_CACHE_PROGRAM    0
00501 #     define NF_CE_TOGGLE        1
00502 #     define NF_TIMING_READ      1
00503 #     define CLK_DFC_NFC         CLK_DFC_NFC_60MHz
00504 #  elif  (NF_DEV_CONF == CONF_2KB_F3_3)
00505 #     define NF_COPYBACK_CONT    1
00506 #     define NF_COPYBACK_DISCONT 2
00507 #     define NF_CACHE_PROGRAM    0
00508 #     define NF_CE_TOGGLE        1
00509 #     define NF_TIMING_READ      1
00510 #     define CLK_DFC_NFC         CLK_DFC_NFC_40MHz
00511 #  elif  (NF_DEV_CONF == CONF_2KB_F2_1)
00512 #     define NF_COPYBACK_CONT    2
00513 #     define NF_COPYBACK_DISCONT 1
00514 #     define NF_CACHE_PROGRAM    1
00515 #     define NF_CE_TOGGLE        1
00516 #     define NF_TIMING_READ      1
00517 #     define CLK_DFC_NFC         CLK_DFC_NFC_60MHz
00518 #  elif  (NF_DEV_CONF == CONF_2KB_F2_2)
00519 #     define NF_COPYBACK_CONT    2
00520 #     define NF_COPYBACK_DISCONT 1
00521 #     define NF_CACHE_PROGRAM    1
00522 #     define NF_CE_TOGGLE        1
00523 #     define NF_TIMING_READ      1
00524 #     define CLK_DFC_NFC         CLK_DFC_NFC_30MHz
00525 #  elif  (NF_DEV_CONF == CONF_2KB_F2_3)
00526 #     define NF_COPYBACK_CONT    2
00527 #     define NF_COPYBACK_DISCONT 1
00528 #     define NF_CACHE_PROGRAM    1
00529 #     define NF_CE_TOGGLE        1
00530 #     define NF_TIMING_READ      0
00531 #     define CLK_DFC_NFC         CLK_DFC_NFC_24MHz
00532 #  elif  (NF_DEV_CONF == CONF_2KB_F3_4)
00533 #     define NF_COPYBACK_CONT    2
00534 #     define NF_COPYBACK_DISCONT 2
00535 #     define NF_CACHE_PROGRAM    0
00536 #     define NF_CE_TOGGLE        1
00537 #     define NF_TIMING_READ      1
00538 #     define CLK_DFC_NFC         CLK_DFC_NFC_60MHz
00539 #  elif  (NF_DEV_CONF == CONF_2KB_F2_4)
00540 #     define NF_COPYBACK_CONT    4
00541 #     define NF_COPYBACK_DISCONT 1
00542 #     define NF_CACHE_PROGRAM    1
00543 #     define NF_CE_TOGGLE        1
00544 #     define NF_TIMING_READ      1
00545 #     define CLK_DFC_NFC         CLK_DFC_NFC_60MHz
00546 #  elif  (NF_DEV_CONF == CONF_2KB_F2_5)
00547 #     define NF_COPYBACK_CONT    4
00548 #     define NF_COPYBACK_DISCONT 1
00549 #     define NF_CACHE_PROGRAM    1
00550 #     define NF_CE_TOGGLE        1
00551 #     define NF_TIMING_READ      1
00552 #     define CLK_DFC_NFC         CLK_DFC_NFC_30MHz
00553 #  elif  (NF_DEV_CONF == CONF_2KB_F4_0)
00554 #     define NF_COPYBACK_CONT    0
00555 #     define NF_COPYBACK_DISCONT 0
00556 #     define NF_CACHE_PROGRAM    0
00557 #     define NF_CE_TOGGLE        1
00558 #     define NF_TIMING_READ      1
00559 #     define CLK_DFC_NFC         CLK_DFC_NFC_30MHz
00560 #  elif  (NF_DEV_CONF == CONF_2KB_F4_1)
00561 #     define NF_COPYBACK_CONT    0
00562 #     define NF_COPYBACK_DISCONT 0
00563 #     define NF_CACHE_PROGRAM    0
00564 #     define NF_CE_TOGGLE        0
00565 #     define NF_TIMING_READ      0
00566 #     define CLK_DFC_NFC         CLK_DFC_NFC_30MHz
00567 #  endif   // (defined CONF_2KB_X)
00568 
00569 #endif   // (defined NF_DEV_CONF) = static mode
00570 
00571 #endif   // (NF_AUTO_DETECT_2KB==TRUE)
00572 
00573 
00574 #if ((NF_AUTO_DETECT_2KB == TRUE) || (NF_TYPE_2KB_KNOWN == TRUE))
00575 //**** HERE A 2KB driver with 64pages by block is used in generic or single mode ****
00576 #  define NF_SHIFT_PAGE_BYTE          11  // (1<<n) size of page  (2KB), unit in bytes
00577 #  define NF_SHIFT_BLOCK_PAGE          6  // (1<<n) size of block (64p), unit in pages
00578 #endif
00579 
00580 #endif   // _NF_2KB_H_

Generated on Fri Oct 31 14:31:24 2008 for ATMEL by  doxygen 1.5.3