All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tom Rix <Tom.Rix@windriver.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 3/4] ZOOM2 Add power reset button
Date: Wed, 10 Jun 2009 07:53:51 -0500	[thread overview]
Message-ID: <1244638432-30893-4-git-send-email-Tom.Rix@windriver.com> (raw)
In-Reply-To: <1244638432-30893-3-git-send-email-Tom.Rix@windriver.com>

The power reset button is on the top right side of the main board.
Press and hold for about to 8 seconds to completely reset the board.

Some of the beta boards have a hardware problem that prevents
using this feature.  If is difficult to further characterize the
boards that fail.  So disable resetting for all beta boards.

Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
---
 board/omap3/zoom2/zoom2.c     |   13 +++++++++++++
 drivers/i2c/twl4030_i2c.c     |   22 ++++++++++++++++++++++
 include/configs/omap3_zoom2.h |    1 +
 include/twl4030.h             |   10 ++++++++++
 4 files changed, 46 insertions(+), 0 deletions(-)

diff --git a/board/omap3/zoom2/zoom2.c b/board/omap3/zoom2/zoom2.c
index 08fdafb..d5da920 100644
--- a/board/omap3/zoom2/zoom2.c
+++ b/board/omap3/zoom2/zoom2.c
@@ -32,6 +32,7 @@
 #ifdef CONFIG_STATUS_LED
 #include <status_led.h>
 #endif
+#include <twl4030.h>
 #include <asm/io.h>
 #include <asm/arch/gpio.h>
 #include <asm/arch/mem.h>
@@ -141,6 +142,18 @@ int board_init (void)
 	/* boot param addr */
 	gd->bd->bi_boot_params = (OMAP34XX_SDRC_CS0 + 0x100);
 
+	/*
+	 * Board Reset
+	 * The board is reset by holding the the large button
+	 * on the top right side of the main board for
+	 * eight seconds.
+	 *
+	 * There are reported problems of some beta boards
+	 * continously resetting.  For those boards, disable resetting.
+	 */
+	if (ZOOM2_REVISION_PRODUCTION <= zoom2_get_revision())
+		twl4030_power_reset_init();
+
 #if defined(CONFIG_STATUS_LED) && defined(STATUS_LED_BOOT)
 	status_led_set (STATUS_LED_BOOT, STATUS_LED_ON);
 #endif
diff --git a/drivers/i2c/twl4030_i2c.c b/drivers/i2c/twl4030_i2c.c
index 774f813..549f974 100644
--- a/drivers/i2c/twl4030_i2c.c
+++ b/drivers/i2c/twl4030_i2c.c
@@ -35,3 +35,25 @@ static inline int twl4030_i2c_read_u8(u8 chip_no, u8 *val, u8 reg)
 	return i2c_read(chip_no, reg, 1, val, 1);
 }
 
+/*
+ * Power Reset
+ */
+void twl4030_power_reset_init(void)
+{
+#ifdef CONFIG_OMAP3_ZOOM2
+	u8 val = 0;
+	if (twl4030_i2c_read_u8(TWL4030_CHIP_PM_MASTER, &val,
+				TWL4030_PM_MASTER_P1_SW_EVENTS)) {
+		printf("Error:TWL4030: failed to read the power register\n");
+		printf("Could not initialize hardware reset\n");
+	} else {
+		val |= TWL4030_PM_MASTER_SW_EVENTS_STOPON_PWRON;
+		if (twl4030_i2c_write_u8(TWL4030_CHIP_PM_MASTER, val,
+					 TWL4030_PM_MASTER_P1_SW_EVENTS)) {
+			printf("Error:TWL4030: failed to write the power register\n");
+			printf("Could not initialize hardware reset\n");
+		}
+	}
+#endif
+}
+
diff --git a/include/configs/omap3_zoom2.h b/include/configs/omap3_zoom2.h
index c2ad5bf..e69c5f1 100644
--- a/include/configs/omap3_zoom2.h
+++ b/include/configs/omap3_zoom2.h
@@ -145,6 +145,7 @@
 #define CONFIG_SYS_I2C_BUS		0
 #define CONFIG_SYS_I2C_BUS_SELECT	1
 #define CONFIG_DRIVER_OMAP34XX_I2C	1
+#define CONFIG_DRIVER_TWL4030_I2C	1
 
 /*
  * Board NAND Info.
diff --git a/include/twl4030.h b/include/twl4030.h
index d17fea5..bb07036 100644
--- a/include/twl4030.h
+++ b/include/twl4030.h
@@ -218,4 +218,14 @@
 #define TWL4030_USB_PHY_CLK_CTRL_STS			(0xFF)
 #define TWL4030_USB_PHY_DPLL_CLK			(1 << 0)
 
+#ifdef CONFIG_DRIVER_TWL4030_I2C
+
+/* Power Reset, use to initialize system wide resetting */
+void twl4030_power_reset_init(void);
+
+#else
+/* stubs */
+#define twl4030_power_reset_init()
+
+#endif /* CONFIG_DRIVER_TWL4030_I2C */
 #endif /* TWL4030_H */
-- 
1.6.0.5

  reply	other threads:[~2009-06-10 12:53 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-10 12:53 [U-Boot] Zoom hw reset Tom Rix
2009-06-10 12:53 ` [U-Boot] [PATCH 1/4] OMAP3 I2C Fix the sampling clock Tom Rix
2009-06-10 12:53   ` [U-Boot] [PATCH 2/4] I2C Add initial support for TWL4030 Tom Rix
2009-06-10 12:53     ` Tom Rix [this message]
2009-06-10 12:53       ` [U-Boot] [PATCH 4/4] ZOOM1 Add power reset button Tom Rix
2009-06-12 21:46         ` Jean-Christophe PLAGNIOL-VILLARD
2009-06-12 21:57           ` Tom
2009-06-12 23:08             ` Menon, Nishanth
2009-06-13  2:28               ` Tom
2009-06-13 14:16                 ` Tom
2009-06-13 14:26                   ` Nishanth Menon
2009-06-10 14:27       ` [U-Boot] [PATCH 3/4] ZOOM2 " Peter Tyser
2009-06-10 14:43         ` Menon, Nishanth
2009-06-10 15:43           ` Dirk Behme
2009-06-10 16:16             ` Menon, Nishanth
2009-06-10 16:25               ` Peter Tyser
2009-06-10 18:08                 ` Heiko Schocher
2009-06-10 18:27                 ` Menon, Nishanth
2009-06-10 18:21                   ` Heiko Schocher
2009-06-10 18:50                     ` Menon, Nishanth
2009-06-10 20:27                   ` Jean-Christophe PLAGNIOL-VILLARD
2009-06-12 13:02                     ` Tom
2009-06-13 14:27                       ` Jean-Christophe PLAGNIOL-VILLARD
2009-06-10 18:06               ` Heiko Schocher
2009-06-10 18:04             ` Heiko Schocher
2009-06-10 17:56         ` Heiko Schocher
2009-06-10 17:48       ` Heiko Schocher
2009-06-10 14:46     ` [U-Boot] [PATCH 2/4] I2C Add initial support for TWL4030 Menon, Nishanth
2009-06-10 17:59       ` Heiko Schocher
2009-06-10 17:45     ` Heiko Schocher
2009-07-19  9:19     ` Wolfgang Denk
2009-07-19 15:23       ` Heiko Schocher
2009-07-19 17:06         ` Tom
2009-07-20  9:12           ` Heiko Schocher
2009-07-22 21:41             ` Jean-Christophe PLAGNIOL-VILLARD
2009-07-20 15:38           ` Dirk Behme
2009-06-10 14:52   ` [U-Boot] [PATCH 1/4] OMAP3 I2C Fix the sampling clock Menon, Nishanth
2009-06-11  2:43     ` Tom
2009-06-11  4:12       ` Menon, Nishanth
2009-06-11 14:02         ` Tom
2009-06-12 21:44           ` Jean-Christophe PLAGNIOL-VILLARD
2009-06-12 22:06             ` Tom
2009-06-17 22:31             ` [U-Boot] RFC " Tom
2009-06-12 21:41         ` [U-Boot] " Jean-Christophe PLAGNIOL-VILLARD

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1244638432-30893-4-git-send-email-Tom.Rix@windriver.com \
    --to=tom.rix@windriver.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.