sunxi: Fix reset hang on sun5i
Do the same as the Linux kernel does, this fixes the SoC hanging on reset about 50% of the time. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Ian Campbell <ijc@hellion.org.uk>
This commit is contained in:
		
							parent
							
								
									2428920835
								
							
						
					
					
						commit
						ae5de5a19d
					
				|  | @ -77,7 +77,11 @@ void reset_cpu(ulong addr) | ||||||
| 	/* Set the watchdog for its shortest interval (.5s) and wait */ | 	/* Set the watchdog for its shortest interval (.5s) and wait */ | ||||||
| 	writel(WDT_MODE_RESET_EN | WDT_MODE_EN, &wdog->mode); | 	writel(WDT_MODE_RESET_EN | WDT_MODE_EN, &wdog->mode); | ||||||
| 	writel(WDT_CTRL_KEY | WDT_CTRL_RESTART, &wdog->ctl); | 	writel(WDT_CTRL_KEY | WDT_CTRL_RESTART, &wdog->ctl); | ||||||
| 	while (1); | 
 | ||||||
|  | 	while (1) { | ||||||
|  | 		/* sun5i sometimes gets stuck without this */ | ||||||
|  | 		writel(WDT_MODE_RESET_EN | WDT_MODE_EN, &wdog->mode); | ||||||
|  | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /* do some early init */ | /* do some early init */ | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue