public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: "Pali Rohár" <pali.rohar@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 08/15] RX-51: Add support for resetting twl4030 watchdog
Date: Thu,  1 Sep 2011 13:34:34 +0200	[thread overview]
Message-ID: <1314876881-9669-8-git-send-email-pali.rohar@gmail.com> (raw)
In-Reply-To: <1314876881-9669-1-git-send-email-pali.rohar@gmail.com>

 * use test_and_set_bit and __clear_bit to access twl4030 i2c bus only once at same time
 * do not reset watchdog too often (max every 2 seconds)
---
 board/nokia/rx51/rx51.c      |   25 +++++++++++++++++++++++--
 include/configs/nokia_rx51.h |    1 +
 2 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/board/nokia/rx51/rx51.c b/board/nokia/rx51/rx51.c
index 96e65d6..a90e4dd 100644
--- a/board/nokia/rx51/rx51.c
+++ b/board/nokia/rx51/rx51.c
@@ -36,6 +36,7 @@
 #include <i2c.h>
 #include <video_fb.h>
 #include <asm/io.h>
+#include <asm/bitops.h>
 #include <asm/arch/mux.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/omap_gpio.h>
@@ -192,6 +193,23 @@ int rx51_kp_init(void)
 	return ret;
 }
 
+static unsigned long int twl_wd_start = 0;
+static volatile unsigned long int twl_chip_lock;
+
+void hw_watchdog_reset(void)
+{
+
+	if ( get_timer(twl_wd_start) < 2 * CONFIG_SYS_HZ )
+		return;
+
+	if ( test_and_set_bit(0, &twl_chip_lock) )
+		return;
+	twl4030_i2c_write_u8(TWL4030_CHIP_PM_RECEIVER, 31, TWL4030_PM_RECEIVER_WATCHDOG_CFG);
+	__clear_bit(0, &twl_chip_lock);
+
+	twl_wd_start = get_timer(0);
+}
+
 char rx51_kp_fill(u8 k, u8 mods)
 {
 	if (mods & 2) { /* fn */
@@ -217,6 +235,9 @@ int rx51_kp_tstc(void)
 	u8 intr;
 	u8 mods;
 
+	if ( test_and_set_bit(0, &twl_chip_lock) )
+		return 0;
+
 	/* twl4030 remembers up to 2 events */
 	for (i = 0; i < 2; i++)	{
 
@@ -249,6 +270,7 @@ int rx51_kp_tstc(void)
 			}
 		}
 	}
+	__clear_bit(0, &twl_chip_lock);
 	return (KEYBUF_SIZE + keybuf_tail - keybuf_head)%KEYBUF_SIZE;
 }
 
@@ -256,7 +278,6 @@ int rx51_kp_getc(void)
 {
 	keybuf_head %= KEYBUF_SIZE;
 	while (!rx51_kp_tstc())
-		;
+		udelay(10000);
 	return keybuf[keybuf_head++];
 }
-
diff --git a/include/configs/nokia_rx51.h b/include/configs/nokia_rx51.h
index 6da56f5..6d93146 100644
--- a/include/configs/nokia_rx51.h
+++ b/include/configs/nokia_rx51.h
@@ -144,6 +144,7 @@
 #define CONFIG_SYS_I2C_BUS		0
 #define CONFIG_SYS_I2C_BUS_SELECT	1
 #define CONFIG_DRIVER_OMAP34XX_I2C	1
+#define CONFIG_HW_WATCHDOG
 
 /*
  * TWL4030
-- 
1.7.4.1

  parent reply	other threads:[~2011-09-01 11:34 UTC|newest]

Thread overview: 111+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-01  8:42 [U-Boot] Help: U-Boot on Nokia RX-51 (aka N900) Pali Rohár
2011-09-01  8:46 ` Marek Vasut
2011-09-01  9:06   ` Pali Rohár
2011-09-01  9:39     ` Marek Vasut
2011-09-01  9:02 ` Stefano Babic
2011-09-01  9:09   ` Pali Rohár
2011-09-01  9:24     ` Stefano Babic
2011-09-01 10:49       ` Pali Rohár
2011-09-01 11:04         ` Marek Vasut
2011-09-01 11:34           ` [U-Boot] [PATCH 01/15] Make bootm optionally use pre-existing atags for Linux kernel boot Pali Rohár
2011-09-01 11:34             ` [U-Boot] [PATCH 02/15] Store existing atags at startup if chainloading Pali Rohár
2011-09-01 11:34             ` [U-Boot] [PATCH 03/15] Nokia RX-51 aka N900 support Pali Rohár
2011-09-01 13:57               ` Mike Frysinger
2011-10-09  0:20                 ` Pali Rohár
2011-10-09 15:59                   ` Mike Frysinger
2011-10-12 15:10                     ` Pali Rohár
2011-09-01 11:34             ` [U-Boot] [PATCH 04/15] Only delay boot if keyboard open Pali Rohár
2011-09-01 13:58               ` Mike Frysinger
2011-10-08 23:29                 ` Pali Rohár
2011-10-09 16:00                   ` Mike Frysinger
2011-09-01 11:34             ` [U-Boot] [PATCH 05/15] Change Wireless LAN mode from M4 to M0 Pali Rohár
2011-09-01 11:34             ` [U-Boot] [PATCH 06/15] Look for boot.scr on 'mmc 0:3' instead 'mmc 0' and add support for loading boot.scr from 'mmc 2:1' Pali Rohár
2011-09-01 11:34             ` [U-Boot] [PATCH 07/15] RX-51: Fixed compilation on top of master (changes from Beagle Board) Pali Rohár
2011-09-01 11:34             ` Pali Rohár [this message]
2011-09-01 11:34             ` [U-Boot] [PATCH 09/15] RX-51: Fix keymap Pali Rohár
2011-09-01 11:34             ` [U-Boot] [PATCH 10/15] include/common.h: Add some macros for ANSI escape codes Pali Rohár
2011-09-01 11:34             ` [U-Boot] [PATCH 11/15] drivers/video/cfb_console.c: Added support " Pali Rohár
2011-09-01 11:34             ` [U-Boot] [PATCH 12/15] New command bootmenu: ANSI terminal Boot Menu support Pali Rohár
2011-09-01 13:59               ` Mike Frysinger
2011-10-08 23:31                 ` Pali Rohár
2011-09-01 11:34             ` [U-Boot] [PATCH 13/15] New config variable CONFIG_MENU Pali Rohár
2011-09-01 11:34             ` [U-Boot] [PATCH 14/15] New config variable CONFIG_PREMONITOR Pali Rohár
2011-09-01 11:34             ` [U-Boot] [PATCH 15/15] RX-51: Add support for bootmenu Pali Rohár
2011-09-01 13:52             ` [U-Boot] [PATCH 01/15] Make bootm optionally use pre-existing atags for Linux kernel boot Mike Frysinger
2011-10-08 23:37               ` Pali Rohár
2011-09-01 11:53         ` [U-Boot] Help: U-Boot on Nokia RX-51 (aka N900) Wolfgang Denk
2011-10-09  0:24           ` Pali Rohár
2011-09-01 17:11 ` Pali Rohár
2011-12-17 16:59 ` [U-Boot] " Pali Rohár
2011-12-17 17:03   ` [U-Boot] [PATCH 01/16] arch/arm/cpu/armv7/omap3/lowlevel_init.S: save_boot_params Pali Rohár
2011-12-17 17:03     ` [U-Boot] [PATCH 02/16] arch/arm/lib/bootm.c: Optionally use existing atags Pali Rohár
2011-12-18 18:54       ` Mike Frysinger
2011-12-18 20:12         ` Pali Rohár
2011-12-17 17:03     ` [U-Boot] [PATCH 03/16] include/twl4030.h: Add power bus message definitions Pali Rohár
2011-12-17 17:03     ` [U-Boot] [PATCH 04/16] include/common.h: Add some ANSI escape codes definitions Pali Rohár
2011-12-17 17:03     ` [U-Boot] [PATCH 05/16] common/main.c: Fix function readline Pali Rohár
2011-12-18 18:58       ` Mike Frysinger
2011-12-18 20:12         ` Pali Rohár
2011-12-17 17:03     ` [U-Boot] [PATCH 06/16] drivers/video/cfb_console.c: Fix function console_scrollup Pali Rohár
2011-12-17 17:03     ` [U-Boot] [PATCH 07/16] drivers/video/cfb_console.c: Add function console_swap_colors Pali Rohár
2011-12-18 18:57       ` Mike Frysinger
2011-12-18 19:00         ` Pali Rohár
2011-12-18 20:06           ` Mike Frysinger
2011-12-17 17:03     ` [U-Boot] [PATCH 08/16] drivers/video/cfb_console.c: Add function console_clear and console_clear_line Pali Rohár
2011-12-18 19:00       ` Mike Frysinger
2011-12-17 17:03     ` [U-Boot] [PATCH 09/16] drivers/video/cfb_console.c: Add functions for moving with cursor Pali Rohár
2011-12-18 19:00       ` Mike Frysinger
2011-12-17 17:03     ` [U-Boot] [PATCH 10/16] drivers/video/cfb_console.c: Add support for some ANSI terminal escape codes Pali Rohár
2011-12-18 19:01       ` Mike Frysinger
2011-12-17 17:03     ` [U-Boot] [PATCH 11/16] New command clr: Clear the ANSI terminal Pali Rohár
2011-12-18 18:56       ` Mike Frysinger
2011-12-18 19:20         ` Pali Rohár
2011-12-18 20:07           ` Mike Frysinger
2011-12-17 17:03     ` [U-Boot] [PATCH 12/16] New config variable CONFIG_MENUCMD Pali Rohár
2011-12-17 17:03     ` [U-Boot] [PATCH 13/16] New config variable CONFIG_PREMONITOR Pali Rohár
2011-12-18 19:05       ` Mike Frysinger
2011-12-18 19:37         ` Pali Rohár
2011-12-18 20:08           ` Mike Frysinger
2011-12-18 20:14             ` Pali Rohár
2011-12-17 17:03     ` [U-Boot] [PATCH 14/16] New board support: Nokia RX-51 aka N900 Pali Rohár
2011-12-18 19:06       ` Mike Frysinger
2011-12-17 17:03     ` [U-Boot] [PATCH 15/16] New command bootmenu: ANSI terminal Boot Menu support Pali Rohár
2011-12-18 19:07       ` Mike Frysinger
2011-12-18 19:12         ` Pali Rohár
2011-12-18 20:07           ` Mike Frysinger
2011-12-18 20:16             ` Pali Rohár
2012-01-06  6:59               ` Mike Frysinger
2011-12-17 17:03     ` [U-Boot] [PATCH 16/16] RX-51: Add support for bootmenu Pali Rohár
2011-12-17 19:25   ` [U-Boot] U-Boot on Nokia RX-51 (aka N900) Wolfgang Denk
2011-12-18 10:13     ` Pali Rohár
2011-12-18 12:42       ` Wolfgang Denk
2011-12-18 19:01   ` Mike Frysinger
2011-12-18 20:10     ` Pali Rohár
2011-12-18 21:33   ` [U-Boot] [PATCH v3] " Pali Rohár
2011-12-18 21:33     ` [U-Boot] [PATCH 01/15] arch/arm/cpu/armv7/omap3/lowlevel_init.S: save_boot_params Pali Rohár
2011-12-18 21:33       ` [U-Boot] [PATCH 02/15] arch/arm/lib/bootm.c: Optionally use existing atags Pali Rohár
2011-12-18 21:33       ` [U-Boot] [PATCH 03/15] include/twl4030.h: Add power bus message definitions Pali Rohár
2011-12-18 21:34       ` [U-Boot] [PATCH 04/15] include/common.h: Add some ANSI escape codes definitions Pali Rohár
2011-12-18 21:34       ` [U-Boot] [PATCH 05/15] common/main.c: Fix function readline Pali Rohár
2012-01-06 20:15         ` Mike Frysinger
2012-01-07  8:51           ` Pali Rohár
2012-02-27  4:33             ` Mike Frysinger
2012-02-27 18:40               ` Pali Rohár
2012-02-27 20:20                 ` Mike Frysinger
2011-12-18 21:34       ` [U-Boot] [PATCH 06/15] drivers/video/cfb_console.c: Fix function console_scrollup Pali Rohár
2011-12-18 21:34       ` [U-Boot] [PATCH 07/15] drivers/video/cfb_console.c: Add function console_clear and console_clear_line Pali Rohár
2011-12-18 21:34       ` [U-Boot] [PATCH 08/15] drivers/video/cfb_console.c: Add functions for moving with cursor Pali Rohár
2011-12-18 21:34       ` [U-Boot] [PATCH 09/15] drivers/video/cfb_console.c: Add support for some ANSI terminal escape codes Pali Rohár
2011-12-18 21:34       ` [U-Boot] [PATCH 10/15] New command clear: Clear the ANSI terminal Pali Rohár
2011-12-18 21:34       ` [U-Boot] [PATCH 11/15] New config variable CONFIG_MENUCMD Pali Rohár
2011-12-18 21:34       ` [U-Boot] [PATCH 12/15] New config variable CONFIG_PREMONITOR Pali Rohár
2011-12-18 21:34       ` [U-Boot] [PATCH 13/15] New board support: Nokia RX-51 aka N900 Pali Rohár
2012-01-03 16:05         ` Tom Rini
2012-01-10 13:14           ` Pali Rohár
2012-01-10 14:53             ` Tom Rini
2011-12-18 21:34       ` [U-Boot] [PATCH 14/15] New command bootmenu: ANSI terminal Boot Menu support Pali Rohár
2011-12-18 21:34       ` [U-Boot] [PATCH 15/15] RX-51: Add support for bootmenu Pali Rohár
2012-01-03 16:06         ` Tom Rini
2011-12-18 23:57     ` [U-Boot] [PATCH v3] U-Boot on Nokia RX-51 (aka N900) Wolfgang Denk
2011-12-19  7:17       ` Pali Rohár
2011-12-19  8:43         ` Graeme Russ

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=1314876881-9669-8-git-send-email-pali.rohar@gmail.com \
    --to=pali.rohar@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox