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 *);
const struct pad_config *variant_gpio_table(size_t *num);
#endif /* _VARIANT_H_ */

View File

@ -1,20 +1,12 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <mainboard/gpio.h>
#include <option.h>
#include <soc/cnl_memcfg_init.h>
#include <soc/gpio.h>
#include <soc/romstage.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)
{
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)

View File

@ -1,7 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <soc/gpio.h>
#include <variant.h>
#include <mainboard/gpio.h>
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));
}

View File

@ -1,7 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <soc/gpio.h>
#include <variant.h>
#include <mainboard/gpio.h>
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));
}