On Jun 12, 2007, at 3:59 AM, Domen Puncer wrote:

> Driver for internal mpc5200 watchdog on general purpose timer 0.
> For IPB clock of 132 MHz the maximum timeout is about 32 seconds.
>
>
> Signed-off-by: Domen Puncer <[EMAIL PROTECTED]>

Should really be submitted to the watchdog maintainer if you want  
this in the kernel

> ---
> Hi!
>
> I also have some generic GPT code that one could extend with
> what he/she needs. Mail me if you'd find it useful.
>
>
>  drivers/char/watchdog/Kconfig       |    4
>  drivers/char/watchdog/Makefile      |    1
>  drivers/char/watchdog/mpc5200_wdt.c |  257 ++++++++++++++++++++++++ 
> ++++++++++++
>  3 files changed, 262 insertions(+)
>
> Index: work-powerpc.git/drivers/char/watchdog/Kconfig
> ===================================================================
> --- work-powerpc.git.orig/drivers/char/watchdog/Kconfig
> +++ work-powerpc.git/drivers/char/watchdog/Kconfig
> @@ -521,6 +521,10 @@ config 8xx_WDT
>       tristate "MPC8xx Watchdog Timer"
>       depends on 8xx
>
> +config MPC5200_WDT
> +     tristate "MPC5200 Watchdog Timer"
> +     depends on PPC_MPC52xx
> +
>  config 83xx_WDT
>       tristate "MPC83xx Watchdog Timer"
>       depends on PPC_83xx
> Index: work-powerpc.git/drivers/char/watchdog/Makefile
> ===================================================================
> --- work-powerpc.git.orig/drivers/char/watchdog/Makefile
> +++ work-powerpc.git/drivers/char/watchdog/Makefile
> @@ -64,6 +64,7 @@ obj-$(CONFIG_SBC_EPX_C3_WATCHDOG) += sbc
>
>  # PowerPC Architecture
>  obj-$(CONFIG_8xx_WDT) += mpc8xx_wdt.o
> +obj-$(CONFIG_MPC5200_WDT) += mpc5200_wdt.o
>  obj-$(CONFIG_83xx_WDT) += mpc83xx_wdt.o
>  obj-$(CONFIG_MV64X60_WDT) += mv64x60_wdt.o
>  obj-$(CONFIG_BOOKE_WDT) += booke_wdt.o
> Index: work-powerpc.git/drivers/char/watchdog/mpc5200_wdt.c
> ===================================================================
> --- /dev/null
> +++ work-powerpc.git/drivers/char/watchdog/mpc5200_wdt.c
> @@ -0,0 +1,257 @@
> +#include <linux/init.h>
> +#include <linux/module.h>
> +#include <linux/miscdevice.h>
> +#include <linux/watchdog.h>
> +#include <linux/io.h>
> +#include <asm/of_platform.h>
> +#include <asm/uaccess.h>
> +#include <asm/mpc52xx.h>
> +
> +
> +#define GPT_MODE_WDT         (1<<15)
> +#define GPT_MODE_CE          (1<<12)
> +#define GPT_MODE_MS_TIMER    (0x4)
> +
> +
> +struct mpc5200_wdt {
> +     unsigned count; /* timer ticks before watchdog kicks in */
> +     long ipb_freq;
> +     struct miscdevice miscdev;
> +     struct resource mem;
> +     struct mpc52xx_gpt __iomem *regs;
> +     struct mpc52xx_gpt saved_regs;

saved_regs isn't used anywhere

[snip]

- k


_______________________________________________
Linuxppc-embedded mailing list
Linuxppc-embedded@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

Reply via email to