浏览代码

Fix watchdog handling in CFI flash driver
Just use udelay() when waiting for status changes which will
implicitely trigger the watchdog.

Wolfgang Denk 19 年之前
父节点
当前提交
62b8f54877
共有 2 个文件被更改,包括 5 次插入5 次删除
  1. 4 0
      CHANGELOG
  2. 1 5
      drivers/cfi_flash.c

+ 4 - 0
CHANGELOG

@@ -2,6 +2,10 @@
 Changes since U-Boot 1.1.4:
 Changes since U-Boot 1.1.4:
 ======================================================================
 ======================================================================
 
 
+* Fix watchdog handling in CFI flash driver
+  Just use udelay() when waiting for status changes which will
+  implicitely trigger the watchdog.
+
 * Fix PCI to memory window size problems on PM82x boards
 * Fix PCI to memory window size problems on PM82x boards
   We use the "automatic" mode that was used for  the  MPC8266ADS  and
   We use the "automatic" mode that was used for  the  MPC8266ADS  and
   MPC8272 boards. Eventually this should be used on all boards?]
   MPC8272 boards. Eventually this should be used on all boards?]

+ 1 - 5
drivers/cfi_flash.c

@@ -45,7 +45,6 @@
 /* #define DEBUG	*/
 /* #define DEBUG	*/
 
 
 #include <common.h>
 #include <common.h>
-#include <watchdog.h>
 #include <asm/processor.h>
 #include <asm/processor.h>
 #include <asm/byteorder.h>
 #include <asm/byteorder.h>
 #include <environment.h>
 #include <environment.h>
@@ -794,6 +793,7 @@ static int flash_status_check (flash_info_t * info, flash_sect_t sector,
 			flash_write_cmd (info, sector, 0, info->cmd_reset);
 			flash_write_cmd (info, sector, 0, info->cmd_reset);
 			return ERR_TIMOUT;
 			return ERR_TIMOUT;
 		}
 		}
+		udelay (1);		/* also triggers watchdog */
 	}
 	}
 	return ERR_OK;
 	return ERR_OK;
 }
 }
@@ -1308,10 +1308,6 @@ static int flash_write_cfiword (flash_info_t * info, ulong dest,
 	if (flag)
 	if (flag)
 		enable_interrupts ();
 		enable_interrupts ();
 
 
-#if defined(CONFIG_MCF52x2)
-	WATCHDOG_RESET();
-#endif
-
 	return flash_full_status_check (info, find_sector (info, dest),
 	return flash_full_status_check (info, find_sector (info, dest),
 					info->write_tout, "write");
 					info->write_tout, "write");
 }
 }