X-Git-Url: https://hackdaworld.org/gitweb/?p=my-code%2Farm.git;a=blobdiff_plain;f=betty%2Fflash.c;h=64488e22baba0688782fdcdfcb017224ffe63e20;hp=8d9c02a92e0685b2f878b3b7b6b341fe01a30f75;hb=94909b5b893d5c60bc44bbafec8de1b3c86d9595;hpb=5da509dc909c60d63c5fba98e7ced43040eb6827 diff --git a/betty/flash.c b/betty/flash.c index 8d9c02a..64488e2 100644 --- a/betty/flash.c +++ b/betty/flash.c @@ -10,7 +10,8 @@ /* * sector addresses */ -static unsigned long sector_address[19]={ + +unsigned long sector_address[19]={ 0x00000,0x02000,0x03000,0x04000,0x08000, 0x10000,0x18000, 0x20000,0x28000, @@ -96,6 +97,24 @@ void flash_sector_erase(u8 bank,u8 sector) { return; } +int flash_sec_erase(u32 addr) { + + u32 a18_12; + u32 base; + + a18_12=addr&0x00000fffff; + base=addr&0xff000000; + + *((volatile u16 *)(base|(0x555<<1)))=0xaa; + *((volatile u16 *)(base|(0x2aa<<1)))=0x55; + *((volatile u16 *)(base|(0x555<<1)))=0x80; + *((volatile u16 *)(base|(0x555<<1)))=0xaa; + *((volatile u16 *)(base|(0x2aa<<1)))=0x55; + *((volatile u16 *)(base|(a18_12<<1)))=0x30; + + return 0; +} + void flash_chip_erase(u8 bank) { u8 status;