soc/intel: Factor out common smbus.h

Change-Id: I31bb406bd2cf371ee935aa31777307043b2ee61a
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/50942
Reviewed-by: Michael Niewöhner <foss@mniewoehner.de>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/src/soc/intel/alderlake/include/soc/smbus.h b/src/soc/intel/alderlake/include/soc/smbus.h
index ab4994a..c865fbe 100644
--- a/src/soc/intel/alderlake/include/soc/smbus.h
+++ b/src/soc/intel/alderlake/include/soc/smbus.h
@@ -1,35 +1,8 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 
-/*
- * This file is created based on Intel Alder Lake Processor PCH Datasheet
- * Document number: 621483
- * Chapter number: 6
- */
+#ifndef _SOC_SMBUS_H_
+#define _SOC_SMBUS_H_
 
-#ifndef _SOC_ALDERLAKE_SMBUS_H_
-#define _SOC_ALDERLAKE_SMBUS_H_
-
-/* IO and MMIO registers under primary BAR */
-
-/* TCO registers and fields live behind TCOBASE I/O bar in SMBus device. */
-#define TCO1_STS			0x04
-#define  TCO_TIMEOUT			(1 << 3)
-#define TCO2_STS			0x06
-#define  TCO_STS_SECOND_TO		(1 << 1)
-#define  TCO_INTRD_DET			(1 << 0)
-#define TCO1_CNT			0x08
-#define  TCO_LOCK			(1 << 12)
-#define  TCO_TMR_HLT			(1 << 11)
-#define TCO2_CNT			0x0A
-#define  TCO_INTRD_SEL_MASK		(3 << 1)
-#define  TCO_INTRD_SEL_SMI		(1 << 2)
-#define  TCO_INTRD_SEL_INT		(1 << 1)
-
-/*
- * Default slave address value for PCH. This value is set to match default
- * value set by hardware. It is useful since PCH is able to respond even
- * before CPU is up. This is reset by RSMRST# but not by PLTRST#.
- */
-#define SMBUS_SLAVE_ADDR		0x44
+#include <intelpch/smbus.h>
 
 #endif
diff --git a/src/soc/intel/cannonlake/include/soc/smbus.h b/src/soc/intel/cannonlake/include/soc/smbus.h
index c6d20a5..c865fbe 100644
--- a/src/soc/intel/cannonlake/include/soc/smbus.h
+++ b/src/soc/intel/cannonlake/include/soc/smbus.h
@@ -1,27 +1,8 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 
-#ifndef _SOC_CANNONLAKE_SMBUS_H_
-#define _SOC_CANNONLAKE_SMBUS_H_
+#ifndef _SOC_SMBUS_H_
+#define _SOC_SMBUS_H_
 
-/* TCO registers and fields live behind TCOBASE I/O bar in SMBus device. */
-#define TCO1_STS			0x04
-#define  TCO_TIMEOUT			(1 << 3)
-#define TCO2_STS			0x06
-#define  TCO_STS_SECOND_TO		(1 << 1)
-#define  TCO_INTRD_DET			(1 << 0)
-#define TCO1_CNT			0x08
-#define  TCO_LOCK			(1 << 12)
-#define  TCO_TMR_HLT			(1 << 11)
-#define TCO2_CNT			0x0A
-#define  TCO_INTRD_SEL_MASK		(3 << 1)
-#define  TCO_INTRD_SEL_SMI		(1 << 2)
-#define  TCO_INTRD_SEL_INT		(1 << 1)
-
-/*
- * Default slave address value for PCH. This value is set to match default
- * value set by hardware. It is useful since PCH is able to respond even
- * before CPU is up. This is reset by RSMRST# but not by PLTRST#.
- */
-#define SMBUS_SLAVE_ADDR		0x44
+#include <intelpch/smbus.h>
 
 #endif
diff --git a/src/soc/intel/common/pch/include/intelpch/smbus.h b/src/soc/intel/common/pch/include/intelpch/smbus.h
new file mode 100644
index 0000000..238da2b
--- /dev/null
+++ b/src/soc/intel/common/pch/include/intelpch/smbus.h
@@ -0,0 +1,27 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef _INTELPCH_SMBUS_H_
+#define _INTELPCH_SMBUS_H_
+
+/* TCO registers and fields live behind TCOBASE I/O bar in SMBus device. */
+#define TCO1_STS			0x04
+#define  TCO_TIMEOUT			(1 << 3)
+#define TCO2_STS			0x06
+#define  TCO_STS_SECOND_TO		(1 << 1)
+#define  TCO_INTRD_DET			(1 << 0)
+#define TCO1_CNT			0x08
+#define  TCO_LOCK			(1 << 12)
+#define  TCO_TMR_HLT			(1 << 11)
+#define TCO2_CNT			0x0A
+#define  TCO_INTRD_SEL_MASK		(3 << 1)
+#define  TCO_INTRD_SEL_SMI		(1 << 2)
+#define  TCO_INTRD_SEL_INT		(1 << 1)
+
+/*
+ * Default slave address value for PCH. This value is set to match default
+ * value set by hardware. It is useful since PCH is able to respond even
+ * before CPU is up. This is reset by RSMRST# but not by PLTRST#.
+ */
+#define SMBUS_SLAVE_ADDR		0x44
+
+#endif
diff --git a/src/soc/intel/elkhartlake/include/soc/smbus.h b/src/soc/intel/elkhartlake/include/soc/smbus.h
index 0ea469c..c865fbe 100644
--- a/src/soc/intel/elkhartlake/include/soc/smbus.h
+++ b/src/soc/intel/elkhartlake/include/soc/smbus.h
@@ -1,29 +1,8 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 
-#ifndef _SOC_ELKHARTLAKE_SMBUS_H_
-#define _SOC_ELKHARTLAKE_SMBUS_H_
+#ifndef _SOC_SMBUS_H_
+#define _SOC_SMBUS_H_
 
-/* IO and MMIO registers under primary BAR */
-
-/* TCO registers and fields live behind TCOBASE I/O bar in SMBus device. */
-#define TCO1_STS			0x04
-#define  TCO_TIMEOUT			(1 << 3)
-#define TCO2_STS			0x06
-#define  TCO_STS_SECOND_TO		(1 << 1)
-#define  TCO_INTRD_DET			(1 << 0)
-#define TCO1_CNT			0x08
-#define  TCO_LOCK			(1 << 12)
-#define  TCO_TMR_HLT			(1 << 11)
-#define TCO2_CNT			0x0A
-#define  TCO_INTRD_SEL_MASK		(3 << 1)
-#define  TCO_INTRD_SEL_SMI		(1 << 2)
-#define  TCO_INTRD_SEL_INT		(1 << 1)
-
-/*
- * Default slave address value for PCH. This value is set to match default
- * value set by hardware. It is useful since PCH is able to respond even
- * before CPU is up. This is reset by RSMRST# but not by PLTRST#.
- */
-#define SMBUS_SLAVE_ADDR		0x44
+#include <intelpch/smbus.h>
 
 #endif
diff --git a/src/soc/intel/icelake/include/soc/smbus.h b/src/soc/intel/icelake/include/soc/smbus.h
index c8503d5..c865fbe 100644
--- a/src/soc/intel/icelake/include/soc/smbus.h
+++ b/src/soc/intel/icelake/include/soc/smbus.h
@@ -1,27 +1,8 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 
-#ifndef _SOC_ICELAKE_SMBUS_H_
-#define _SOC_ICELAKE_SMBUS_H_
+#ifndef _SOC_SMBUS_H_
+#define _SOC_SMBUS_H_
 
-/* TCO registers and fields live behind TCOBASE I/O bar in SMBus device. */
-#define TCO1_STS			0x04
-#define  TCO_TIMEOUT			(1 << 3)
-#define TCO2_STS			0x06
-#define  TCO_STS_SECOND_TO		(1 << 1)
-#define  TCO_INTRD_DET			(1 << 0)
-#define TCO1_CNT			0x08
-#define  TCO_LOCK			(1 << 12)
-#define  TCO_TMR_HLT			(1 << 11)
-#define TCO2_CNT			0x0A
-#define  TCO_INTRD_SEL_MASK		(3 << 1)
-#define  TCO_INTRD_SEL_SMI		(1 << 2)
-#define  TCO_INTRD_SEL_INT		(1 << 1)
-
-/*
- * Default slave address value for PCH. This value is set to match default
- * value set by hardware. It is useful since PCH is able to respond even
- * before CPU is up. This is reset by RSMRST# but not by PLTRST#.
- */
-#define SMBUS_SLAVE_ADDR		0x44
+#include <intelpch/smbus.h>
 
 #endif
diff --git a/src/soc/intel/jasperlake/include/soc/smbus.h b/src/soc/intel/jasperlake/include/soc/smbus.h
index 7a3a890..c865fbe 100644
--- a/src/soc/intel/jasperlake/include/soc/smbus.h
+++ b/src/soc/intel/jasperlake/include/soc/smbus.h
@@ -1,29 +1,8 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 
-#ifndef _SOC_JASPERLAKE_SMBUS_H_
-#define _SOC_JASPERLAKE_SMBUS_H_
+#ifndef _SOC_SMBUS_H_
+#define _SOC_SMBUS_H_
 
-/* IO and MMIO registers under primary BAR */
-
-/* TCO registers and fields live behind TCOBASE I/O bar in SMBus device. */
-#define TCO1_STS			0x04
-#define  TCO_TIMEOUT			(1 << 3)
-#define TCO2_STS			0x06
-#define  TCO_STS_SECOND_TO		(1 << 1)
-#define  TCO_INTRD_DET			(1 << 0)
-#define TCO1_CNT			0x08
-#define  TCO_LOCK			(1 << 12)
-#define  TCO_TMR_HLT			(1 << 11)
-#define TCO2_CNT			0x0A
-#define  TCO_INTRD_SEL_MASK		(3 << 1)
-#define  TCO_INTRD_SEL_SMI		(1 << 2)
-#define  TCO_INTRD_SEL_INT		(1 << 1)
-
-/*
- * Default slave address value for PCH. This value is set to match default
- * value set by hardware. It is useful since PCH is able to respond even
- * before CPU is up. This is reset by RSMRST# but not by PLTRST#.
- */
-#define SMBUS_SLAVE_ADDR		0x44
+#include <intelpch/smbus.h>
 
 #endif
diff --git a/src/soc/intel/skylake/include/soc/smbus.h b/src/soc/intel/skylake/include/soc/smbus.h
index bd86aca..c865fbe 100644
--- a/src/soc/intel/skylake/include/soc/smbus.h
+++ b/src/soc/intel/skylake/include/soc/smbus.h
@@ -3,25 +3,6 @@
 #ifndef _SOC_SMBUS_H_
 #define _SOC_SMBUS_H_
 
-/* TCO registers and fields live behind TCOBASE I/O bar in SMBus device. */
-#define TCO1_STS			0x04
-#define  TCO_TIMEOUT			(1 << 3)
-#define TCO2_STS			0x06
-#define  TCO_STS_SECOND_TO		(1 << 1)
-#define  TCO_INTRD_DET			(1 << 0)
-#define TCO1_CNT			0x08
-#define  TCO_LOCK			(1 << 12)
-#define  TCO_TMR_HLT			(1 << 11)
-#define TCO2_CNT			0x0A
-#define  TCO_INTRD_SEL_MASK		(3 << 1)
-#define  TCO_INTRD_SEL_SMI		(1 << 2)
-#define  TCO_INTRD_SEL_INT		(1 << 1)
-
-/*
- * Default slave address value for PCH. This value is set to match default
- * value set by hardware. It is useful since PCH is able to respond even
- * before CPU is up. This is reset by RSMRST# but not by PLTRST#.
- */
-#define SMBUS_SLAVE_ADDR		0x44
+#include <intelpch/smbus.h>
 
 #endif
diff --git a/src/soc/intel/tigerlake/include/soc/smbus.h b/src/soc/intel/tigerlake/include/soc/smbus.h
index 71c4d6a..c865fbe 100644
--- a/src/soc/intel/tigerlake/include/soc/smbus.h
+++ b/src/soc/intel/tigerlake/include/soc/smbus.h
@@ -1,35 +1,8 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 
-/*
- * This file is created based on Intel Tiger Lake Processor PCH Datasheet
- * Document number: 575857
- * Chapter number: 6
- */
+#ifndef _SOC_SMBUS_H_
+#define _SOC_SMBUS_H_
 
-#ifndef _SOC_TIGERLAKE_SMBUS_H_
-#define _SOC_TIGERLAKE_SMBUS_H_
-
-/* IO and MMIO registers under primary BAR */
-
-/* TCO registers and fields live behind TCOBASE I/O bar in SMBus device. */
-#define TCO1_STS			0x04
-#define  TCO_TIMEOUT			(1 << 3)
-#define TCO2_STS			0x06
-#define  TCO_STS_SECOND_TO		(1 << 1)
-#define  TCO_INTRD_DET			(1 << 0)
-#define TCO1_CNT			0x08
-#define  TCO_LOCK			(1 << 12)
-#define  TCO_TMR_HLT			(1 << 11)
-#define TCO2_CNT			0x0A
-#define  TCO_INTRD_SEL_MASK		(3 << 1)
-#define  TCO_INTRD_SEL_SMI		(1 << 2)
-#define  TCO_INTRD_SEL_INT		(1 << 1)
-
-/*
- * Default slave address value for PCH. This value is set to match default
- * value set by hardware. It is useful since PCH is able to respond even
- * before CPU is up. This is reset by RSMRST# but not by PLTRST#.
- */
-#define SMBUS_SLAVE_ADDR		0x44
+#include <intelpch/smbus.h>
 
 #endif