| Donald Johnson | 57539c1 | 2011-02-02 16:20:16 +0000 | [diff] [blame] | 1 | /* | 
|  | 2 | *      Intel_SCU 0.2:  An Intel SCU IOH Based Watchdog Device | 
|  | 3 | *			for Intel part #(s): | 
|  | 4 | *				- AF82MP20 PCH | 
|  | 5 | * | 
|  | 6 | *      Copyright (C) 2009-2010 Intel Corporation. All rights reserved. | 
|  | 7 | * | 
|  | 8 | *      This program is free software; you can redistribute it and/or | 
|  | 9 | *      modify it under the terms of version 2 of the GNU General | 
|  | 10 | *      Public License as published by the Free Software Foundation. | 
|  | 11 | * | 
|  | 12 | *      This program is distributed in the hope that it will be | 
|  | 13 | *      useful, but WITHOUT ANY WARRANTY; without even the implied | 
|  | 14 | *      warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR | 
|  | 15 | *      PURPOSE.  See the GNU General Public License for more details. | 
|  | 16 | *      You should have received a copy of the GNU General Public | 
|  | 17 | *      License along with this program; if not, write to the Free | 
|  | 18 | *      Software Foundation, Inc., 59 Temple Place - Suite 330, | 
|  | 19 | *      Boston, MA  02111-1307, USA. | 
|  | 20 | *      The full GNU General Public License is included in this | 
|  | 21 | *      distribution in the file called COPYING. | 
|  | 22 | * | 
|  | 23 | */ | 
|  | 24 |  | 
|  | 25 | #ifndef __INTEL_SCU_WATCHDOG_H | 
|  | 26 | #define __INTEL_SCU_WATCHDOG_H | 
|  | 27 |  | 
|  | 28 | #define PFX "Intel_SCU: " | 
|  | 29 | #define WDT_VER "0.3" | 
|  | 30 |  | 
|  | 31 | /* minimum time between interrupts */ | 
|  | 32 | #define MIN_TIME_CYCLE 1 | 
|  | 33 |  | 
|  | 34 | /* Time from warning to reboot is 2 seconds */ | 
|  | 35 | #define DEFAULT_SOFT_TO_HARD_MARGIN 2 | 
|  | 36 |  | 
|  | 37 | #define MAX_TIME 170 | 
|  | 38 |  | 
|  | 39 | #define DEFAULT_TIME 5 | 
|  | 40 |  | 
|  | 41 | #define MAX_SOFT_TO_HARD_MARGIN (MAX_TIME-MIN_TIME_CYCLE) | 
|  | 42 |  | 
|  | 43 | /* Ajustment to clock tick frequency to make timing come out right */ | 
|  | 44 | #define FREQ_ADJUSTMENT 8 | 
|  | 45 |  | 
|  | 46 | struct intel_scu_watchdog_dev { | 
|  | 47 | ulong driver_open; | 
|  | 48 | ulong driver_closed; | 
|  | 49 | u32 timer_started; | 
|  | 50 | u32 timer_set; | 
|  | 51 | u32 threshold; | 
|  | 52 | u32 soft_threshold; | 
|  | 53 | u32 __iomem *timer_load_count_addr; | 
|  | 54 | u32 __iomem *timer_current_value_addr; | 
|  | 55 | u32 __iomem *timer_control_addr; | 
|  | 56 | u32 __iomem *timer_clear_interrupt_addr; | 
|  | 57 | u32 __iomem *timer_interrupt_status_addr; | 
|  | 58 | struct sfi_timer_table_entry *timer_tbl_ptr; | 
|  | 59 | struct notifier_block intel_scu_notifier; | 
|  | 60 | struct miscdevice miscdev; | 
|  | 61 | }; | 
|  | 62 |  | 
|  | 63 | extern int sfi_mtimer_num; | 
|  | 64 |  | 
|  | 65 | /* extern struct sfi_timer_table_entry *sfi_get_mtmr(int hint); */ | 
|  | 66 | #endif /* __INTEL_SCU_WATCHDOG_H */ |