30 #ifndef _SAM3XA_SMC_COMPONENT_ 31 #define _SAM3XA_SMC_COMPONENT_ 39 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 49 #define SMCCS_NUMBER_NUMBER 8 89 #define SMC_CFG_PAGESIZE_Pos 0 90 #define SMC_CFG_PAGESIZE_Msk (0x3u << SMC_CFG_PAGESIZE_Pos) 91 #define SMC_CFG_PAGESIZE_PS512_16 (0x0u << 0) 92 #define SMC_CFG_PAGESIZE_PS1024_32 (0x1u << 0) 93 #define SMC_CFG_PAGESIZE_PS2048_64 (0x2u << 0) 94 #define SMC_CFG_PAGESIZE_PS4096_128 (0x3u << 0) 95 #define SMC_CFG_WSPARE (0x1u << 8) 96 #define SMC_CFG_RSPARE (0x1u << 9) 97 #define SMC_CFG_EDGECTRL (0x1u << 12) 98 #define SMC_CFG_RBEDGE (0x1u << 13) 99 #define SMC_CFG_DTOCYC_Pos 16 100 #define SMC_CFG_DTOCYC_Msk (0xfu << SMC_CFG_DTOCYC_Pos) 101 #define SMC_CFG_DTOCYC(value) ((SMC_CFG_DTOCYC_Msk & ((value) << SMC_CFG_DTOCYC_Pos))) 102 #define SMC_CFG_DTOMUL_Pos 20 103 #define SMC_CFG_DTOMUL_Msk (0x7u << SMC_CFG_DTOMUL_Pos) 104 #define SMC_CFG_DTOMUL_X1 (0x0u << 20) 105 #define SMC_CFG_DTOMUL_X16 (0x1u << 20) 106 #define SMC_CFG_DTOMUL_X128 (0x2u << 20) 107 #define SMC_CFG_DTOMUL_X256 (0x3u << 20) 108 #define SMC_CFG_DTOMUL_X1024 (0x4u << 20) 109 #define SMC_CFG_DTOMUL_X4096 (0x5u << 20) 110 #define SMC_CFG_DTOMUL_X65536 (0x6u << 20) 111 #define SMC_CFG_DTOMUL_X1048576 (0x7u << 20) 113 #define SMC_CTRL_NFCEN (0x1u << 0) 114 #define SMC_CTRL_NFCDIS (0x1u << 1) 116 #define SMC_SR_SMCSTS (0x1u << 0) 117 #define SMC_SR_RB_RISE (0x1u << 4) 118 #define SMC_SR_RB_FALL (0x1u << 5) 119 #define SMC_SR_NFCBUSY (0x1u << 8) 120 #define SMC_SR_NFCWR (0x1u << 11) 121 #define SMC_SR_NFCSID_Pos 12 122 #define SMC_SR_NFCSID_Msk (0x7u << SMC_SR_NFCSID_Pos) 123 #define SMC_SR_XFRDONE (0x1u << 16) 124 #define SMC_SR_CMDDONE (0x1u << 17) 125 #define SMC_SR_DTOE (0x1u << 20) 126 #define SMC_SR_UNDEF (0x1u << 21) 127 #define SMC_SR_AWB (0x1u << 22) 128 #define SMC_SR_NFCASE (0x1u << 23) 129 #define SMC_SR_RB_EDGE0 (0x1u << 24) 131 #define SMC_IER_RB_RISE (0x1u << 4) 132 #define SMC_IER_RB_FALL (0x1u << 5) 133 #define SMC_IER_XFRDONE (0x1u << 16) 134 #define SMC_IER_CMDDONE (0x1u << 17) 135 #define SMC_IER_DTOE (0x1u << 20) 136 #define SMC_IER_UNDEF (0x1u << 21) 137 #define SMC_IER_AWB (0x1u << 22) 138 #define SMC_IER_NFCASE (0x1u << 23) 139 #define SMC_IER_RB_EDGE0 (0x1u << 24) 141 #define SMC_IDR_RB_RISE (0x1u << 4) 142 #define SMC_IDR_RB_FALL (0x1u << 5) 143 #define SMC_IDR_XFRDONE (0x1u << 16) 144 #define SMC_IDR_CMDDONE (0x1u << 17) 145 #define SMC_IDR_DTOE (0x1u << 20) 146 #define SMC_IDR_UNDEF (0x1u << 21) 147 #define SMC_IDR_AWB (0x1u << 22) 148 #define SMC_IDR_NFCASE (0x1u << 23) 149 #define SMC_IDR_RB_EDGE0 (0x1u << 24) 151 #define SMC_IMR_RB_RISE (0x1u << 4) 152 #define SMC_IMR_RB_FALL (0x1u << 5) 153 #define SMC_IMR_XFRDONE (0x1u << 16) 154 #define SMC_IMR_CMDDONE (0x1u << 17) 155 #define SMC_IMR_DTOE (0x1u << 20) 156 #define SMC_IMR_UNDEF (0x1u << 21) 157 #define SMC_IMR_AWB (0x1u << 22) 158 #define SMC_IMR_NFCASE (0x1u << 23) 159 #define SMC_IMR_RB_EDGE0 (0x1u << 24) 161 #define SMC_ADDR_ADDR_CYCLE0_Pos 0 162 #define SMC_ADDR_ADDR_CYCLE0_Msk (0xffu << SMC_ADDR_ADDR_CYCLE0_Pos) 163 #define SMC_ADDR_ADDR_CYCLE0(value) ((SMC_ADDR_ADDR_CYCLE0_Msk & ((value) << SMC_ADDR_ADDR_CYCLE0_Pos))) 165 #define SMC_BANK_BANK_Pos 0 166 #define SMC_BANK_BANK_Msk (0x7u << SMC_BANK_BANK_Pos) 167 #define SMC_BANK_BANK(value) ((SMC_BANK_BANK_Msk & ((value) << SMC_BANK_BANK_Pos))) 169 #define SMC_ECC_CTRL_RST (0x1u << 0) 170 #define SMC_ECC_CTRL_SWRST (0x1u << 1) 172 #define SMC_ECC_MD_ECC_PAGESIZE_Pos 0 173 #define SMC_ECC_MD_ECC_PAGESIZE_Msk (0x3u << SMC_ECC_MD_ECC_PAGESIZE_Pos) 174 #define SMC_ECC_MD_ECC_PAGESIZE_PS512_16 (0x0u << 0) 175 #define SMC_ECC_MD_ECC_PAGESIZE_PS1024_32 (0x1u << 0) 176 #define SMC_ECC_MD_ECC_PAGESIZE_PS2048_64 (0x2u << 0) 177 #define SMC_ECC_MD_ECC_PAGESIZE_PS4096_128 (0x3u << 0) 178 #define SMC_ECC_MD_TYPCORREC_Pos 4 179 #define SMC_ECC_MD_TYPCORREC_Msk (0x3u << SMC_ECC_MD_TYPCORREC_Pos) 180 #define SMC_ECC_MD_TYPCORREC_CPAGE (0x0u << 4) 181 #define SMC_ECC_MD_TYPCORREC_C256B (0x1u << 4) 182 #define SMC_ECC_MD_TYPCORREC_C512B (0x2u << 4) 184 #define SMC_ECC_SR1_RECERR0 (0x1u << 0) 185 #define SMC_ECC_SR1_ECCERR0_Pos 1 186 #define SMC_ECC_SR1_ECCERR0_Msk (0x3u << SMC_ECC_SR1_ECCERR0_Pos) 187 #define SMC_ECC_SR1_RECERR1 (0x1u << 4) 188 #define SMC_ECC_SR1_ECCERR1 (0x1u << 5) 189 #define SMC_ECC_SR1_MULERR1 (0x1u << 6) 190 #define SMC_ECC_SR1_RECERR2 (0x1u << 8) 191 #define SMC_ECC_SR1_ECCERR2 (0x1u << 9) 192 #define SMC_ECC_SR1_MULERR2 (0x1u << 10) 193 #define SMC_ECC_SR1_RECERR3 (0x1u << 12) 194 #define SMC_ECC_SR1_ECCERR3 (0x1u << 13) 195 #define SMC_ECC_SR1_MULERR3 (0x1u << 14) 196 #define SMC_ECC_SR1_RECERR4 (0x1u << 16) 197 #define SMC_ECC_SR1_ECCERR4_Pos 17 198 #define SMC_ECC_SR1_ECCERR4_Msk (0x3u << SMC_ECC_SR1_ECCERR4_Pos) 199 #define SMC_ECC_SR1_RECERR5 (0x1u << 20) 200 #define SMC_ECC_SR1_ECCERR5_Pos 21 201 #define SMC_ECC_SR1_ECCERR5_Msk (0x3u << SMC_ECC_SR1_ECCERR5_Pos) 202 #define SMC_ECC_SR1_RECERR6 (0x1u << 24) 203 #define SMC_ECC_SR1_ECCERR6_Pos 25 204 #define SMC_ECC_SR1_ECCERR6_Msk (0x3u << SMC_ECC_SR1_ECCERR6_Pos) 205 #define SMC_ECC_SR1_RECERR7 (0x1u << 28) 206 #define SMC_ECC_SR1_ECCERR7_Pos 29 207 #define SMC_ECC_SR1_ECCERR7_Msk (0x3u << SMC_ECC_SR1_ECCERR7_Pos) 209 #define SMC_ECC_PR0_BITADDR_Pos 0 210 #define SMC_ECC_PR0_BITADDR_Msk (0xfu << SMC_ECC_PR0_BITADDR_Pos) 211 #define SMC_ECC_PR0_WORDADDR_Pos 4 212 #define SMC_ECC_PR0_WORDADDR_Msk (0xfffu << SMC_ECC_PR0_WORDADDR_Pos) 213 #define SMC_ECC_PR0_BITADDR_W9BIT_Pos 0 214 #define SMC_ECC_PR0_BITADDR_W9BIT_Msk (0x7u << SMC_ECC_PR0_BITADDR_W9BIT_Pos) 215 #define SMC_ECC_PR0_WORDADDR_W9BIT_Pos 3 216 #define SMC_ECC_PR0_WORDADDR_W9BIT_Msk (0x1ffu << SMC_ECC_PR0_WORDADDR_W9BIT_Pos) 217 #define SMC_ECC_PR0_NPARITY_Pos 12 218 #define SMC_ECC_PR0_NPARITY_Msk (0xfffu << SMC_ECC_PR0_NPARITY_Pos) 219 #define SMC_ECC_PR0_BITADDR_W8BIT_Pos 0 220 #define SMC_ECC_PR0_BITADDR_W8BIT_Msk (0x7u << SMC_ECC_PR0_BITADDR_W8BIT_Pos) 221 #define SMC_ECC_PR0_WORDADDR_W8BIT_Pos 3 222 #define SMC_ECC_PR0_WORDADDR_W8BIT_Msk (0xffu << SMC_ECC_PR0_WORDADDR_W8BIT_Pos) 223 #define SMC_ECC_PR0_NPARITY_W8BIT_Pos 12 224 #define SMC_ECC_PR0_NPARITY_W8BIT_Msk (0x7ffu << SMC_ECC_PR0_NPARITY_W8BIT_Pos) 226 #define SMC_ECC_PR1_NPARITY_Pos 0 227 #define SMC_ECC_PR1_NPARITY_Msk (0xffffu << SMC_ECC_PR1_NPARITY_Pos) 228 #define SMC_ECC_PR1_BITADDR_Pos 0 229 #define SMC_ECC_PR1_BITADDR_Msk (0x7u << SMC_ECC_PR1_BITADDR_Pos) 230 #define SMC_ECC_PR1_WORDADDR_Pos 3 231 #define SMC_ECC_PR1_WORDADDR_Msk (0x1ffu << SMC_ECC_PR1_WORDADDR_Pos) 232 #define SMC_ECC_PR1_NPARITY_W9BIT_Pos 12 233 #define SMC_ECC_PR1_NPARITY_W9BIT_Msk (0xfffu << SMC_ECC_PR1_NPARITY_W9BIT_Pos) 234 #define SMC_ECC_PR1_WORDADDR_W8BIT_Pos 3 235 #define SMC_ECC_PR1_WORDADDR_W8BIT_Msk (0xffu << SMC_ECC_PR1_WORDADDR_W8BIT_Pos) 236 #define SMC_ECC_PR1_NPARITY_W8BIT_Pos 12 237 #define SMC_ECC_PR1_NPARITY_W8BIT_Msk (0x7ffu << SMC_ECC_PR1_NPARITY_W8BIT_Pos) 239 #define SMC_ECC_SR2_RECERR8 (0x1u << 0) 240 #define SMC_ECC_SR2_ECCERR8_Pos 1 241 #define SMC_ECC_SR2_ECCERR8_Msk (0x3u << SMC_ECC_SR2_ECCERR8_Pos) 242 #define SMC_ECC_SR2_RECERR9 (0x1u << 4) 243 #define SMC_ECC_SR2_ECCERR9 (0x1u << 5) 244 #define SMC_ECC_SR2_MULERR9 (0x1u << 6) 245 #define SMC_ECC_SR2_RECERR10 (0x1u << 8) 246 #define SMC_ECC_SR2_ECCERR10 (0x1u << 9) 247 #define SMC_ECC_SR2_MULERR10 (0x1u << 10) 248 #define SMC_ECC_SR2_RECERR11 (0x1u << 12) 249 #define SMC_ECC_SR2_ECCERR11 (0x1u << 13) 250 #define SMC_ECC_SR2_MULERR11 (0x1u << 14) 251 #define SMC_ECC_SR2_RECERR12 (0x1u << 16) 252 #define SMC_ECC_SR2_ECCERR12_Pos 17 253 #define SMC_ECC_SR2_ECCERR12_Msk (0x3u << SMC_ECC_SR2_ECCERR12_Pos) 254 #define SMC_ECC_SR2_RECERR13 (0x1u << 20) 255 #define SMC_ECC_SR2_ECCERR13_Pos 21 256 #define SMC_ECC_SR2_ECCERR13_Msk (0x3u << SMC_ECC_SR2_ECCERR13_Pos) 257 #define SMC_ECC_SR2_RECERR14 (0x1u << 24) 258 #define SMC_ECC_SR2_ECCERR14_Pos 25 259 #define SMC_ECC_SR2_ECCERR14_Msk (0x3u << SMC_ECC_SR2_ECCERR14_Pos) 260 #define SMC_ECC_SR2_RECERR15 (0x1u << 28) 261 #define SMC_ECC_SR2_ECCERR15_Pos 29 262 #define SMC_ECC_SR2_ECCERR15_Msk (0x3u << SMC_ECC_SR2_ECCERR15_Pos) 264 #define SMC_ECC_PR2_BITADDR_Pos 0 265 #define SMC_ECC_PR2_BITADDR_Msk (0x7u << SMC_ECC_PR2_BITADDR_Pos) 266 #define SMC_ECC_PR2_WORDADDR_Pos 3 267 #define SMC_ECC_PR2_WORDADDR_Msk (0x1ffu << SMC_ECC_PR2_WORDADDR_Pos) 268 #define SMC_ECC_PR2_NPARITY_Pos 12 269 #define SMC_ECC_PR2_NPARITY_Msk (0xfffu << SMC_ECC_PR2_NPARITY_Pos) 270 #define SMC_ECC_PR2_WORDADDR_W8BIT_Pos 3 271 #define SMC_ECC_PR2_WORDADDR_W8BIT_Msk (0xffu << SMC_ECC_PR2_WORDADDR_W8BIT_Pos) 272 #define SMC_ECC_PR2_NPARITY_W8BIT_Pos 12 273 #define SMC_ECC_PR2_NPARITY_W8BIT_Msk (0x7ffu << SMC_ECC_PR2_NPARITY_W8BIT_Pos) 275 #define SMC_ECC_PR3_BITADDR_Pos 0 276 #define SMC_ECC_PR3_BITADDR_Msk (0x7u << SMC_ECC_PR3_BITADDR_Pos) 277 #define SMC_ECC_PR3_WORDADDR_Pos 3 278 #define SMC_ECC_PR3_WORDADDR_Msk (0x1ffu << SMC_ECC_PR3_WORDADDR_Pos) 279 #define SMC_ECC_PR3_NPARITY_Pos 12 280 #define SMC_ECC_PR3_NPARITY_Msk (0xfffu << SMC_ECC_PR3_NPARITY_Pos) 281 #define SMC_ECC_PR3_WORDADDR_W8BIT_Pos 3 282 #define SMC_ECC_PR3_WORDADDR_W8BIT_Msk (0xffu << SMC_ECC_PR3_WORDADDR_W8BIT_Pos) 283 #define SMC_ECC_PR3_NPARITY_W8BIT_Pos 12 284 #define SMC_ECC_PR3_NPARITY_W8BIT_Msk (0x7ffu << SMC_ECC_PR3_NPARITY_W8BIT_Pos) 286 #define SMC_ECC_PR4_BITADDR_Pos 0 287 #define SMC_ECC_PR4_BITADDR_Msk (0x7u << SMC_ECC_PR4_BITADDR_Pos) 288 #define SMC_ECC_PR4_WORDADDR_Pos 3 289 #define SMC_ECC_PR4_WORDADDR_Msk (0x1ffu << SMC_ECC_PR4_WORDADDR_Pos) 290 #define SMC_ECC_PR4_NPARITY_Pos 12 291 #define SMC_ECC_PR4_NPARITY_Msk (0xfffu << SMC_ECC_PR4_NPARITY_Pos) 292 #define SMC_ECC_PR4_WORDADDR_W8BIT_Pos 3 293 #define SMC_ECC_PR4_WORDADDR_W8BIT_Msk (0xffu << SMC_ECC_PR4_WORDADDR_W8BIT_Pos) 294 #define SMC_ECC_PR4_NPARITY_W8BIT_Pos 12 295 #define SMC_ECC_PR4_NPARITY_W8BIT_Msk (0x7ffu << SMC_ECC_PR4_NPARITY_W8BIT_Pos) 297 #define SMC_ECC_PR5_BITADDR_Pos 0 298 #define SMC_ECC_PR5_BITADDR_Msk (0x7u << SMC_ECC_PR5_BITADDR_Pos) 299 #define SMC_ECC_PR5_WORDADDR_Pos 3 300 #define SMC_ECC_PR5_WORDADDR_Msk (0x1ffu << SMC_ECC_PR5_WORDADDR_Pos) 301 #define SMC_ECC_PR5_NPARITY_Pos 12 302 #define SMC_ECC_PR5_NPARITY_Msk (0xfffu << SMC_ECC_PR5_NPARITY_Pos) 303 #define SMC_ECC_PR5_WORDADDR_W8BIT_Pos 3 304 #define SMC_ECC_PR5_WORDADDR_W8BIT_Msk (0xffu << SMC_ECC_PR5_WORDADDR_W8BIT_Pos) 305 #define SMC_ECC_PR5_NPARITY_W8BIT_Pos 12 306 #define SMC_ECC_PR5_NPARITY_W8BIT_Msk (0x7ffu << SMC_ECC_PR5_NPARITY_W8BIT_Pos) 308 #define SMC_ECC_PR6_BITADDR_Pos 0 309 #define SMC_ECC_PR6_BITADDR_Msk (0x7u << SMC_ECC_PR6_BITADDR_Pos) 310 #define SMC_ECC_PR6_WORDADDR_Pos 3 311 #define SMC_ECC_PR6_WORDADDR_Msk (0x1ffu << SMC_ECC_PR6_WORDADDR_Pos) 312 #define SMC_ECC_PR6_NPARITY_Pos 12 313 #define SMC_ECC_PR6_NPARITY_Msk (0xfffu << SMC_ECC_PR6_NPARITY_Pos) 314 #define SMC_ECC_PR6_WORDADDR_W8BIT_Pos 3 315 #define SMC_ECC_PR6_WORDADDR_W8BIT_Msk (0xffu << SMC_ECC_PR6_WORDADDR_W8BIT_Pos) 316 #define SMC_ECC_PR6_NPARITY_W8BIT_Pos 12 317 #define SMC_ECC_PR6_NPARITY_W8BIT_Msk (0x7ffu << SMC_ECC_PR6_NPARITY_W8BIT_Pos) 319 #define SMC_ECC_PR7_BITADDR_Pos 0 320 #define SMC_ECC_PR7_BITADDR_Msk (0x7u << SMC_ECC_PR7_BITADDR_Pos) 321 #define SMC_ECC_PR7_WORDADDR_Pos 3 322 #define SMC_ECC_PR7_WORDADDR_Msk (0x1ffu << SMC_ECC_PR7_WORDADDR_Pos) 323 #define SMC_ECC_PR7_NPARITY_Pos 12 324 #define SMC_ECC_PR7_NPARITY_Msk (0xfffu << SMC_ECC_PR7_NPARITY_Pos) 325 #define SMC_ECC_PR7_WORDADDR_W8BIT_Pos 3 326 #define SMC_ECC_PR7_WORDADDR_W8BIT_Msk (0xffu << SMC_ECC_PR7_WORDADDR_W8BIT_Pos) 327 #define SMC_ECC_PR7_NPARITY_W8BIT_Pos 12 328 #define SMC_ECC_PR7_NPARITY_W8BIT_Msk (0x7ffu << SMC_ECC_PR7_NPARITY_W8BIT_Pos) 330 #define SMC_ECC_PR8_BITADDR_Pos 0 331 #define SMC_ECC_PR8_BITADDR_Msk (0x7u << SMC_ECC_PR8_BITADDR_Pos) 332 #define SMC_ECC_PR8_WORDADDR_Pos 3 333 #define SMC_ECC_PR8_WORDADDR_Msk (0xffu << SMC_ECC_PR8_WORDADDR_Pos) 334 #define SMC_ECC_PR8_NPARITY_Pos 12 335 #define SMC_ECC_PR8_NPARITY_Msk (0x7ffu << SMC_ECC_PR8_NPARITY_Pos) 337 #define SMC_ECC_PR9_BITADDR_Pos 0 338 #define SMC_ECC_PR9_BITADDR_Msk (0x7u << SMC_ECC_PR9_BITADDR_Pos) 339 #define SMC_ECC_PR9_WORDADDR_Pos 3 340 #define SMC_ECC_PR9_WORDADDR_Msk (0xffu << SMC_ECC_PR9_WORDADDR_Pos) 341 #define SMC_ECC_PR9_NPARITY_Pos 12 342 #define SMC_ECC_PR9_NPARITY_Msk (0x7ffu << SMC_ECC_PR9_NPARITY_Pos) 344 #define SMC_ECC_PR10_BITADDR_Pos 0 345 #define SMC_ECC_PR10_BITADDR_Msk (0x7u << SMC_ECC_PR10_BITADDR_Pos) 346 #define SMC_ECC_PR10_WORDADDR_Pos 3 347 #define SMC_ECC_PR10_WORDADDR_Msk (0xffu << SMC_ECC_PR10_WORDADDR_Pos) 348 #define SMC_ECC_PR10_NPARITY_Pos 12 349 #define SMC_ECC_PR10_NPARITY_Msk (0x7ffu << SMC_ECC_PR10_NPARITY_Pos) 351 #define SMC_ECC_PR11_BITADDR_Pos 0 352 #define SMC_ECC_PR11_BITADDR_Msk (0x7u << SMC_ECC_PR11_BITADDR_Pos) 353 #define SMC_ECC_PR11_WORDADDR_Pos 3 354 #define SMC_ECC_PR11_WORDADDR_Msk (0xffu << SMC_ECC_PR11_WORDADDR_Pos) 355 #define SMC_ECC_PR11_NPARITY_Pos 12 356 #define SMC_ECC_PR11_NPARITY_Msk (0x7ffu << SMC_ECC_PR11_NPARITY_Pos) 358 #define SMC_ECC_PR12_BITADDR_Pos 0 359 #define SMC_ECC_PR12_BITADDR_Msk (0x7u << SMC_ECC_PR12_BITADDR_Pos) 360 #define SMC_ECC_PR12_WORDADDR_Pos 3 361 #define SMC_ECC_PR12_WORDADDR_Msk (0xffu << SMC_ECC_PR12_WORDADDR_Pos) 362 #define SMC_ECC_PR12_NPARITY_Pos 12 363 #define SMC_ECC_PR12_NPARITY_Msk (0x7ffu << SMC_ECC_PR12_NPARITY_Pos) 365 #define SMC_ECC_PR13_BITADDR_Pos 0 366 #define SMC_ECC_PR13_BITADDR_Msk (0x7u << SMC_ECC_PR13_BITADDR_Pos) 367 #define SMC_ECC_PR13_WORDADDR_Pos 3 368 #define SMC_ECC_PR13_WORDADDR_Msk (0xffu << SMC_ECC_PR13_WORDADDR_Pos) 369 #define SMC_ECC_PR13_NPARITY_Pos 12 370 #define SMC_ECC_PR13_NPARITY_Msk (0x7ffu << SMC_ECC_PR13_NPARITY_Pos) 372 #define SMC_ECC_PR14_BITADDR_Pos 0 373 #define SMC_ECC_PR14_BITADDR_Msk (0x7u << SMC_ECC_PR14_BITADDR_Pos) 374 #define SMC_ECC_PR14_WORDADDR_Pos 3 375 #define SMC_ECC_PR14_WORDADDR_Msk (0xffu << SMC_ECC_PR14_WORDADDR_Pos) 376 #define SMC_ECC_PR14_NPARITY_Pos 12 377 #define SMC_ECC_PR14_NPARITY_Msk (0x7ffu << SMC_ECC_PR14_NPARITY_Pos) 379 #define SMC_ECC_PR15_BITADDR_Pos 0 380 #define SMC_ECC_PR15_BITADDR_Msk (0x7u << SMC_ECC_PR15_BITADDR_Pos) 381 #define SMC_ECC_PR15_WORDADDR_Pos 3 382 #define SMC_ECC_PR15_WORDADDR_Msk (0xffu << SMC_ECC_PR15_WORDADDR_Pos) 383 #define SMC_ECC_PR15_NPARITY_Pos 12 384 #define SMC_ECC_PR15_NPARITY_Msk (0x7ffu << SMC_ECC_PR15_NPARITY_Pos) 386 #define SMC_SETUP_NWE_SETUP_Pos 0 387 #define SMC_SETUP_NWE_SETUP_Msk (0x3fu << SMC_SETUP_NWE_SETUP_Pos) 388 #define SMC_SETUP_NWE_SETUP(value) ((SMC_SETUP_NWE_SETUP_Msk & ((value) << SMC_SETUP_NWE_SETUP_Pos))) 389 #define SMC_SETUP_NCS_WR_SETUP_Pos 8 390 #define SMC_SETUP_NCS_WR_SETUP_Msk (0x3fu << SMC_SETUP_NCS_WR_SETUP_Pos) 391 #define SMC_SETUP_NCS_WR_SETUP(value) ((SMC_SETUP_NCS_WR_SETUP_Msk & ((value) << SMC_SETUP_NCS_WR_SETUP_Pos))) 392 #define SMC_SETUP_NRD_SETUP_Pos 16 393 #define SMC_SETUP_NRD_SETUP_Msk (0x3fu << SMC_SETUP_NRD_SETUP_Pos) 394 #define SMC_SETUP_NRD_SETUP(value) ((SMC_SETUP_NRD_SETUP_Msk & ((value) << SMC_SETUP_NRD_SETUP_Pos))) 395 #define SMC_SETUP_NCS_RD_SETUP_Pos 24 396 #define SMC_SETUP_NCS_RD_SETUP_Msk (0x3fu << SMC_SETUP_NCS_RD_SETUP_Pos) 397 #define SMC_SETUP_NCS_RD_SETUP(value) ((SMC_SETUP_NCS_RD_SETUP_Msk & ((value) << SMC_SETUP_NCS_RD_SETUP_Pos))) 399 #define SMC_PULSE_NWE_PULSE_Pos 0 400 #define SMC_PULSE_NWE_PULSE_Msk (0x3fu << SMC_PULSE_NWE_PULSE_Pos) 401 #define SMC_PULSE_NWE_PULSE(value) ((SMC_PULSE_NWE_PULSE_Msk & ((value) << SMC_PULSE_NWE_PULSE_Pos))) 402 #define SMC_PULSE_NCS_WR_PULSE_Pos 8 403 #define SMC_PULSE_NCS_WR_PULSE_Msk (0x3fu << SMC_PULSE_NCS_WR_PULSE_Pos) 404 #define SMC_PULSE_NCS_WR_PULSE(value) ((SMC_PULSE_NCS_WR_PULSE_Msk & ((value) << SMC_PULSE_NCS_WR_PULSE_Pos))) 405 #define SMC_PULSE_NRD_PULSE_Pos 16 406 #define SMC_PULSE_NRD_PULSE_Msk (0x3fu << SMC_PULSE_NRD_PULSE_Pos) 407 #define SMC_PULSE_NRD_PULSE(value) ((SMC_PULSE_NRD_PULSE_Msk & ((value) << SMC_PULSE_NRD_PULSE_Pos))) 408 #define SMC_PULSE_NCS_RD_PULSE_Pos 24 409 #define SMC_PULSE_NCS_RD_PULSE_Msk (0x3fu << SMC_PULSE_NCS_RD_PULSE_Pos) 410 #define SMC_PULSE_NCS_RD_PULSE(value) ((SMC_PULSE_NCS_RD_PULSE_Msk & ((value) << SMC_PULSE_NCS_RD_PULSE_Pos))) 412 #define SMC_CYCLE_NWE_CYCLE_Pos 0 413 #define SMC_CYCLE_NWE_CYCLE_Msk (0x1ffu << SMC_CYCLE_NWE_CYCLE_Pos) 414 #define SMC_CYCLE_NWE_CYCLE(value) ((SMC_CYCLE_NWE_CYCLE_Msk & ((value) << SMC_CYCLE_NWE_CYCLE_Pos))) 415 #define SMC_CYCLE_NRD_CYCLE_Pos 16 416 #define SMC_CYCLE_NRD_CYCLE_Msk (0x1ffu << SMC_CYCLE_NRD_CYCLE_Pos) 417 #define SMC_CYCLE_NRD_CYCLE(value) ((SMC_CYCLE_NRD_CYCLE_Msk & ((value) << SMC_CYCLE_NRD_CYCLE_Pos))) 419 #define SMC_TIMINGS_TCLR_Pos 0 420 #define SMC_TIMINGS_TCLR_Msk (0xfu << SMC_TIMINGS_TCLR_Pos) 421 #define SMC_TIMINGS_TCLR(value) ((SMC_TIMINGS_TCLR_Msk & ((value) << SMC_TIMINGS_TCLR_Pos))) 422 #define SMC_TIMINGS_TADL_Pos 4 423 #define SMC_TIMINGS_TADL_Msk (0xfu << SMC_TIMINGS_TADL_Pos) 424 #define SMC_TIMINGS_TADL(value) ((SMC_TIMINGS_TADL_Msk & ((value) << SMC_TIMINGS_TADL_Pos))) 425 #define SMC_TIMINGS_TAR_Pos 8 426 #define SMC_TIMINGS_TAR_Msk (0xfu << SMC_TIMINGS_TAR_Pos) 427 #define SMC_TIMINGS_TAR(value) ((SMC_TIMINGS_TAR_Msk & ((value) << SMC_TIMINGS_TAR_Pos))) 428 #define SMC_TIMINGS_OCMS (0x1u << 12) 429 #define SMC_TIMINGS_TRR_Pos 16 430 #define SMC_TIMINGS_TRR_Msk (0xfu << SMC_TIMINGS_TRR_Pos) 431 #define SMC_TIMINGS_TRR(value) ((SMC_TIMINGS_TRR_Msk & ((value) << SMC_TIMINGS_TRR_Pos))) 432 #define SMC_TIMINGS_TWB_Pos 24 433 #define SMC_TIMINGS_TWB_Msk (0xfu << SMC_TIMINGS_TWB_Pos) 434 #define SMC_TIMINGS_TWB(value) ((SMC_TIMINGS_TWB_Msk & ((value) << SMC_TIMINGS_TWB_Pos))) 435 #define SMC_TIMINGS_RBNSEL_Pos 28 436 #define SMC_TIMINGS_RBNSEL_Msk (0x7u << SMC_TIMINGS_RBNSEL_Pos) 437 #define SMC_TIMINGS_RBNSEL(value) ((SMC_TIMINGS_RBNSEL_Msk & ((value) << SMC_TIMINGS_RBNSEL_Pos))) 438 #define SMC_TIMINGS_NFSEL (0x1u << 31) 440 #define SMC_MODE_READ_MODE (0x1u << 0) 441 #define SMC_MODE_READ_MODE_NCS_CTRL (0x0u << 0) 442 #define SMC_MODE_READ_MODE_NRD_CTRL (0x1u << 0) 443 #define SMC_MODE_WRITE_MODE (0x1u << 1) 444 #define SMC_MODE_WRITE_MODE_NCS_CTRL (0x0u << 1) 445 #define SMC_MODE_WRITE_MODE_NWE_CTRL (0x1u << 1) 446 #define SMC_MODE_EXNW_MODE_Pos 4 447 #define SMC_MODE_EXNW_MODE_Msk (0x3u << SMC_MODE_EXNW_MODE_Pos) 448 #define SMC_MODE_EXNW_MODE_DISABLED (0x0u << 4) 449 #define SMC_MODE_EXNW_MODE_FROZEN (0x2u << 4) 450 #define SMC_MODE_EXNW_MODE_READY (0x3u << 4) 451 #define SMC_MODE_BAT (0x1u << 8) 452 #define SMC_MODE_DBW (0x1u << 12) 453 #define SMC_MODE_DBW_BIT_8 (0x0u << 12) 454 #define SMC_MODE_DBW_BIT_16 (0x1u << 12) 455 #define SMC_MODE_TDF_CYCLES_Pos 16 456 #define SMC_MODE_TDF_CYCLES_Msk (0xfu << SMC_MODE_TDF_CYCLES_Pos) 457 #define SMC_MODE_TDF_CYCLES(value) ((SMC_MODE_TDF_CYCLES_Msk & ((value) << SMC_MODE_TDF_CYCLES_Pos))) 458 #define SMC_MODE_TDF_MODE (0x1u << 20) 460 #define SMC_OCMS_SMSE (0x1u << 0) 461 #define SMC_OCMS_SRSE (0x1u << 1) 463 #define SMC_KEY1_KEY1_Pos 0 464 #define SMC_KEY1_KEY1_Msk (0xffffffffu << SMC_KEY1_KEY1_Pos) 465 #define SMC_KEY1_KEY1(value) ((SMC_KEY1_KEY1_Msk & ((value) << SMC_KEY1_KEY1_Pos))) 467 #define SMC_KEY2_KEY2_Pos 0 468 #define SMC_KEY2_KEY2_Msk (0xffffffffu << SMC_KEY2_KEY2_Pos) 469 #define SMC_KEY2_KEY2(value) ((SMC_KEY2_KEY2_Msk & ((value) << SMC_KEY2_KEY2_Pos))) 471 #define SMC_WPCR_WP_EN (0x1u << 0) 472 #define SMC_WPCR_WP_KEY_Pos 8 473 #define SMC_WPCR_WP_KEY_Msk (0xffffffu << SMC_WPCR_WP_KEY_Pos) 474 #define SMC_WPCR_WP_KEY(value) ((SMC_WPCR_WP_KEY_Msk & ((value) << SMC_WPCR_WP_KEY_Pos))) 476 #define SMC_WPSR_WP_VS_Pos 0 477 #define SMC_WPSR_WP_VS_Msk (0xfu << SMC_WPSR_WP_VS_Pos) 478 #define SMC_WPSR_WP_VSRC_Pos 8 479 #define SMC_WPSR_WP_VSRC_Msk (0xffffu << SMC_WPSR_WP_VSRC_Pos) volatile uint32_t RwReg
Definition: sam3n00a.h:54
Definition: component_smc.h:49
#define SMCCS_NUMBER_NUMBER
Smc hardware registers.
Definition: component_smc.h:49
volatile uint32_t WoReg
Definition: sam3n00a.h:53
volatile const uint32_t RoReg
Definition: sam3n00a.h:49
SmcCs_number hardware registers.
Definition: component_smc.h:41