Lines Matching +full:vendor +full:- +full:specific
1 // SPDX-License-Identifier: GPL-2.0+
3 * intel TCO vendor specific watchdog driver support
5 * (c) Copyright 2006-2009 Wim Van Sebroeck <wim@iguana.be>.
9 * provided "AS-IS" and at no charge.
23 #include <linux/module.h> /* For module specific items */
26 #include <linux/errno.h> /* For the -ENODEV/... values */
29 #include <linux/ioport.h> /* For io-port access */
34 /* List of vendor support modes */
35 /* SuperMicro Pentium 3 Era 370SSE+-OEM1/P3TSSE */
37 /* SuperMicro Pentium 4 / Xeon 4 / EMT64T Era Systems - no longer supported */
46 MODULE_PARM_DESC(vendorsupport, "iTCO vendor specific support mode, default="
50 * Vendor Specific Support
54 * Vendor Support: 1
55 * Board: Super Micro Computer Inc. 370SSE+-OEM1/P3TSSE
62 * BIOS setup -> Power -> TCO Logic SMI Enable -> Within5Minutes
81 /* Bit 13: TCO_EN -> 0 = Disables TCO logic generating an SMI# */ in supermicro_old_pre_start()
82 val32 = inl(smires->start); in supermicro_old_pre_start()
84 outl(val32, smires->start); /* Needed to activate watchdog */ in supermicro_old_pre_start()
91 /* Bit 13: TCO_EN -> 1 = Enables the TCO logic to generate SMI# */ in supermicro_old_pre_stop()
92 val32 = inl(smires->start); in supermicro_old_pre_stop()
94 outl(val32, smires->start); /* Needed to deactivate watchdog */ in supermicro_old_pre_stop()
98 * Vendor Support: 911
108 * debugging: the SMI handler is quite simple - it tests value in
132 val32 = inl(smires->start); in broken_bios_start()
133 /* Bit 13: TCO_EN -> 0 = Disables TCO logic generating an SMI# in broken_bios_start()
134 Bit 0: GBL_SMI_EN -> 0 = No SMI# will be generated by ICH. */ in broken_bios_start()
136 outl(val32, smires->start); in broken_bios_start()
143 val32 = inl(smires->start); in broken_bios_stop()
144 /* Bit 13: TCO_EN -> 1 = Enables TCO logic generating an SMI# in broken_bios_stop()
145 Bit 0: GBL_SMI_EN -> 1 = Turn global SMI on again. */ in broken_bios_stop()
147 outl(val32, smires->start); in broken_bios_stop()
198 return -EINVAL; in iTCO_vendor_init_module()
200 pr_info("vendor-support=%d\n", iTCO_vendorsupport); in iTCO_vendor_init_module()
214 MODULE_DESCRIPTION("Intel TCO Vendor Specific WatchDog Timer Driver Support");