From b98b91b6a98bbc9b43c70896c7ef89bd55c430bc Mon Sep 17 00:00:00 2001
From: Simon Glass <sjg@chromium.org>
Date: Tue, 22 Sep 2020 12:45:15 -0600
Subject: [PATCH] x86: Support Atom SoCs using SWSMISCI rather than the SWSCI

Some Atom SoCs use SWSMISCI for SMI control. Add a Kconfig to select this.
It is used on Apollo Lake.

Signed-off-by: Simon Glass <sjg@chromium.org>
---
 arch/x86/Kconfig                | 6 ++++++
 arch/x86/cpu/apollolake/Kconfig | 1 +
 2 files changed, 7 insertions(+)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 495629d32e..eddf2a774e 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1017,4 +1017,10 @@ config INTEL_GENERIC_WIFI
 	  network functionality. It is only here to generate the ACPI tables
 	  required by Linux.
 
+config INTEL_GMA_SWSMISCI
+	bool
+	help
+	  Select this option for Atom-based platforms which use the SWSMISCI
+	  register (0xe0) rather than the SWSCI register (0xe8).
+
 endmenu
diff --git a/arch/x86/cpu/apollolake/Kconfig b/arch/x86/cpu/apollolake/Kconfig
index 319f12684b..35a425cd1b 100644
--- a/arch/x86/cpu/apollolake/Kconfig
+++ b/arch/x86/cpu/apollolake/Kconfig
@@ -17,6 +17,7 @@ config INTEL_APOLLOLAKE
 	select PCH_SUPPORT
 	select P2SB
 	select SMP_AP_WORK
+	select INTEL_GMA_SWSMISCI
 	select ACPI_GNVS_EXTERNAL
 	imply ENABLE_MRC_CACHE
 	imply AHCI_PCI
-- 
2.39.5