Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 334da2d6 authored by Yong, Jonathan's avatar Yong, Jonathan Committed by Wim Van Sebroeck
Browse files

x86: Fix Apollo Lake Watchdog address in PMC driver



The TCO I/O base is 40h rather than the usual 30h, and the re_reboot
bit is at ACPIBASE+8.

Signed-off-by: default avatarYong, Jonathan <jonathan.yong@intel.com>
Reviewed-by: default avatarGuenter Roeck <linux@roeck-us.net>
Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
parent 3b3a1c8f
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -85,7 +85,7 @@
 * platform device and to export resources for those functions.
 */
#define TCO_DEVICE_NAME			"iTCO_wdt"
#define SMI_EN_OFFSET			0x30
#define SMI_EN_OFFSET			0x40
#define SMI_EN_SIZE			4
#define TCO_BASE_OFFSET			0x60
#define TCO_REGS_SIZE			16
@@ -94,6 +94,8 @@
#define TELEM_SSRAM_SIZE		240
#define TELEM_PMC_SSRAM_OFFSET		0x1B00
#define TELEM_PUNIT_SSRAM_OFFSET	0x1A00
#define TCO_PMC_OFFSET			0x8
#define TCO_PMC_SIZE			0x4

static const int iTCO_version = 3;

@@ -502,7 +504,7 @@ static struct resource tco_res[] = {

static struct itco_wdt_platform_data tco_info = {
	.name = "Apollo Lake SoC",
	.version = 3,
	.version = 5,
};

#define TELEMETRY_RESOURCE_PUNIT_SSRAM	0
@@ -572,8 +574,8 @@ static int ipc_create_tco_device(void)
	res->end = res->start + SMI_EN_SIZE - 1;

	res = tco_res + TCO_RESOURCE_GCR_MEM;
	res->start = ipcdev.gcr_base;
	res->end = res->start + ipcdev.gcr_size - 1;
	res->start = ipcdev.gcr_base + TCO_PMC_OFFSET;
	res->end = res->start + TCO_PMC_SIZE - 1;

	ret = platform_device_add_resources(pdev, tco_res, ARRAY_SIZE(tco_res));
	if (ret) {