summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niewöhner <foss@mniewoehner.de>2020-11-24 13:49:11 +0100
committerMichael Niewöhner <foss@mniewoehner.de>2020-11-29 07:28:56 +0000
commitc1d1dddbccba1d1468b75bc8d4685bd8e7184264 (patch)
tree0a1b9d51dbf2d6ee87dafa6ce41f73f0462a2132
parente88dacfa433840339355b7a634cd63f3fd22c5f7 (diff)
downloadcoreboot-c1d1dddbccba1d1468b75bc8d4685bd8e7184264.tar.gz
coreboot-c1d1dddbccba1d1468b75bc8d4685bd8e7184264.tar.bz2
coreboot-c1d1dddbccba1d1468b75bc8d4685bd8e7184264.zip
mb/supermicro/x11-lga1151-series: rework gpio setup to not use headers
Rework gpio setup for the board series to not use headers but stage-specific compilation units. Tested successfully on X11SSM-F. Signed-off-by: Michael Niewöhner <foss@mniewoehner.de> Change-Id: Ic62ce4335af605c081ef288e892441585ff2bd3e Reviewed-on: https://review.coreboot.org/c/coreboot/+/48087 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Singer <felixsinger@posteo.net>
-rw-r--r--src/mainboard/supermicro/x11-lga1151-series/Makefile.inc7
-rw-r--r--src/mainboard/supermicro/x11-lga1151-series/bootblock.c13
-rw-r--r--src/mainboard/supermicro/x11-lga1151-series/include/mainboard/gpio.h9
-rw-r--r--src/mainboard/supermicro/x11-lga1151-series/mainboard.c5
-rw-r--r--src/mainboard/supermicro/x11-lga1151-series/variants/x11ssh-f/gpio.c (renamed from src/mainboard/supermicro/x11-lga1151-series/variants/x11ssh-f/include/variant/gpio.h)22
-rw-r--r--src/mainboard/supermicro/x11-lga1151-series/variants/x11ssh-f/gpio_early.c22
-rw-r--r--src/mainboard/supermicro/x11-lga1151-series/variants/x11ssh-tf/gpio.c (renamed from src/mainboard/supermicro/x11-lga1151-series/variants/x11ssh-tf/include/variant/gpio.h)22
-rw-r--r--src/mainboard/supermicro/x11-lga1151-series/variants/x11ssh-tf/gpio_early.c22
-rw-r--r--src/mainboard/supermicro/x11-lga1151-series/variants/x11ssm-f/gpio.c (renamed from src/mainboard/supermicro/x11-lga1151-series/variants/x11ssm-f/include/variant/gpio.h)22
-rw-r--r--src/mainboard/supermicro/x11-lga1151-series/variants/x11ssm-f/gpio_early.c22
10 files changed, 98 insertions, 68 deletions
diff --git a/src/mainboard/supermicro/x11-lga1151-series/Makefile.inc b/src/mainboard/supermicro/x11-lga1151-series/Makefile.inc
index f9b4e9890b02..035dd281bbe5 100644
--- a/src/mainboard/supermicro/x11-lga1151-series/Makefile.inc
+++ b/src/mainboard/supermicro/x11-lga1151-series/Makefile.inc
@@ -1,10 +1,11 @@
## SPDX-License-Identifier: GPL-2.0-only
+CPPFLAGS_common += -I$(src)/mainboard/$(MAINBOARDDIR)/include
+
bootblock-y += bootblock.c
+bootblock-y += variants/$(VARIANT_DIR)/gpio_early.c
ramstage-y += mainboard.c
-
-CPPFLAGS_common += -I$(src)/mainboard/$(MAINBOARDDIR)/include
+ramstage-y += variants/$(VARIANT_DIR)/gpio.c
subdirs-y += variants/$(VARIANT_DIR)
-CPPFLAGS_common += -I$(src)/mainboard/$(MAINBOARDDIR)/variants/$(VARIANT_DIR)/include
diff --git a/src/mainboard/supermicro/x11-lga1151-series/bootblock.c b/src/mainboard/supermicro/x11-lga1151-series/bootblock.c
index 3e5751c3d772..b137c755896f 100644
--- a/src/mainboard/supermicro/x11-lga1151-series/bootblock.c
+++ b/src/mainboard/supermicro/x11-lga1151-series/bootblock.c
@@ -1,20 +1,11 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <bootblock_common.h>
-#include <soc/gpio.h>
-#include <variant/gpio.h>
+#include <mainboard/gpio.h>
#include <superio/aspeed/common/aspeed.h>
#include <superio/aspeed/ast2400/ast2400.h>
#include <console/uart.h>
-static void early_config_gpio(void)
-{
- /* This is a hack for FSP because it does things in MemoryInit()
- * which it shouldn't do. We have to prepare certain gpios here
- * because of the brokenness in FSP. */
- gpio_configure_pads(early_gpio_table, ARRAY_SIZE(early_gpio_table));
-}
-
static void early_config_superio(void)
{
const pnp_devfn_t serial_dev = PNP_DEV(0x2e, AST2400_SUART1);
@@ -23,6 +14,6 @@ static void early_config_superio(void)
void bootblock_mainboard_early_init(void)
{
- early_config_gpio();
+ mainboard_configure_early_gpios();
early_config_superio();
}
diff --git a/src/mainboard/supermicro/x11-lga1151-series/include/mainboard/gpio.h b/src/mainboard/supermicro/x11-lga1151-series/include/mainboard/gpio.h
new file mode 100644
index 000000000000..c6393beebb6d
--- /dev/null
+++ b/src/mainboard/supermicro/x11-lga1151-series/include/mainboard/gpio.h
@@ -0,0 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef MAINBOARD_GPIO_H
+#define MAINBOARD_GPIO_H
+
+void mainboard_configure_early_gpios(void);
+void mainboard_configure_gpios(void);
+
+#endif
diff --git a/src/mainboard/supermicro/x11-lga1151-series/mainboard.c b/src/mainboard/supermicro/x11-lga1151-series/mainboard.c
index 1377a874fe17..0f8dbed2ed3f 100644
--- a/src/mainboard/supermicro/x11-lga1151-series/mainboard.c
+++ b/src/mainboard/supermicro/x11-lga1151-series/mainboard.c
@@ -2,8 +2,7 @@
#include <mainboard.h>
#include <device/device.h>
-#include <soc/ramstage.h>
-#include <variant/gpio.h>
+#include <mainboard/gpio.h>
__weak void variant_mainboard_init(void *chip_info)
{
@@ -12,7 +11,7 @@ __weak void variant_mainboard_init(void *chip_info)
static void mainboard_chip_init(void *chip_info)
{
/* do common init */
- gpio_configure_pads(gpio_table, ARRAY_SIZE(gpio_table));
+ mainboard_configure_gpios();
/* do variant init */
variant_mainboard_init(chip_info);
diff --git a/src/mainboard/supermicro/x11-lga1151-series/variants/x11ssh-f/include/variant/gpio.h b/src/mainboard/supermicro/x11-lga1151-series/variants/x11ssh-f/gpio.c
index 449349dc6cfe..e37e00828582 100644
--- a/src/mainboard/supermicro/x11-lga1151-series/variants/x11ssh-f/include/variant/gpio.h
+++ b/src/mainboard/supermicro/x11-lga1151-series/variants/x11ssh-f/gpio.c
@@ -1,8 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0-only */
-#ifndef _GPIO_X11SSH_F_H
-#define _GPIO_X11SSH_F_H
-
+#include <mainboard/gpio.h>
#include <soc/gpe.h>
#include <soc/gpio.h>
@@ -226,17 +224,7 @@ static const struct pad_config gpio_table[] = {
PAD_CFG_NF(GPP_I10, NONE, DEEP, NF1),
};
-static const struct pad_config early_gpio_table[] = {
- /* Early LPC configuration in romstage */
- PAD_CFG_NF(GPP_A1, NONE, DEEP, NF1),
- PAD_CFG_NF(GPP_A2, NONE, DEEP, NF1),
- PAD_CFG_NF(GPP_A3, NONE, DEEP, NF1),
- PAD_CFG_NF(GPP_A4, NONE, DEEP, NF1),
- PAD_CFG_NF(GPP_A5, NONE, DEEP, NF1),
- PAD_CFG_NF(GPP_A6, NONE, DEEP, NF1),
- PAD_CFG_NF(GPP_A8, NONE, DEEP, NF1),
- PAD_CFG_NF(GPP_A9, NONE, DEEP, NF1),
- PAD_CFG_NF(GPP_A10, NONE, DEEP, NF1),
-};
-
-#endif /* _GPIO_X11SSH_F_H */
+void mainboard_configure_gpios(void)
+{
+ gpio_configure_pads(gpio_table, ARRAY_SIZE(gpio_table));
+}
diff --git a/src/mainboard/supermicro/x11-lga1151-series/variants/x11ssh-f/gpio_early.c b/src/mainboard/supermicro/x11-lga1151-series/variants/x11ssh-f/gpio_early.c
new file mode 100644
index 000000000000..3ea21e03210b
--- /dev/null
+++ b/src/mainboard/supermicro/x11-lga1151-series/variants/x11ssh-f/gpio_early.c
@@ -0,0 +1,22 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <mainboard/gpio.h>
+#include <soc/gpio.h>
+
+static const struct pad_config early_gpio_table[] = {
+ /* Early LPC configuration in romstage */
+ PAD_CFG_NF(GPP_A1, NONE, DEEP, NF1),
+ PAD_CFG_NF(GPP_A2, NONE, DEEP, NF1),
+ PAD_CFG_NF(GPP_A3, NONE, DEEP, NF1),
+ PAD_CFG_NF(GPP_A4, NONE, DEEP, NF1),
+ PAD_CFG_NF(GPP_A5, NONE, DEEP, NF1),
+ PAD_CFG_NF(GPP_A6, NONE, DEEP, NF1),
+ PAD_CFG_NF(GPP_A8, NONE, DEEP, NF1),
+ PAD_CFG_NF(GPP_A9, NONE, DEEP, NF1),
+ PAD_CFG_NF(GPP_A10, NONE, DEEP, NF1),
+};
+
+void mainboard_configure_early_gpios(void)
+{
+ gpio_configure_pads(early_gpio_table, ARRAY_SIZE(early_gpio_table));
+}
diff --git a/src/mainboard/supermicro/x11-lga1151-series/variants/x11ssh-tf/include/variant/gpio.h b/src/mainboard/supermicro/x11-lga1151-series/variants/x11ssh-tf/gpio.c
index 486caf418532..06d3bd43c34f 100644
--- a/src/mainboard/supermicro/x11-lga1151-series/variants/x11ssh-tf/include/variant/gpio.h
+++ b/src/mainboard/supermicro/x11-lga1151-series/variants/x11ssh-tf/gpio.c
@@ -1,8 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0-only */
-#ifndef _GPIO_X11SSH_TF_H
-#define _GPIO_X11SSH_TF_H
-
+#include <mainboard/gpio.h>
#include <soc/gpe.h>
#include <soc/gpio.h>
@@ -226,17 +224,7 @@ static const struct pad_config gpio_table[] = {
PAD_CFG_NF(GPP_I10, NONE, DEEP, NF1),
};
-static const struct pad_config early_gpio_table[] = {
- /* Early LPC configuration in romstage */
- PAD_CFG_NF(GPP_A1, NONE, DEEP, NF1),
- PAD_CFG_NF(GPP_A2, NONE, DEEP, NF1),
- PAD_CFG_NF(GPP_A3, NONE, DEEP, NF1),
- PAD_CFG_NF(GPP_A4, NONE, DEEP, NF1),
- PAD_CFG_NF(GPP_A5, NONE, DEEP, NF1),
- PAD_CFG_NF(GPP_A6, NONE, DEEP, NF1),
- PAD_CFG_NF(GPP_A8, NONE, DEEP, NF1),
- PAD_CFG_NF(GPP_A9, NONE, DEEP, NF1),
- PAD_CFG_NF(GPP_A10, NONE, DEEP, NF1),
-};
-
-#endif /* _GPIO_X11SSH_TF_H */
+void mainboard_configure_gpios(void)
+{
+ gpio_configure_pads(gpio_table, ARRAY_SIZE(gpio_table));
+}
diff --git a/src/mainboard/supermicro/x11-lga1151-series/variants/x11ssh-tf/gpio_early.c b/src/mainboard/supermicro/x11-lga1151-series/variants/x11ssh-tf/gpio_early.c
new file mode 100644
index 000000000000..3ea21e03210b
--- /dev/null
+++ b/src/mainboard/supermicro/x11-lga1151-series/variants/x11ssh-tf/gpio_early.c
@@ -0,0 +1,22 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <mainboard/gpio.h>
+#include <soc/gpio.h>
+
+static const struct pad_config early_gpio_table[] = {
+ /* Early LPC configuration in romstage */
+ PAD_CFG_NF(GPP_A1, NONE, DEEP, NF1),
+ PAD_CFG_NF(GPP_A2, NONE, DEEP, NF1),
+ PAD_CFG_NF(GPP_A3, NONE, DEEP, NF1),
+ PAD_CFG_NF(GPP_A4, NONE, DEEP, NF1),
+ PAD_CFG_NF(GPP_A5, NONE, DEEP, NF1),
+ PAD_CFG_NF(GPP_A6, NONE, DEEP, NF1),
+ PAD_CFG_NF(GPP_A8, NONE, DEEP, NF1),
+ PAD_CFG_NF(GPP_A9, NONE, DEEP, NF1),
+ PAD_CFG_NF(GPP_A10, NONE, DEEP, NF1),
+};
+
+void mainboard_configure_early_gpios(void)
+{
+ gpio_configure_pads(early_gpio_table, ARRAY_SIZE(early_gpio_table));
+}
diff --git a/src/mainboard/supermicro/x11-lga1151-series/variants/x11ssm-f/include/variant/gpio.h b/src/mainboard/supermicro/x11-lga1151-series/variants/x11ssm-f/gpio.c
index 8c9d08e5ef26..dc4157322472 100644
--- a/src/mainboard/supermicro/x11-lga1151-series/variants/x11ssm-f/include/variant/gpio.h
+++ b/src/mainboard/supermicro/x11-lga1151-series/variants/x11ssm-f/gpio.c
@@ -1,8 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0-only */
-#ifndef _GPIO_X11SSM_F_H
-#define _GPIO_X11SSM_F_H
-
+#include <mainboard/gpio.h>
#include <soc/gpe.h>
#include <soc/gpio.h>
@@ -232,17 +230,7 @@ static const struct pad_config gpio_table[] = {
PAD_NC(GPD11, NONE),
};
-static const struct pad_config early_gpio_table[] = {
- /* Early LPC configuration in romstage */
- PAD_CFG_NF(GPP_A1, NONE, DEEP, NF1),
- PAD_CFG_NF(GPP_A2, NONE, DEEP, NF1),
- PAD_CFG_NF(GPP_A3, NONE, DEEP, NF1),
- PAD_CFG_NF(GPP_A4, NONE, DEEP, NF1),
- PAD_CFG_NF(GPP_A5, NONE, DEEP, NF1),
- PAD_CFG_NF(GPP_A8, NONE, DEEP, NF1),
- PAD_CFG_NF(GPP_A9, NONE, DEEP, NF1),
- PAD_CFG_NF(GPP_A10, NONE, DEEP, NF1),
- PAD_CFG_NF(GPP_A6, NONE, DEEP, NF1),
-};
-
-#endif /* _GPIO_X11SSM_F_H */
+void mainboard_configure_gpios(void)
+{
+ gpio_configure_pads(gpio_table, ARRAY_SIZE(gpio_table));
+}
diff --git a/src/mainboard/supermicro/x11-lga1151-series/variants/x11ssm-f/gpio_early.c b/src/mainboard/supermicro/x11-lga1151-series/variants/x11ssm-f/gpio_early.c
new file mode 100644
index 000000000000..3ea21e03210b
--- /dev/null
+++ b/src/mainboard/supermicro/x11-lga1151-series/variants/x11ssm-f/gpio_early.c
@@ -0,0 +1,22 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <mainboard/gpio.h>
+#include <soc/gpio.h>
+
+static const struct pad_config early_gpio_table[] = {
+ /* Early LPC configuration in romstage */
+ PAD_CFG_NF(GPP_A1, NONE, DEEP, NF1),
+ PAD_CFG_NF(GPP_A2, NONE, DEEP, NF1),
+ PAD_CFG_NF(GPP_A3, NONE, DEEP, NF1),
+ PAD_CFG_NF(GPP_A4, NONE, DEEP, NF1),
+ PAD_CFG_NF(GPP_A5, NONE, DEEP, NF1),
+ PAD_CFG_NF(GPP_A6, NONE, DEEP, NF1),
+ PAD_CFG_NF(GPP_A8, NONE, DEEP, NF1),
+ PAD_CFG_NF(GPP_A9, NONE, DEEP, NF1),
+ PAD_CFG_NF(GPP_A10, NONE, DEEP, NF1),
+};
+
+void mainboard_configure_early_gpios(void)
+{
+ gpio_configure_pads(early_gpio_table, ARRAY_SIZE(early_gpio_table));
+}