mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-24 01:36:48 +07:00
420b54de25
Intel Sunrisepoint (Skylake PCH) has the iTCO watchdog accessible across the SMBus, unlike previous generations of PCH/ICH where it was on the LPC bus. Because it's on the SMBus, it doesn't make sense to pass around a 'struct lpc_ich_info', and leaking the type of bus into the iTCO watchdog driver is kind of backwards anyway. This change introduces a new 'struct itco_wdt_platform_data' for use inside the iTCO watchdog driver and by the upcoming Intel Sunrisepoint code, which neatly avoids having to include lpc_ich headers in the i801 i2c driver. This change is overdue because lpc_ich_info has already found its way into other TCO watchdog users, notably the intel_pmc_ipc driver where the watchdog actually isn't on the LPC bus as far as I can see. A simple translation layer is provided for converting from the existing 'struct lpc_ich_info' inside the lpc_ich mfd driver. Signed-off-by: Matt Fleming <matt.fleming@intel.com> Acked-by: Darren Hart <dvhart@linux.intel.com> [drivers/x86 refactoring] Reviewed-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Lee Jones <lee.jones@linaro.org>
47 lines
1.2 KiB
C
47 lines
1.2 KiB
C
/*
|
|
* linux/drivers/mfd/lpc_ich.h
|
|
*
|
|
* Copyright (c) 2012 Extreme Engineering Solution, Inc.
|
|
* Author: Aaron Sierra <asierra@xes-inc.com>
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License 2 as published
|
|
* by the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; see the file COPYING. If not, write to
|
|
* the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
*/
|
|
#ifndef LPC_ICH_H
|
|
#define LPC_ICH_H
|
|
|
|
/* GPIO resources */
|
|
#define ICH_RES_GPIO 0
|
|
#define ICH_RES_GPE0 1
|
|
|
|
/* GPIO compatibility */
|
|
enum {
|
|
ICH_I3100_GPIO,
|
|
ICH_V5_GPIO,
|
|
ICH_V6_GPIO,
|
|
ICH_V7_GPIO,
|
|
ICH_V9_GPIO,
|
|
ICH_V10CORP_GPIO,
|
|
ICH_V10CONS_GPIO,
|
|
AVOTON_GPIO,
|
|
};
|
|
|
|
struct lpc_ich_info {
|
|
char name[32];
|
|
unsigned int iTCO_version;
|
|
unsigned int gpio_version;
|
|
u8 use_gpio;
|
|
};
|
|
|
|
#endif
|