X-Git-Url: https://hackdaworld.org/cgi-bin/gitweb.cgi?p=my-code%2Farm.git;a=blobdiff_plain;f=betty%2Fflash.h;fp=betty%2Fflash.h;h=8683b93c87182ad2d021b2eb3b2223124a1cdece;hp=0000000000000000000000000000000000000000;hb=5da509dc909c60d63c5fba98e7ced43040eb6827;hpb=b4ca71fc214ba3c58cec25661ba1f81cf7b1b871 diff --git a/betty/flash.h b/betty/flash.h new file mode 100644 index 0000000..8683b93 --- /dev/null +++ b/betty/flash.h @@ -0,0 +1,46 @@ +/* + * flash.h - header file for the low level flash handling + * + * author: hackbard@hackdaworld.org + * + */ + +#ifndef FLASH_H +#define FLASH_H + +#include "lpc2xxx.h" +#include "types.h" + +/* + * defines + */ + +#define BANK0 '0' +#define BANK2 '2' +#define FLASH_BANK0 0x80000000 +#define FLASH_BANK2 0x82000000 +#define FLASH_SIZE 0x00100000 + +/* cmd addresses (shifted to left!) */ +#define FLASH_B0F555 (*((volatile unsigned short *)(FLASH_BANK0|0xaaa))) +#define FLASH_B0F2AA (*((volatile unsigned short *)(FLASH_BANK0|0x554))) +#define FLASH_B0F (*((volatile unsigned short *)(FLASH_BANK0))) +#define FLASH_B2F555 (*((volatile unsigned short *)(FLASH_BANK2|0xaaa))) +#define FLASH_B2F2AA (*((volatile unsigned short *)(FLASH_BANK2|0x554))) +#define FLASH_B2F (*((volatile unsigned short *)(FLASH_BANK2))) + +/* + * function prototypes + */ + +void flash_init(void); +void flash_reset(u8 bank); +void flash_sector_erase(u8 flash,u8 sector); +void flash_chip_erase(u8 bank); +void flash_unlock_bypass(u8 bank); +void flash_unlock_bypass_reset(u8 bank); +int flash_write_word(u32 addr,u16 data); +int flash_write_buf(u32 addr,u16 *buf,int len); +void flash_read_buf(u32 addr,u16 *buf,int len); + +#endif