[U-Boot] [PATCH 1/2] MX31: mx31pdk: Add watchdog support

Signed-off-by: Fabio Estevam fabio.estevam@freescale.com --- board/freescale/mx31pdk/mx31pdk.c | 16 ++++++++++++++++ include/configs/mx31pdk.h | 1 + 2 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/board/freescale/mx31pdk/mx31pdk.c b/board/freescale/mx31pdk/mx31pdk.c index a9f0fb4..4a5d3ef 100644 --- a/board/freescale/mx31pdk/mx31pdk.c +++ b/board/freescale/mx31pdk/mx31pdk.c @@ -28,9 +28,17 @@ #include <netdev.h> #include <asm/arch/mx31.h> #include <asm/arch/mx31-regs.h> +#include <watchdog.h>
DECLARE_GLOBAL_DATA_PTR;
+#ifdef CONFIG_HW_WATCHDOG +void hw_watchdog_reset(void) +{ + mxc_hw_watchdog_reset(); +} +#endif + int dram_init(void) { /* dram_init must store complete ramsize in gd->ram_size */ @@ -68,6 +76,14 @@ int board_init(void) return 0; }
+int board_late_init(void) +{ +#ifdef CONFIG_HW_WATCHDOG + mxc_hw_watchdog_enable(); +#endif + return 0; +} + int checkboard(void) { printf("Board: i.MX31 MAX PDK (3DS)\n"); diff --git a/include/configs/mx31pdk.h b/include/configs/mx31pdk.h index 86c758f..1f1de46 100644 --- a/include/configs/mx31pdk.h +++ b/include/configs/mx31pdk.h @@ -61,6 +61,7 @@
#define CONFIG_MXC_UART 1 #define CONFIG_SYS_MX31_UART1 1 +#define CONFIG_HW_WATCHDOG
#define CONFIG_HARD_SPI 1 #define CONFIG_MXC_SPI 1

Signed-off-by: Fabio Estevam fabio.estevam@freescale.com --- board/freescale/mx31pdk/mx31pdk.c | 25 ++++++++++++++++++++++++- 1 files changed, 24 insertions(+), 1 deletions(-)
diff --git a/board/freescale/mx31pdk/mx31pdk.c b/board/freescale/mx31pdk/mx31pdk.c index 4a5d3ef..0462a22 100644 --- a/board/freescale/mx31pdk/mx31pdk.c +++ b/board/freescale/mx31pdk/mx31pdk.c @@ -86,7 +86,30 @@ int board_late_init(void)
int checkboard(void) { - printf("Board: i.MX31 MAX PDK (3DS)\n"); + u32 cause; + struct clock_control_regs *ccm = + (struct clock_control_regs *)CCM_BASE; + puts("Board: MX31PDK ["); + + cause = ccm->rcsr & 0x03; + switch (cause) { + case 0x0000: + puts("POR"); + break; + case 0x0001: + puts("RST"); + break; + case 0x0002: + puts("WDOG"); + break; + case 0x0006: + puts("JTAG"); + break; + default: + puts("unknown"); + } + + puts("]\n"); return 0; }

On Wed, 9 Mar 2011 13:35:44 -0300 Fabio Estevam fabio.estevam@freescale.com wrote: ...
+++ b/board/freescale/mx31pdk/mx31pdk.c @@ -86,7 +86,30 @@ int board_late_init(void)
int checkboard(void) {
- printf("Board: i.MX31 MAX PDK (3DS)\n");
- u32 cause;
- struct clock_control_regs *ccm =
(struct clock_control_regs *)CCM_BASE;
- puts("Board: MX31PDK [");
- cause = ccm->rcsr & 0x03;
The mask should be 0x07, since ...
- case 0x0006:
puts("JTAG");
break;
we check if bit 2 is set here.
Best regards, Anatolij

On 03/09/2011 05:35 PM, Fabio Estevam wrote:
Signed-off-by: Fabio Estevam fabio.estevam@freescale.com
board/freescale/mx31pdk/mx31pdk.c | 16 ++++++++++++++++ include/configs/mx31pdk.h | 1 + 2 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/board/freescale/mx31pdk/mx31pdk.c b/board/freescale/mx31pdk/mx31pdk.c index a9f0fb4..4a5d3ef 100644
Hi Fabio,
diff --git a/include/configs/mx31pdk.h b/include/configs/mx31pdk.h index 86c758f..1f1de46 100644 --- a/include/configs/mx31pdk.h +++ b/include/configs/mx31pdk.h @@ -61,6 +61,7 @@
#define CONFIG_MXC_UART 1 #define CONFIG_SYS_MX31_UART1 1 +#define CONFIG_HW_WATCHDOG
#define CONFIG_HARD_SPI 1 #define CONFIG_MXC_SPI 1
Applying this patch I have not found BOARD_LATE_INIT in mx31pdk.h. How can the watchdog be enabled ?
Best regards, Stefano

On 03/09/2011 05:35 PM, Fabio Estevam wrote:
Signed-off-by: Fabio Estevam fabio.estevam@freescale.com
board/freescale/mx31pdk/mx31pdk.c | 16 ++++++++++++++++ include/configs/mx31pdk.h | 1 + 2 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/board/freescale/mx31pdk/mx31pdk.c b/board/freescale/mx31pdk/mx31pdk.c index a9f0fb4..4a5d3ef 100644
Applied to u-boot-imx, thanks.
Best regards, Stefano Babic

Hi Stefano,
On 03/09/2011 05:35 PM, Fabio Estevam wrote:
Signed-off-by: Fabio Estevam fabio.estevam@freescale.com
board/freescale/mx31pdk/mx31pdk.c | 16 ++++++++++++++++ include/configs/mx31pdk.h | 1 + 2 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/board/freescale/mx31pdk/mx31pdk.c b/board/freescale/mx31pdk/mx31pdk.c index a9f0fb4..4a5d3ef 100644
Applied to u-boot-imx, thanks.
Ah, obviously I'm a bit late on this. Can you please make sure that a follow-up patch according to my suggestion sent just now gets into the tree?
Thanks! Detlev

Hi Detlev,
On 4/27/2011 8:38 AM, Detlev Zundel wrote:
Hi Stefano,
On 03/09/2011 05:35 PM, Fabio Estevam wrote:
Signed-off-by: Fabio Estevam fabio.estevam@freescale.com
board/freescale/mx31pdk/mx31pdk.c | 16 ++++++++++++++++ include/configs/mx31pdk.h | 1 + 2 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/board/freescale/mx31pdk/mx31pdk.c b/board/freescale/mx31pdk/mx31pdk.c index a9f0fb4..4a5d3ef 100644
Applied to u-boot-imx, thanks.
Ah, obviously I'm a bit late on this. Can you please make sure that a follow-up patch according to my suggestion sent just now gets into the tree?
Thanks for your clarification regarding the watchdog usage.
I will send a follow-up patch soon as per your suggestion.
Regards,
Fabio Estevam
participants (4)
-
Anatolij Gustschin
-
Detlev Zundel
-
Fabio Estevam
-
Stefano Babic