ARM: i.MX: provide access to reset cause through get_imx_reset_cause()
Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
This commit is contained in:
parent
fb2589b330
commit
11c2e505c4
|
@ -24,13 +24,16 @@
|
||||||
#include <fsl_esdhc.h>
|
#include <fsl_esdhc.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
char *get_reset_cause(void)
|
static u32 reset_cause = -1;
|
||||||
|
|
||||||
|
static char *get_reset_cause(void)
|
||||||
{
|
{
|
||||||
u32 cause;
|
u32 cause;
|
||||||
struct src *src_regs = (struct src *)SRC_BASE_ADDR;
|
struct src *src_regs = (struct src *)SRC_BASE_ADDR;
|
||||||
|
|
||||||
cause = readl(&src_regs->srsr);
|
cause = readl(&src_regs->srsr);
|
||||||
writel(cause, &src_regs->srsr);
|
writel(cause, &src_regs->srsr);
|
||||||
|
reset_cause = cause;
|
||||||
|
|
||||||
switch (cause) {
|
switch (cause) {
|
||||||
case 0x00001:
|
case 0x00001:
|
||||||
|
@ -53,6 +56,11 @@ char *get_reset_cause(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u32 get_imx_reset_cause(void)
|
||||||
|
{
|
||||||
|
return reset_cause;
|
||||||
|
}
|
||||||
|
|
||||||
#if defined(CONFIG_MX53) || defined(CONFIG_MX6)
|
#if defined(CONFIG_MX53) || defined(CONFIG_MX6)
|
||||||
#if defined(CONFIG_MX53)
|
#if defined(CONFIG_MX53)
|
||||||
#define MEMCTL_BASE ESDCTL_BASE_ADDR
|
#define MEMCTL_BASE ESDCTL_BASE_ADDR
|
||||||
|
|
|
@ -17,3 +17,5 @@
|
||||||
#define CS0_64M_CS1_64M 1
|
#define CS0_64M_CS1_64M 1
|
||||||
#define CS0_64M_CS1_32M_CS2_32M 2
|
#define CS0_64M_CS1_32M_CS2_32M 2
|
||||||
#define CS0_32M_CS1_32M_CS2_32M_CS3_32M 3
|
#define CS0_32M_CS1_32M_CS2_32M_CS3_32M 3
|
||||||
|
|
||||||
|
u32 get_imx_reset_cause(void);
|
||||||
|
|
Loading…
Reference in New Issue