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

Go to the source code of this file.

Macros

#define MODULE_NAME   "DAVINCI-WDT: "
 
#define DEFAULT_HEARTBEAT   60
 
#define MAX_HEARTBEAT   600 /* really the max margin is 264/27MHz*/
 
#define PID12   (0x0)
 
#define EMUMGT   (0x4)
 
#define TIM12   (0x10)
 
#define TIM34   (0x14)
 
#define PRD12   (0x18)
 
#define PRD34   (0x1C)
 
#define TCR   (0x20)
 
#define TGCR   (0x24)
 
#define WDTCR   (0x28)
 
#define ENAMODE12_DISABLED   (0 << 6)
 
#define ENAMODE12_ONESHOT   (1 << 6)
 
#define ENAMODE12_PERIODIC   (2 << 6)
 
#define TIM12RS_UNRESET   (1 << 0)
 
#define TIM34RS_UNRESET   (1 << 1)
 
#define TIMMODE_64BIT_WDOG   (2 << 2)
 
#define WDEN   (1 << 14)
 
#define WDFLAG   (1 << 15)
 
#define WDKEY_SEQ0   (0xa5c6 << 16)
 
#define WDKEY_SEQ1   (0xda7e << 16)
 
#define WDT_IN_USE   0
 
#define WDT_OK_TO_CLOSE   1
 
#define WDT_REGION_INITED   2
 
#define WDT_DEVICE_INITED   3
 

Functions

 module_platform_driver (platform_wdt_driver)
 
 MODULE_AUTHOR ("Texas Instruments")
 
 MODULE_DESCRIPTION ("DaVinci Watchdog Driver")
 
 module_param (heartbeat, int, 0)
 
 MODULE_PARM_DESC (heartbeat,"Watchdog heartbeat period in seconds from 1 to "__MODULE_STRING(MAX_HEARTBEAT)", default "__MODULE_STRING(DEFAULT_HEARTBEAT))
 
 MODULE_LICENSE ("GPL")
 
 MODULE_ALIAS_MISCDEV (WATCHDOG_MINOR)
 
 MODULE_ALIAS ("platform:watchdog")
 

Variables

struct clkwdt_clk
 

Macro Definition Documentation

#define DEFAULT_HEARTBEAT   60

Definition at line 33 of file davinci_wdt.c.

#define EMUMGT   (0x4)

Definition at line 38 of file davinci_wdt.c.

#define ENAMODE12_DISABLED   (0 << 6)

Definition at line 48 of file davinci_wdt.c.

#define ENAMODE12_ONESHOT   (1 << 6)

Definition at line 49 of file davinci_wdt.c.

#define ENAMODE12_PERIODIC   (2 << 6)

Definition at line 50 of file davinci_wdt.c.

#define MAX_HEARTBEAT   600 /* really the max margin is 264/27MHz*/

Definition at line 34 of file davinci_wdt.c.

#define MODULE_NAME   "DAVINCI-WDT: "

Definition at line 31 of file davinci_wdt.c.

#define PID12   (0x0)

Definition at line 37 of file davinci_wdt.c.

#define PRD12   (0x18)

Definition at line 41 of file davinci_wdt.c.

#define PRD34   (0x1C)

Definition at line 42 of file davinci_wdt.c.

#define TCR   (0x20)

Definition at line 43 of file davinci_wdt.c.

#define TGCR   (0x24)

Definition at line 44 of file davinci_wdt.c.

#define TIM12   (0x10)

Definition at line 39 of file davinci_wdt.c.

#define TIM12RS_UNRESET   (1 << 0)

Definition at line 53 of file davinci_wdt.c.

#define TIM34   (0x14)

Definition at line 40 of file davinci_wdt.c.

#define TIM34RS_UNRESET   (1 << 1)

Definition at line 54 of file davinci_wdt.c.

#define TIMMODE_64BIT_WDOG   (2 << 2)

Definition at line 55 of file davinci_wdt.c.

#define WDEN   (1 << 14)

Definition at line 58 of file davinci_wdt.c.

#define WDFLAG   (1 << 15)

Definition at line 59 of file davinci_wdt.c.

#define WDKEY_SEQ0   (0xa5c6 << 16)

Definition at line 60 of file davinci_wdt.c.

#define WDKEY_SEQ1   (0xda7e << 16)

Definition at line 61 of file davinci_wdt.c.

#define WDT_DEVICE_INITED   3

Definition at line 70 of file davinci_wdt.c.

#define WDT_IN_USE   0

Definition at line 67 of file davinci_wdt.c.

#define WDT_OK_TO_CLOSE   1

Definition at line 68 of file davinci_wdt.c.

#define WDT_REGION_INITED   2

Definition at line 69 of file davinci_wdt.c.

#define WDTCR   (0x28)

Definition at line 45 of file davinci_wdt.c.

Function Documentation

MODULE_ALIAS ( "platform:watchdog"  )
MODULE_ALIAS_MISCDEV ( WATCHDOG_MINOR  )
MODULE_AUTHOR ( "Texas Instruments"  )
MODULE_DESCRIPTION ( "DaVinci Watchdog Driver"  )
MODULE_LICENSE ( "GPL"  )
module_param ( heartbeat  ,
int  ,
 
)
MODULE_PARM_DESC ( heartbeat  ,
"Watchdog heartbeat period in seconds from 1 to "__MODULE_STRING(MAX_HEARTBEAT)"  ,
default"  __MODULE_STRINGDEFAULT_HEARTBEAT 
)
module_platform_driver ( platform_wdt_driver  )

Variable Documentation

struct clk* wdt_clk

Definition at line 74 of file davinci_wdt.c.