/*
* sector addresses
*/
-static unsigned long sector_address[19]={
+
+unsigned long sector_address[19]={
0x00000,0x02000,0x03000,0x04000,0x08000,
0x10000,0x18000,
0x20000,0x28000,
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;