mirror of
https://github.com/Fishwaldo/build.git
synced 2025-07-07 21:48:53 +00:00
fix U-Boot 'reset'
This commit is contained in:
parent
fc6300a5a1
commit
58b9b76b2f
1 changed files with 33 additions and 0 deletions
33
patch/u-boot/u-boot-sun50iw6/fix-u-boot-H6-reset.patch
Normal file
33
patch/u-boot/u-boot-sun50iw6/fix-u-boot-H6-reset.patch
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
diff --git a/arch/arm/include/asm/arch-sunxi/cpu_sun50i_h6.h b/arch/arm/include/asm/arch-sunxi/cpu_sun50i_h6.h
|
||||||
|
index 41a9b0f..6392cb0 100644
|
||||||
|
--- a/arch/arm/include/asm/arch-sunxi/cpu_sun50i_h6.h
|
||||||
|
+++ b/arch/arm/include/asm/arch-sunxi/cpu_sun50i_h6.h
|
||||||
|
@@ -60,6 +60,7 @@
|
||||||
|
#define SUNXI_RTC_BASE 0x07000000
|
||||||
|
#define SUNXI_R_CPUCFG_BASE 0x07000400
|
||||||
|
#define SUNXI_PRCM_BASE 0x07010000
|
||||||
|
+#define SUNXI_R_WDOG_BASE 0x07020400
|
||||||
|
#define SUNXI_R_PIO_BASE 0x07022000
|
||||||
|
#define SUNXI_R_UART_BASE 0x07080000
|
||||||
|
#define SUNXI_R_TWI_BASE 0x07081400
|
||||||
|
diff --git a/arch/arm/mach-sunxi/board.c b/arch/arm/mach-sunxi/board.c
|
||||||
|
index b74eaf2..23a4d80 100644
|
||||||
|
--- a/arch/arm/mach-sunxi/board.c
|
||||||
|
+++ b/arch/arm/mach-sunxi/board.c
|
||||||
|
@@ -287,9 +287,14 @@ void reset_cpu(ulong addr)
|
||||||
|
writel(WDT_MODE_RESET_EN | WDT_MODE_EN, &wdog->mode);
|
||||||
|
}
|
||||||
|
#elif defined(CONFIG_SUNXI_GEN_SUN6I) || defined(CONFIG_MACH_SUN50I_H6)
|
||||||
|
+#if defined(CONFIG_MACH_SUN50I_H6)
|
||||||
|
+ /* WDOG is broken for H6 use the R_WDOG instead */
|
||||||
|
+ static const struct sunxi_wdog *wdog =
|
||||||
|
+ (struct suxi_wdog *)SUNXI_R_WDOG_BASE;
|
||||||
|
+#else
|
||||||
|
static const struct sunxi_wdog *wdog =
|
||||||
|
- ((struct sunxi_timer_reg *)SUNXI_TIMER_BASE)->wdog;
|
||||||
|
-
|
||||||
|
+ ((struct sunxi_timer_reg *)SUNXI_TIMER_BASE)->wdog;
|
||||||
|
+#endif
|
||||||
|
/* Set the watchdog for its shortest interval (.5s) and wait */
|
||||||
|
writel(WDT_CFG_RESET, &wdog->cfg);
|
||||||
|
writel(WDT_MODE_EN, &wdog->mode);
|
Loading…
Add table
Add a link
Reference in a new issue