]> git.karo-electronics.de Git - karo-tx-uboot.git/blobdiff - board/atmel/at91rm9200dk/flash.c
Timer: Fix misuse of ARM *timer_masked() functions outside arch/arm
[karo-tx-uboot.git] / board / atmel / at91rm9200dk / flash.c
index 902c3c41c03d7f50a6224113cc3f19f204871ab1..be2274362c11cc8bcc350a3ebf97d2387c08ec9f 100644 (file)
@@ -285,6 +285,7 @@ int flash_erase (flash_info_t * info, int s_first, int s_last)
        int iflag, cflag, prot, sect;
        int rc = ERR_OK;
        int chip1;
+       ulong start;
 
        /* first look for protection bits */
 
@@ -325,7 +326,7 @@ int flash_erase (flash_info_t * info, int s_first, int s_last)
                printf ("Erasing sector %2d ... ", sect);
 
                /* arm simple, non interrupt dependent timer */
-               reset_timer_masked ();
+               start = get_timer(0);
 
                if (info->protect[sect] == 0) { /* not protected */
                        volatile u16 *addr = (volatile u16 *) (info->start[sect]);
@@ -345,7 +346,7 @@ int flash_erase (flash_info_t * info, int s_first, int s_last)
                                result = *addr;
 
                                /* check timeout */
-                               if (get_timer_masked () > CONFIG_SYS_FLASH_ERASE_TOUT) {
+                               if (get_timer(start) > CONFIG_SYS_FLASH_ERASE_TOUT) {
                                        MEM_FLASH_ADDR1 = CMD_READ_ARRAY;
                                        chip1 = TMO;
                                        break;
@@ -400,6 +401,7 @@ static int write_word (flash_info_t * info, ulong dest, ulong data)
        int rc = ERR_OK;
        int cflag, iflag;
        int chip1;
+       ulong start;
 
        /*
         * Check if Flash is (sufficiently) erased
@@ -425,7 +427,7 @@ static int write_word (flash_info_t * info, ulong dest, ulong data)
        *addr = data;
 
        /* arm simple, non interrupt dependent timer */
-       reset_timer_masked ();
+       start = get_timer(0);
 
        /* wait until flash is ready */
        chip1 = 0;
@@ -433,7 +435,7 @@ static int write_word (flash_info_t * info, ulong dest, ulong data)
                result = *addr;
 
                /* check timeout */
-               if (get_timer_masked () > CONFIG_SYS_FLASH_ERASE_TOUT) {
+               if (get_timer(start) > CONFIG_SYS_FLASH_ERASE_TOUT) {
                        chip1 = ERR | TMO;
                        break;
                }