mb/siemens/chili: Configure GPIOs in gpio.c

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 <felixsinger@posteo.net>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/47974
Reviewed-by: Michael Niewöhner <foss@mniewoehner.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Felix Singer 2020-11-24 19:48:36 +00:00 committed by Michael Niewöhner
parent e8774933d3
commit 617150e0ff
5 changed files with 16 additions and 20 deletions

View File

@ -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

View File

@ -7,6 +7,4 @@
void variant_romstage_params(FSPM_UPD *); void variant_romstage_params(FSPM_UPD *);
const struct pad_config *variant_gpio_table(size_t *num);
#endif /* _VARIANT_H_ */ #endif /* _VARIANT_H_ */

View File

@ -1,20 +1,12 @@
/* SPDX-License-Identifier: GPL-2.0-only */ /* SPDX-License-Identifier: GPL-2.0-only */
#include <mainboard/gpio.h>
#include <option.h> #include <option.h>
#include <soc/cnl_memcfg_init.h> #include <soc/cnl_memcfg_init.h>
#include <soc/gpio.h> #include <soc/gpio.h>
#include <soc/romstage.h> #include <soc/romstage.h>
#include <variant.h> #include <variant.h>
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) void mainboard_memory_init_params(FSPM_UPD *memupd)
{ {
uint8_t vtd = 1; uint8_t vtd = 1;
@ -39,7 +31,7 @@ void mainboard_memory_init_params(FSPM_UPD *memupd)
variant_romstage_params(memupd); variant_romstage_params(memupd);
mainboard_init(); mainboard_configure_gpios();
} }
__weak void variant_romstage_params(FSPM_UPD *const mupd) __weak void variant_romstage_params(FSPM_UPD *const mupd)

View File

@ -1,7 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0-only */ /* SPDX-License-Identifier: GPL-2.0-only */
#include <soc/gpio.h> #include <soc/gpio.h>
#include <variant.h> #include <mainboard/gpio.h>
static const struct pad_config gpio_table[] = { static const struct pad_config gpio_table[] = {
/* GPP_A14 GPIO */ PAD_NC(GPP_A14, NONE), /* 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), /* 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); gpio_configure_pads(gpio_table, ARRAY_SIZE(gpio_table));
return gpio_table;
} }

View File

@ -1,7 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0-only */ /* SPDX-License-Identifier: GPL-2.0-only */
#include <soc/gpio.h> #include <soc/gpio.h>
#include <variant.h> #include <mainboard/gpio.h>
static const struct pad_config gpio_table[] = { static const struct pad_config gpio_table[] = {
/* GPP_A14 GPIO 0x0000002644000300 */ PAD_NC(GPP_A14, NONE), /* 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), /* 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); gpio_configure_pads(gpio_table, ARRAY_SIZE(gpio_table));
return gpio_table;
} }