X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fcpu%2Fcortex-m3%2Fdrv%2Fmt29f_sam3.h;h=3a8a9abe68cd7dbedebe164af8cca92b54f0333d;hb=7a825da467bf9ce79329686b37d373c709c9937d;hp=d15f64f6d7bb83adc395774cb631559af89b5d46;hpb=ecbc38a94d767a547fb44ee30faef2bccc20c775;p=bertos.git diff --git a/bertos/cpu/cortex-m3/drv/mt29f_sam3.h b/bertos/cpu/cortex-m3/drv/mt29f_sam3.h index d15f64f6..3a8a9abe 100644 --- a/bertos/cpu/cortex-m3/drv/mt29f_sam3.h +++ b/bertos/cpu/cortex-m3/drv/mt29f_sam3.h @@ -42,15 +42,21 @@ // MT29F2G08AAD, FIXME: configurable -#define MT29F_PAGE_SIZE 0x800 // 2048 B -#define MT29F_BLOCK_SIZE 0x20000 // 128 kB -#define MT29F_SIZE 0x10000000 // 256 MB -#define MT29F_CSID NFC_CMD_CSID_0 // Chip select +#define MT29F_DATA_SIZE 0x800 // 2048 B +#define MT29F_SPARE_SIZE 0x40 // 64 B +#define MT29F_PAGE_SIZE (MT29F_DATA_SIZE + MT29F_SPARE_SIZE) +#define MT29F_PAGES_PER_BLOCK 64 +#define MT29F_NUM_BLOCKS 2048 +#define MT29F_ECC_NWORDS (MT29F_DATA_SIZE / 256) +#define MT29F_REMAP_TAG_OFFSET 0x38 +#define MT29F_REMAP_TAG 0x3e10c8ed +// Used to setup a dummy remup +#define MT29F_NULL_REMAP 0xfffe -// Addresses for sending command, addresses and data bytes to flash -#define MT29F_CMD_ADDR 0x60400000 -#define MT29F_ADDR_ADDR 0x60200000 -#define MT29F_DATA_ADDR 0x60000000 +// Number of reserved block for remapping +#define MT29F_NUM_REMAP_BLOCKS 128 +// Number of usable blocks, and index of first remapping block +#define MT29F_NUM_USER_BLOCKS (MT29F_NUM_BLOCKS - MT29F_NUM_REMAP_BLOCKS) /* @@ -67,14 +73,11 @@ #define MT29F_PINS_PORTC (MT29F_PIN_OE | MT29F_PIN_WE | MT29F_PIN_IO) #define MT29F_PERIPH_PORTC PIO_PERIPH_A -#define MT29F_PIN_CLE BV(22) -#define MT29F_PIN_ALE BV(21) +#define MT29F_PIN_CLE BV(9) +#define MT29F_PIN_ALE BV(8) #define MT29F_PINS_PORTD (MT29F_PIN_CLE | MT29F_PIN_ALE) #define MT29F_PERIPH_PORTD PIO_PERIPH_A -int mt29f_blockErase(Mt29f *fls, size_t blk_offset); - - #endif /* MT29F_SAM3_H */