mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH 1/4] reset_source: make enum and string human readable
@ 2012-10-13  7:51 Jean-Christophe PLAGNIOL-VILLARD
  2012-10-13  7:51 ` [PATCH 2/4] reset_source: add software reset as possible source Jean-Christophe PLAGNIOL-VILLARD
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2012-10-13  7:51 UTC (permalink / raw)
  To: barebox

Today we need to read the code to understand it

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
---
 arch/arm/mach-imx/reset_source.c     |    6 +++---
 arch/arm/mach-samsung/reset_source.c |    6 +++---
 common/reset_source.c                |   14 +++++++-------
 drivers/watchdog/im28wd.c            |    6 +++---
 include/reset_source.h               |   10 +++++-----
 5 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/arch/arm/mach-imx/reset_source.c b/arch/arm/mach-imx/reset_source.c
index e7b2a90..e97bf15 100644
--- a/arch/arm/mach-imx/reset_source.c
+++ b/arch/arm/mach-imx/reset_source.c
@@ -51,17 +51,17 @@ static int imx_detect_reset_source(void)
 	unsigned reg = read_detection_register();
 
 	if (reg & IMX_RESET_SRC_COLDSTART) {
-		set_reset_source(RESET_POR);
+		set_reset_source(RESET_POWER);
 		return 0;
 	}
 
 	if (reg & (IMX_RESET_SRC_HRDRESET | IMX_RESET_SRC_WARMSTART)) {
-		set_reset_source(RESET_RST);
+		set_reset_source(RESET_RESET);
 		return 0;
 	}
 
 	if (reg & IMX_RESET_SRC_WDOG) {
-		set_reset_source(RESET_WDG);
+		set_reset_source(RESET_WATCHDOG);
 		return 0;
 	}
 
diff --git a/arch/arm/mach-samsung/reset_source.c b/arch/arm/mach-samsung/reset_source.c
index 2456e3f..e2b8808 100644
--- a/arch/arm/mach-samsung/reset_source.c
+++ b/arch/arm/mach-samsung/reset_source.c
@@ -29,21 +29,21 @@ static int s3c_detect_reset_source(void)
 	u32 reg = readl(S3C_GPIO_BASE + S3C2440_GSTATUS2);
 
 	if (reg & S3C2440_GSTATUS2_PWRST) {
-		set_reset_source(RESET_POR);
+		set_reset_source(RESET_POWER);
 		writel(S3C2440_GSTATUS2_PWRST,
 					S3C_GPIO_BASE + S3C2440_GSTATUS2);
 		return 0;
 	}
 
 	if (reg & S3C2440_GSTATUS2_SLEEPRST) {
-		set_reset_source(RESET_WKE);
+		set_reset_source(RESET_WAKEUP);
 		writel(S3C2440_GSTATUS2_SLEEPRST,
 					S3C_GPIO_BASE + S3C2440_GSTATUS2);
 		return 0;
 	}
 
 	if (reg & S3C2440_GSTATUS2_WDRST) {
-		set_reset_source(RESET_WDG);
+		set_reset_source(RESET_WATCHDOG);
 		writel(S3C2440_GSTATUS2_WDRST,
 					S3C_GPIO_BASE + S3C2440_GSTATUS2);
 		return 0;
diff --git a/common/reset_source.c b/common/reset_source.c
index 2a7f9ff..ff76857 100644
--- a/common/reset_source.c
+++ b/common/reset_source.c
@@ -19,12 +19,12 @@
 #include <reset_source.h>
 
 static const char * const reset_src_names[] = {
-	[RESET_UKWN] = "unknown",
-	[RESET_POR] = "POR",
-	[RESET_RST] = "RST",
-	[RESET_WDG] = "WDG",
-	[RESET_WKE] = "WKE",
-	[RESET_JTAG] = "JTAG",
+	[RESET_UKWNOWN] = "unknown",
+	[RESET_POWER] = "power",
+	[RESET_RESET] = "reset",
+	[RESET_WATCHDOG] = "watchdog",
+	[RESET_WAKEUP] = "wakeup",
+	[RESET_JTAG] = "jtag",
 };
 
 void set_reset_source(enum reset_src_type st)
@@ -37,7 +37,7 @@ EXPORT_SYMBOL(set_reset_source);
 static int init_reset_source(void)
 {
 	globalvar_add_simple("system.reset");
-	set_reset_source(RESET_UKWN);
+	set_reset_source(RESET_UKWNOWN);
 	return 0;
 }
 
diff --git a/drivers/watchdog/im28wd.c b/drivers/watchdog/im28wd.c
index ca32a72..999f5b4 100644
--- a/drivers/watchdog/im28wd.c
+++ b/drivers/watchdog/im28wd.c
@@ -82,17 +82,17 @@ static void __maybe_unused imx28_detect_reset_source(const struct imx28_wd *p)
 	if (reg & MXS_RTC_PERSISTENT0_EXT_RST) {
 		writel(MXS_RTC_PERSISTENT0_EXT_RST,
 			p->regs + MXS_RTC_PERSISTENT0 + MXS_RTC_CLR_ADDR);
-		set_reset_source(RESET_POR);
+		set_reset_source(RESET_POWER);
 		return;
 	}
 	if (reg & MXS_RTC_PERSISTENT0_THM_RST) {
 		writel(MXS_RTC_PERSISTENT0_THM_RST,
 			p->regs + MXS_RTC_PERSISTENT0 + MXS_RTC_CLR_ADDR);
-		set_reset_source(RESET_RST);
+		set_reset_source(RESET_RESET);
 		return;
 	}
 
-	set_reset_source(RESET_RST);
+	set_reset_source(RESET_RESET);
 }
 
 static int imx28_wd_probe(struct device_d *dev)
diff --git a/include/reset_source.h b/include/reset_source.h
index 6734fbde..198abd0 100644
--- a/include/reset_source.h
+++ b/include/reset_source.h
@@ -14,11 +14,11 @@
 # define __INCLUDE_RESET_SOURCE_H
 
 enum reset_src_type {
-	RESET_UKWN,	/* maybe the SoC cannot detect the reset source */
-	RESET_POR,	/* Power On Reset (cold start) */
-	RESET_RST,	/* generic ReSeT (warm start) */
-	RESET_WDG,	/* watchdog */
-	RESET_WKE,	/* wake-up (some SoCs can handle this) */
+	RESET_UKWNOWN,	/* maybe the SoC cannot detect the reset source */
+	RESET_POWER,	/* Power On Reset (cold start) */
+	RESET_RESET,	/* generic ReSeT (warm start) */
+	RESET_WATCHDOG,	/* watchdog */
+	RESET_WAKEUP,	/* wake-up (some SoCs can handle this) */
 	RESET_JTAG,	/* JTAG reset */
 };
 
-- 
1.7.10.4


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 2/4] reset_source: add software reset as possible source
  2012-10-13  7:51 [PATCH 1/4] reset_source: make enum and string human readable Jean-Christophe PLAGNIOL-VILLARD
@ 2012-10-13  7:51 ` Jean-Christophe PLAGNIOL-VILLARD
  2012-10-13  7:51 ` [PATCH 3/4] reset_resource: add wakeup source Jean-Christophe PLAGNIOL-VILLARD
  2012-10-13  7:51 ` [PATCH 4/4] at91: add reset and wakeup source detection support Jean-Christophe PLAGNIOL-VILLARD
  2 siblings, 0 replies; 5+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2012-10-13  7:51 UTC (permalink / raw)
  To: barebox

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
---
 common/reset_source.c  |    1 +
 include/reset_source.h |    1 +
 2 files changed, 2 insertions(+)

diff --git a/common/reset_source.c b/common/reset_source.c
index ff76857..ec1afc0 100644
--- a/common/reset_source.c
+++ b/common/reset_source.c
@@ -22,6 +22,7 @@ static const char * const reset_src_names[] = {
 	[RESET_UKWNOWN] = "unknown",
 	[RESET_POWER] = "power",
 	[RESET_RESET] = "reset",
+	[RESET_SOFTWARE] = "software",
 	[RESET_WATCHDOG] = "watchdog",
 	[RESET_WAKEUP] = "wakeup",
 	[RESET_JTAG] = "jtag",
diff --git a/include/reset_source.h b/include/reset_source.h
index 198abd0..5129c6a 100644
--- a/include/reset_source.h
+++ b/include/reset_source.h
@@ -17,6 +17,7 @@ enum reset_src_type {
 	RESET_UKWNOWN,	/* maybe the SoC cannot detect the reset source */
 	RESET_POWER,	/* Power On Reset (cold start) */
 	RESET_RESET,	/* generic ReSeT (warm start) */
+	RESET_SOFTWARE,	/* software */
 	RESET_WATCHDOG,	/* watchdog */
 	RESET_WAKEUP,	/* wake-up (some SoCs can handle this) */
 	RESET_JTAG,	/* JTAG reset */
-- 
1.7.10.4


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 3/4] reset_resource: add wakeup source
  2012-10-13  7:51 [PATCH 1/4] reset_source: make enum and string human readable Jean-Christophe PLAGNIOL-VILLARD
  2012-10-13  7:51 ` [PATCH 2/4] reset_source: add software reset as possible source Jean-Christophe PLAGNIOL-VILLARD
@ 2012-10-13  7:51 ` Jean-Christophe PLAGNIOL-VILLARD
  2012-10-13  7:51 ` [PATCH 4/4] at91: add reset and wakeup source detection support Jean-Christophe PLAGNIOL-VILLARD
  2 siblings, 0 replies; 5+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2012-10-13  7:51 UTC (permalink / raw)
  To: barebox

This will allow to known the source of wakeup

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
---
 common/reset_source.c  |   17 +++++++++++++++++
 include/reset_source.h |   11 +++++++++++
 2 files changed, 28 insertions(+)

diff --git a/common/reset_source.c b/common/reset_source.c
index ec1afc0..8fd8a6d 100644
--- a/common/reset_source.c
+++ b/common/reset_source.c
@@ -34,11 +34,28 @@ void set_reset_source(enum reset_src_type st)
 }
 EXPORT_SYMBOL(set_reset_source);
 
+static const char * const wakeup_src_names[] = {
+	[WAKEUP_UKWNOWN] = "unknown",
+	[RESET_POWER] = "power",
+	[WAKEUP_RTC] = "rtc",
+	[WAKEUP_TIMER] = "timer",
+	[WAKEUP_USER] = "user",
+	[WAKEUP_WOL] = "wakeup on lan",
+};
+
+void set_wakeup_source(enum wakeup_src_type st)
+{
+	setenv("global.system.wakeup", wakeup_src_names[st]);
+}
+EXPORT_SYMBOL(set_reset_source);
+
 /* ensure this runs after the 'global' device is already registerd */
 static int init_reset_source(void)
 {
 	globalvar_add_simple("system.reset");
+	globalvar_add_simple("system.wakeup");
 	set_reset_source(RESET_UKWNOWN);
+	set_wakeup_source(WAKEUP_UKWNOWN);
 	return 0;
 }
 
diff --git a/include/reset_source.h b/include/reset_source.h
index 5129c6a..d08aa65 100644
--- a/include/reset_source.h
+++ b/include/reset_source.h
@@ -25,4 +25,15 @@ enum reset_src_type {
 
 void set_reset_source(enum reset_src_type);
 
+enum wakeup_src_type {
+	WAKEUP_UKWNOWN,	/* maybe the SoC cannot detect the wakeup source */
+	WAKEUP_POWER,	/* Power restore */
+	WAKEUP_RTC,	/* rtc */
+	WAKEUP_TIMER,	/* timer */
+	WAKEUP_USER,	/* user */
+	WAKEUP_WOL,	/* wakeup on lan */
+};
+
+void set_wakeup_source(enum wakeup_src_type);
+
 #endif /* __INCLUDE_RESET_SOURCE_H */
-- 
1.7.10.4


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 4/4] at91: add reset and wakeup source detection support
  2012-10-13  7:51 [PATCH 1/4] reset_source: make enum and string human readable Jean-Christophe PLAGNIOL-VILLARD
  2012-10-13  7:51 ` [PATCH 2/4] reset_source: add software reset as possible source Jean-Christophe PLAGNIOL-VILLARD
  2012-10-13  7:51 ` [PATCH 3/4] reset_resource: add wakeup source Jean-Christophe PLAGNIOL-VILLARD
@ 2012-10-13  7:51 ` Jean-Christophe PLAGNIOL-VILLARD
  2 siblings, 0 replies; 5+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2012-10-13  7:51 UTC (permalink / raw)
  To: barebox

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
---
 arch/arm/mach-at91/Makefile                  |    1 +
 arch/arm/mach-at91/include/mach/at91_shdwc.h |   40 +++++++++++++++++
 arch/arm/mach-at91/reset_source.c            |   59 ++++++++++++++++++++++++++
 3 files changed, 100 insertions(+)
 create mode 100644 arch/arm/mach-at91/include/mach/at91_shdwc.h
 create mode 100644 arch/arm/mach-at91/reset_source.c

diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile
index 3ade725..1f912c6 100644
--- a/arch/arm/mach-at91/Makefile
+++ b/arch/arm/mach-at91/Makefile
@@ -8,6 +8,7 @@ pbl-$(CONFIG_MACH_DO_LOWLEVEL_INIT) += $(lowlevel_init-y)
 
 obj-$(CONFIG_AT91SAM9_RESET) += at91sam9_reset.o
 obj-$(CONFIG_AT91SAM9G45_RESET) += at91sam9g45_reset.o
+obj-$(CONFIG_RESET_SOURCE) += reset_source.o
 
 # CPU-specific support
 obj-$(CONFIG_ARCH_AT91RM9200)	+= at91rm9200.o at91rm9200_time.o at91rm9200_devices.o
diff --git a/arch/arm/mach-at91/include/mach/at91_shdwc.h b/arch/arm/mach-at91/include/mach/at91_shdwc.h
new file mode 100644
index 0000000..75e6801
--- /dev/null
+++ b/arch/arm/mach-at91/include/mach/at91_shdwc.h
@@ -0,0 +1,40 @@
+/*
+ * arch/arm/mach-at91/include/mach/at91_shdwc.h
+ *
+ * Copyright (C) 2007 Andrew Victor
+ * Copyright (C) 2007 Atmel Corporation.
+ *
+ * Shutdown Controller (SHDWC) - System peripherals regsters.
+ * Based on AT91SAM9261 datasheet revision D.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+#ifndef AT91_SHDWC_H
+#define AT91_SHDWC_H
+
+#define AT91_SHDW_CR		(AT91_SHDWC + 0x00)	/* Shut Down Control Register */
+#define		AT91_SHDW_SHDW		(1    << 0)		/* Shut Down command */
+#define		AT91_SHDW_KEY		(0xa5 << 24)		/* KEY Password */
+
+#define AT91_SHDW_MR		(AT91_SHDWC + 0x04)	/* Shut Down Mode Register */
+#define		AT91_SHDW_WKMODE0	(3 << 0)		/* Wake-up 0 Mode Selection */
+#define			AT91_SHDW_WKMODE0_NONE		0
+#define			AT91_SHDW_WKMODE0_HIGH		1
+#define			AT91_SHDW_WKMODE0_LOW		2
+#define			AT91_SHDW_WKMODE0_ANYLEVEL	3
+#define		AT91_SHDW_CPTWK0_MAX	0xf			/* Maximum Counter On Wake Up 0 */
+#define		AT91_SHDW_CPTWK0	(AT91_SHDW_CPTWK0_MAX << 4) /* Counter On Wake Up 0 */
+#define			AT91_SHDW_CPTWK0_(x)	((x) << 4)
+#define		AT91_SHDW_RTTWKEN	(1   << 16)		/* Real Time Timer Wake-up Enable */
+#define		AT91_SHDW_RTCWKEN	(1   << 17)		/* Real Time Clock Wake-up Enable */
+
+#define AT91_SHDW_SR		(AT91_SHDWC + 0x08)	/* Shut Down Status Register */
+#define		AT91_SHDW_WAKEUP0	(1 <<  0)		/* Wake-up 0 Status */
+#define		AT91_SHDW_RTTWK		(1 << 16)		/* Real-time Timer Wake-up */
+#define		AT91_SHDW_RTCWK		(1 << 17)		/* Real-time Clock Wake-up [SAM9RL] */
+
+#endif
diff --git a/arch/arm/mach-at91/reset_source.c b/arch/arm/mach-at91/reset_source.c
new file mode 100644
index 0000000..b078941
--- /dev/null
+++ b/arch/arm/mach-at91/reset_source.c
@@ -0,0 +1,59 @@
+/*
+ * (C) Copyright 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrsoft.com>
+ *
+ * GPLv2
+ */
+
+#include <reset_source.h>
+#include <io.h>
+#include <init.h>
+#include <mach/hardware.h>
+#include <mach/io.h>
+
+#include <mach/at91_rstc.h>
+#include <mach/at91_shdwc.h>
+
+static int at91_reset_status(void)
+{
+	u32 reset_type, wake_type;
+
+	reset_type = at91_sys_read(AT91_RSTC_SR) & AT91_RSTC_RSTTYP;
+	wake_type = at91_sys_read(AT91_SHDW_SR);
+
+	switch (reset_type) {
+	case AT91_RSTC_RSTTYP_GENERAL:
+		set_reset_source(RESET_POWER);
+		break;
+	case AT91_RSTC_RSTTYP_WAKEUP:
+		/* board-specific code enabled the wakeup sources */
+		set_reset_source(RESET_WAKEUP);
+
+		/* "wakeup signal" */
+		if (wake_type & AT91_SHDW_WAKEUP0)
+			set_wakeup_source(WAKEUP_USER);
+		else if (wake_type & AT91_SHDW_RTTWK)	/* rtt wakeup */
+			set_wakeup_source(WAKEUP_TIMER);
+		else if (wake_type & AT91_SHDW_RTCWK)	/* rtc wakeup */
+			set_wakeup_source(WAKEUP_RTC);
+		else if (wake_type == 0)		/* power-restored wakeup */
+			set_wakeup_source(WAKEUP_POWER);
+		else					/* unknown wakeup */
+			set_wakeup_source(WAKEUP_UKWNOWN);
+		break;
+	case AT91_RSTC_RSTTYP_WATCHDOG:
+		set_reset_source(RESET_WATCHDOG);
+		break;
+	case AT91_RSTC_RSTTYP_SOFTWARE:
+		set_reset_source(RESET_SOFTWARE);
+		break;
+	case AT91_RSTC_RSTTYP_USER:
+		set_reset_source(RESET_RESET);
+		break;
+	default:
+		set_reset_source(RESET_UKWNOWN);
+		break;
+	}
+
+	return 0;
+}
+device_initcall(at91_reset_status);
-- 
1.7.10.4


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/4] reset_source: make enum and string human readable
  2012-10-13 13:46 [PATCH 0/4 v2] add wakup source Jean-Christophe PLAGNIOL-VILLARD
@ 2012-10-13 13:49 ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 0 replies; 5+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2012-10-13 13:49 UTC (permalink / raw)
  To: barebox

Today we need to read the code to understand it

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
---
 arch/arm/mach-imx/imx1.c             |    6 +++---
 arch/arm/mach-samsung/reset_source.c |    6 +++---
 common/reset_source.c                |   14 +++++++-------
 drivers/watchdog/im28wd.c            |    6 +++---
 drivers/watchdog/imxwd.c             |    6 +++---
 include/reset_source.h               |   10 +++++-----
 6 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/arch/arm/mach-imx/imx1.c b/arch/arm/mach-imx/imx1.c
index 18901ea..53ee788 100644
--- a/arch/arm/mach-imx/imx1.c
+++ b/arch/arm/mach-imx/imx1.c
@@ -29,13 +29,13 @@ static void imx1_detect_reset_source(void)
 
 	switch (val) {
 	case RSR_EXR:
-		set_reset_source(RESET_RST);
+		set_reset_source(RESET_RESET);
 		return;
 	case RSR_WDR:
-		set_reset_source(RESET_WDG);
+		set_reset_source(RESET_WATCHDOG);
 		return;
 	case 0:
-		set_reset_source(RESET_POR);
+		set_reset_source(RESET_POWER);
 		return;
 	default:
 		/* else keep the default 'unknown' state */
diff --git a/arch/arm/mach-samsung/reset_source.c b/arch/arm/mach-samsung/reset_source.c
index 2456e3f..e2b8808 100644
--- a/arch/arm/mach-samsung/reset_source.c
+++ b/arch/arm/mach-samsung/reset_source.c
@@ -29,21 +29,21 @@ static int s3c_detect_reset_source(void)
 	u32 reg = readl(S3C_GPIO_BASE + S3C2440_GSTATUS2);
 
 	if (reg & S3C2440_GSTATUS2_PWRST) {
-		set_reset_source(RESET_POR);
+		set_reset_source(RESET_POWER);
 		writel(S3C2440_GSTATUS2_PWRST,
 					S3C_GPIO_BASE + S3C2440_GSTATUS2);
 		return 0;
 	}
 
 	if (reg & S3C2440_GSTATUS2_SLEEPRST) {
-		set_reset_source(RESET_WKE);
+		set_reset_source(RESET_WAKEUP);
 		writel(S3C2440_GSTATUS2_SLEEPRST,
 					S3C_GPIO_BASE + S3C2440_GSTATUS2);
 		return 0;
 	}
 
 	if (reg & S3C2440_GSTATUS2_WDRST) {
-		set_reset_source(RESET_WDG);
+		set_reset_source(RESET_WATCHDOG);
 		writel(S3C2440_GSTATUS2_WDRST,
 					S3C_GPIO_BASE + S3C2440_GSTATUS2);
 		return 0;
diff --git a/common/reset_source.c b/common/reset_source.c
index 2a7f9ff..ff76857 100644
--- a/common/reset_source.c
+++ b/common/reset_source.c
@@ -19,12 +19,12 @@
 #include <reset_source.h>
 
 static const char * const reset_src_names[] = {
-	[RESET_UKWN] = "unknown",
-	[RESET_POR] = "POR",
-	[RESET_RST] = "RST",
-	[RESET_WDG] = "WDG",
-	[RESET_WKE] = "WKE",
-	[RESET_JTAG] = "JTAG",
+	[RESET_UKWNOWN] = "unknown",
+	[RESET_POWER] = "power",
+	[RESET_RESET] = "reset",
+	[RESET_WATCHDOG] = "watchdog",
+	[RESET_WAKEUP] = "wakeup",
+	[RESET_JTAG] = "jtag",
 };
 
 void set_reset_source(enum reset_src_type st)
@@ -37,7 +37,7 @@ EXPORT_SYMBOL(set_reset_source);
 static int init_reset_source(void)
 {
 	globalvar_add_simple("system.reset");
-	set_reset_source(RESET_UKWN);
+	set_reset_source(RESET_UKWNOWN);
 	return 0;
 }
 
diff --git a/drivers/watchdog/im28wd.c b/drivers/watchdog/im28wd.c
index ca32a72..999f5b4 100644
--- a/drivers/watchdog/im28wd.c
+++ b/drivers/watchdog/im28wd.c
@@ -82,17 +82,17 @@ static void __maybe_unused imx28_detect_reset_source(const struct imx28_wd *p)
 	if (reg & MXS_RTC_PERSISTENT0_EXT_RST) {
 		writel(MXS_RTC_PERSISTENT0_EXT_RST,
 			p->regs + MXS_RTC_PERSISTENT0 + MXS_RTC_CLR_ADDR);
-		set_reset_source(RESET_POR);
+		set_reset_source(RESET_POWER);
 		return;
 	}
 	if (reg & MXS_RTC_PERSISTENT0_THM_RST) {
 		writel(MXS_RTC_PERSISTENT0_THM_RST,
 			p->regs + MXS_RTC_PERSISTENT0 + MXS_RTC_CLR_ADDR);
-		set_reset_source(RESET_RST);
+		set_reset_source(RESET_RESET);
 		return;
 	}
 
-	set_reset_source(RESET_RST);
+	set_reset_source(RESET_RESET);
 }
 
 static int imx28_wd_probe(struct device_d *dev)
diff --git a/drivers/watchdog/imxwd.c b/drivers/watchdog/imxwd.c
index c422f98..b13247b 100644
--- a/drivers/watchdog/imxwd.c
+++ b/drivers/watchdog/imxwd.c
@@ -129,17 +129,17 @@ static void imx_watchdog_detect_reset_source(struct imx_wd *priv)
 	u16 val = readw(priv->base + IMX21_WDOG_WSTR);
 
 	if (val & WSTR_COLDSTART) {
-		set_reset_source(RESET_POR);
+		set_reset_source(RESET_POWER);
 		return;
 	}
 
 	if (val & (WSTR_HARDRESET | WSTR_WARMSTART)) {
-		set_reset_source(RESET_RST);
+		set_reset_source(RESET_RESET);
 		return;
 	}
 
 	if (val & WSTR_WDOG) {
-		set_reset_source(RESET_WDG);
+		set_reset_source(RESET_WATCHDOG);
 		return;
 	}
 
diff --git a/include/reset_source.h b/include/reset_source.h
index 75e7ba8..1db1f4f 100644
--- a/include/reset_source.h
+++ b/include/reset_source.h
@@ -14,11 +14,11 @@
 # define __INCLUDE_RESET_SOURCE_H
 
 enum reset_src_type {
-	RESET_UKWN,	/* maybe the SoC cannot detect the reset source */
-	RESET_POR,	/* Power On Reset (cold start) */
-	RESET_RST,	/* generic ReSeT (warm start) */
-	RESET_WDG,	/* watchdog */
-	RESET_WKE,	/* wake-up (some SoCs can handle this) */
+	RESET_UKWNOWN,	/* maybe the SoC cannot detect the reset source */
+	RESET_POWER,	/* Power On Reset (cold start) */
+	RESET_RESET,	/* generic ReSeT (warm start) */
+	RESET_WATCHDOG,	/* watchdog */
+	RESET_WAKEUP,	/* wake-up (some SoCs can handle this) */
 	RESET_JTAG,	/* JTAG reset */
 };
 
-- 
1.7.10.4


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-10-13 13:51 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-10-13  7:51 [PATCH 1/4] reset_source: make enum and string human readable Jean-Christophe PLAGNIOL-VILLARD
2012-10-13  7:51 ` [PATCH 2/4] reset_source: add software reset as possible source Jean-Christophe PLAGNIOL-VILLARD
2012-10-13  7:51 ` [PATCH 3/4] reset_resource: add wakeup source Jean-Christophe PLAGNIOL-VILLARD
2012-10-13  7:51 ` [PATCH 4/4] at91: add reset and wakeup source detection support Jean-Christophe PLAGNIOL-VILLARD
2012-10-13 13:46 [PATCH 0/4 v2] add wakup source Jean-Christophe PLAGNIOL-VILLARD
2012-10-13 13:49 ` [PATCH 1/4] reset_source: make enum and string human readable Jean-Christophe PLAGNIOL-VILLARD

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox