Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
pnx4008_wdt.c File Reference
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/miscdevice.h>
#include <linux/watchdog.h>
#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/clk.h>
#include <linux/spinlock.h>
#include <linux/io.h>
#include <linux/slab.h>
#include <linux/err.h>
#include <linux/of.h>
#include <mach/hardware.h>

Go to the source code of this file.

Macros

#define pr_fmt(fmt)   KBUILD_MODNAME ": " fmt
 
#define DEFAULT_HEARTBEAT   19
 
#define MAX_HEARTBEAT   60
 
#define WDTIM_INT(p)   ((p) + 0x0)
 
#define WDTIM_CTRL(p)   ((p) + 0x4)
 
#define WDTIM_COUNTER(p)   ((p) + 0x8)
 
#define WDTIM_MCTRL(p)   ((p) + 0xC)
 
#define WDTIM_MATCH0(p)   ((p) + 0x10)
 
#define WDTIM_EMR(p)   ((p) + 0x14)
 
#define WDTIM_PULSE(p)   ((p) + 0x18)
 
#define WDTIM_RES(p)   ((p) + 0x1C)
 
#define MATCH_INT   1
 
#define COUNT_ENAB   1
 
#define RESET_COUNT   (1 << 1)
 
#define DEBUG_EN   (1 << 2)
 
#define MR0_INT   1
 
#define RESET_COUNT0   (1 << 2)
 
#define STOP_COUNT0   (1 << 2)
 
#define M_RES1   (1 << 3)
 
#define M_RES2   (1 << 4)
 
#define RESFRC1   (1 << 5)
 
#define RESFRC2   (1 << 6)
 
#define EXT_MATCH0   1
 
#define MATCH_OUTPUT_HIGH   (2 << 4) /*a MATCH_CTRL setting */
 
#define WDOG_RESET   1 /* read only */
 
#define WDOG_COUNTER_RATE   13000000 /*the counter clock is 13 MHz fixed */
 

Functions

 module_platform_driver (platform_wdt_driver)
 
 MODULE_AUTHOR ("MontaVista Software, Inc. <source@mvista.com>")
 
 MODULE_AUTHOR ("Wolfram Sang <[email protected]>")
 
 MODULE_DESCRIPTION ("PNX4008 Watchdog Driver")
 
 module_param (heartbeat, uint, 0)
 
 MODULE_PARM_DESC (heartbeat,"Watchdog heartbeat period in seconds from 1 to "__MODULE_STRING(MAX_HEARTBEAT)", default "__MODULE_STRING(DEFAULT_HEARTBEAT))
 
 module_param (nowayout, bool, 0)
 
 MODULE_PARM_DESC (nowayout,"Set to 1 to keep watchdog running after device release")
 
 MODULE_LICENSE ("GPL")
 
 MODULE_ALIAS_MISCDEV (WATCHDOG_MINOR)
 
 MODULE_ALIAS ("platform:pnx4008-watchdog")
 

Variables

struct clkwdt_clk
 

Macro Definition Documentation

#define COUNT_ENAB   1

Definition at line 57 of file pnx4008_wdt.c.

#define DEBUG_EN   (1 << 2)

Definition at line 59 of file pnx4008_wdt.c.

#define DEFAULT_HEARTBEAT   19

Definition at line 40 of file pnx4008_wdt.c.

#define EXT_MATCH0   1

Definition at line 72 of file pnx4008_wdt.c.

#define M_RES1   (1 << 3)

Definition at line 66 of file pnx4008_wdt.c.

#define M_RES2   (1 << 4)

Definition at line 67 of file pnx4008_wdt.c.

#define MATCH_INT   1

Definition at line 54 of file pnx4008_wdt.c.

#define MATCH_OUTPUT_HIGH   (2 << 4) /*a MATCH_CTRL setting */

Definition at line 73 of file pnx4008_wdt.c.

#define MAX_HEARTBEAT   60

Definition at line 41 of file pnx4008_wdt.c.

#define MR0_INT   1

Definition at line 62 of file pnx4008_wdt.c.

#define pr_fmt (   fmt)    KBUILD_MODNAME ": " fmt

Definition at line 20 of file pnx4008_wdt.c.

#define RESET_COUNT   (1 << 1)

Definition at line 58 of file pnx4008_wdt.c.

#define RESET_COUNT0   (1 << 2)

Definition at line 64 of file pnx4008_wdt.c.

#define RESFRC1   (1 << 5)

Definition at line 68 of file pnx4008_wdt.c.

#define RESFRC2   (1 << 6)

Definition at line 69 of file pnx4008_wdt.c.

#define STOP_COUNT0   (1 << 2)

Definition at line 65 of file pnx4008_wdt.c.

#define WDOG_COUNTER_RATE   13000000 /*the counter clock is 13 MHz fixed */

Definition at line 78 of file pnx4008_wdt.c.

#define WDOG_RESET   1 /* read only */

Definition at line 76 of file pnx4008_wdt.c.

#define WDTIM_COUNTER (   p)    ((p) + 0x8)

Definition at line 46 of file pnx4008_wdt.c.

#define WDTIM_CTRL (   p)    ((p) + 0x4)

Definition at line 45 of file pnx4008_wdt.c.

#define WDTIM_EMR (   p)    ((p) + 0x14)

Definition at line 49 of file pnx4008_wdt.c.

#define WDTIM_INT (   p)    ((p) + 0x0)

Definition at line 44 of file pnx4008_wdt.c.

#define WDTIM_MATCH0 (   p)    ((p) + 0x10)

Definition at line 48 of file pnx4008_wdt.c.

#define WDTIM_MCTRL (   p)    ((p) + 0xC)

Definition at line 47 of file pnx4008_wdt.c.

#define WDTIM_PULSE (   p)    ((p) + 0x18)

Definition at line 50 of file pnx4008_wdt.c.

#define WDTIM_RES (   p)    ((p) + 0x1C)

Definition at line 51 of file pnx4008_wdt.c.

Function Documentation

MODULE_ALIAS ( "platform:pnx4008-watchdog )
MODULE_ALIAS_MISCDEV ( WATCHDOG_MINOR  )
MODULE_AUTHOR ( "MontaVista  Software,
Inc.< source @mvista.com >"   
)
MODULE_AUTHOR ( "Wolfram Sang <[email protected]>"  )
MODULE_DESCRIPTION ( "PNX4008 Watchdog Driver"  )
MODULE_LICENSE ( "GPL"  )
module_param ( heartbeat  ,
uint  ,
 
)
module_param ( nowayout  ,
bool  ,
 
)
MODULE_PARM_DESC ( heartbeat  ,
"Watchdog heartbeat period in seconds from 1 to "__MODULE_STRING(MAX_HEARTBEAT)"  ,
default"  __MODULE_STRINGDEFAULT_HEARTBEAT 
)
MODULE_PARM_DESC ( nowayout  ,
"Set to 1 to keep watchdog running after device release  
)
module_platform_driver ( platform_wdt_driver  )

Variable Documentation

struct clk* wdt_clk

Definition at line 85 of file pnx4008_wdt.c.