FreeCalypso > hg > fc-magnetite
diff src/cs/drivers/drv_app/ffs/board/drv.c @ 85:204d6866901b
FFS changes to support C139, Pirelli and future FreeCalypso targets
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 02 Oct 2016 08:10:40 +0000 |
parents | 945cf7f506b2 |
children | 7aad22344e77 |
line wrap: on
line diff
--- a/src/cs/drivers/drv_app/ffs/board/drv.c Sun Oct 02 07:44:36 2016 +0000 +++ b/src/cs/drivers/drv_app/ffs/board/drv.c Sun Oct 02 08:10:40 2016 +0000 @@ -244,7 +244,7 @@ void ffsdrv_amd_write_halfword(volatile uint16 *addr, uint16 value) { - volatile char *flash = dev.base; + volatile uint16 *flash = (volatile uint16 *)dev.base; uint32 cpsr; tlw(led_on(LED_WRITE)); @@ -261,9 +261,9 @@ cpsr = int_disable(); tlw(led_toggle(LED_WRITE_SUSPEND)); dev.state = DEV_WRITE; - flash[0xAAAA] = 0xAA; // unlock cycle 1 - flash[0x5555] = 0x55; // unlock cycle 2 - flash[0xAAAA] = 0xA0; + flash[0x555] = 0xAA; // unlock cycle 1 + flash[0x2AA] = 0x55; // unlock cycle 2 + flash[0x555] = 0xA0; *addr = value; int_enable(cpsr); tlw(led_toggle(LED_WRITE_SUSPEND)); @@ -306,7 +306,7 @@ void ffsdrv_amd_erase(uint8 block) { - volatile char *flash = dev.base; + volatile uint16 *flash = (volatile uint16 *)dev.base; uint32 cpsr; tlw(led_on(LED_ERASE)); @@ -316,11 +316,11 @@ cpsr = int_disable(); dev.state = DEV_ERASE; - flash[0xAAAA] = 0xAA; // unlock cycle 1 - flash[0x5555] = 0x55; // unlock cycle 2 - flash[0xAAAA] = 0x80; - flash[0xAAAA] = 0xAA; // unlock cycle 1 - flash[0x5555] = 0x55; // unlock cycle 2 + flash[0x555] = 0xAA; // unlock cycle 1 + flash[0x2AA] = 0x55; // unlock cycle 2 + flash[0x555] = 0x80; + flash[0x555] = 0xAA; // unlock cycle 1 + flash[0x2AA] = 0x55; // unlock cycle 2 *dev.addr = 0x30; // AMD erase sector command int_enable(cpsr);