From 617150e0ff5b84b531e88e89d5ab7d3f93636434 Mon Sep 17 00:00:00 2001 From: Felix Singer Date: Tue, 24 Nov 2020 19:48:36 +0000 Subject: mb/siemens/chili: Configure GPIOs in gpio.c MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Get rid of variant_gpio_table() and configure GPIOs in gpio.c instead of passing data around. Change-Id: Ib158d6bdbcbceb3c1dc4f47fc7c3e098b9c7e5c4 Signed-off-by: Felix Singer Reviewed-on: https://review.coreboot.org/c/coreboot/+/47974 Reviewed-by: Michael Niewöhner Tested-by: build bot (Jenkins) --- src/mainboard/siemens/chili/include/mainboard/gpio.h | 8 ++++++++ src/mainboard/siemens/chili/include/variant.h | 2 -- src/mainboard/siemens/chili/romstage.c | 12 ++---------- src/mainboard/siemens/chili/variants/base/gpio.c | 7 +++---- src/mainboard/siemens/chili/variants/chili/gpio.c | 7 +++---- 5 files changed, 16 insertions(+), 20 deletions(-) create mode 100644 src/mainboard/siemens/chili/include/mainboard/gpio.h (limited to 'src/mainboard/siemens') diff --git a/src/mainboard/siemens/chili/include/mainboard/gpio.h b/src/mainboard/siemens/chili/include/mainboard/gpio.h new file mode 100644 index 0000000000..ef2a21c418 --- /dev/null +++ b/src/mainboard/siemens/chili/include/mainboard/gpio.h @@ -0,0 +1,8 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#ifndef MAINBOARD_GPIO_H +#define MAINBOARD_GPIO_H + +void mainboard_configure_gpios(void); + +#endif diff --git a/src/mainboard/siemens/chili/include/variant.h b/src/mainboard/siemens/chili/include/variant.h index 2bbe7d7926..1d97728513 100644 --- a/src/mainboard/siemens/chili/include/variant.h +++ b/src/mainboard/siemens/chili/include/variant.h @@ -7,6 +7,4 @@ void variant_romstage_params(FSPM_UPD *); -const struct pad_config *variant_gpio_table(size_t *num); - #endif /* _VARIANT_H_ */ diff --git a/src/mainboard/siemens/chili/romstage.c b/src/mainboard/siemens/chili/romstage.c index a981f50a7b..7453fa58e4 100644 --- a/src/mainboard/siemens/chili/romstage.c +++ b/src/mainboard/siemens/chili/romstage.c @@ -1,20 +1,12 @@ /* SPDX-License-Identifier: GPL-2.0-only */ +#include #include #include #include #include #include -static void mainboard_init(void) -{ - const struct pad_config *pads; - size_t num; - - pads = variant_gpio_table(&num); - gpio_configure_pads(pads, num); -} - void mainboard_memory_init_params(FSPM_UPD *memupd) { uint8_t vtd = 1; @@ -39,7 +31,7 @@ void mainboard_memory_init_params(FSPM_UPD *memupd) variant_romstage_params(memupd); - mainboard_init(); + mainboard_configure_gpios(); } __weak void variant_romstage_params(FSPM_UPD *const mupd) diff --git a/src/mainboard/siemens/chili/variants/base/gpio.c b/src/mainboard/siemens/chili/variants/base/gpio.c index 61ec27dfa6..9d459ccc2a 100644 --- a/src/mainboard/siemens/chili/variants/base/gpio.c +++ b/src/mainboard/siemens/chili/variants/base/gpio.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0-only */ #include -#include +#include static const struct pad_config gpio_table[] = { /* GPP_A14 GPIO */ PAD_NC(GPP_A14, NONE), @@ -122,8 +122,7 @@ static const struct pad_config gpio_table[] = { /* GPP_J11 A4WP_PRESENT */ PAD_CFG_NF(GPP_J11, NONE, DEEP, NF1), }; -const struct pad_config *variant_gpio_table(size_t *num) +void mainboard_configure_gpios(void) { - *num = ARRAY_SIZE(gpio_table); - return gpio_table; + gpio_configure_pads(gpio_table, ARRAY_SIZE(gpio_table)); } diff --git a/src/mainboard/siemens/chili/variants/chili/gpio.c b/src/mainboard/siemens/chili/variants/chili/gpio.c index d7e5ab02b2..a259547771 100644 --- a/src/mainboard/siemens/chili/variants/chili/gpio.c +++ b/src/mainboard/siemens/chili/variants/chili/gpio.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0-only */ #include -#include +#include static const struct pad_config gpio_table[] = { /* GPP_A14 GPIO 0x0000002644000300 */ PAD_NC(GPP_A14, NONE), @@ -121,8 +121,7 @@ static const struct pad_config gpio_table[] = { /* GPP_J11 A4WP_PRESENT 0x0000003944000700 */ PAD_CFG_NF(GPP_J11, NONE, DEEP, NF1), }; -const struct pad_config *variant_gpio_table(size_t *num) +void mainboard_configure_gpios(void) { - *num = ARRAY_SIZE(gpio_table); - return gpio_table; + gpio_configure_pads(gpio_table, ARRAY_SIZE(gpio_table)); } -- cgit v1.2.3