mb/clevo/cml-u: Get rid of gpio.h and use C files instead

Split up gpio.h into two seperate compilation units, gpio.c and
gpio_early.c, containing the complete configuration and a minimal
configuration used in early stages.

Tested on clevo/l140cu and it still boots.

Change-Id: I5b056e8faac0c426a37501dbc175373c22dde339
Signed-off-by: Felix Singer <felixsinger@posteo.net>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/47836
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Michael Niewöhner <foss@mniewoehner.de>
This commit is contained in:
Felix Singer 2020-11-21 13:55:28 +00:00 committed by Michael Niewöhner
parent 79c42635ae
commit 8446935d3b
6 changed files with 38 additions and 23 deletions

View file

@ -1,8 +1,10 @@
CPPFLAGS_common += -I$(src)/mainboard/$(MAINBOARDDIR)/variants/$(VARIANT_DIR)/include
CPPFLAGS_common += -I$(src)/mainboard/$(MAINBOARDDIR)/include
bootblock-y += bootblock.c
bootblock-y += variants/$(VARIANT_DIR)/gpio_early.c
ramstage-y += ramstage.c
ramstage-y += variants/$(VARIANT_DIR)/gpio.c
ramstage-y += variants/$(VARIANT_DIR)/hda_verb.c
subdirs-y += variants/$(VARIANT_DIR)

View file

@ -2,9 +2,9 @@
#include <bootblock_common.h>
#include <gpio.h>
#include <variant/gpio.h>
#include <mainboard/gpio.h>
void bootblock_mainboard_init(void)
{
gpio_configure_pads(early_gpio_table, ARRAY_SIZE(early_gpio_table));
mainboard_configure_early_gpios();
}

View file

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

View file

@ -1,11 +1,11 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <device/device.h>
#include <variant/gpio.h>
#include <mainboard/gpio.h>
static void init_mainboard(void *chip_info)
{
gpio_configure_pads(gpio_table, ARRAY_SIZE(gpio_table));
mainboard_configure_gpios();
}
struct chip_operations mainboard_ops = {

View file

@ -1,24 +1,10 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#ifndef MAINBOARD_GPIO_H
#define MAINBOARD_GPIO_H
#include <mainboard/gpio.h>
#include <soc/gpe.h>
#include <soc/gpio.h>
#ifndef __ACPI__
/* Name format: <pad name> / <net/pin name in schematics> */
/* Early pad configuration in romstage. */
static const struct pad_config early_gpio_table[] = {
PAD_CFG_NF(GPP_C20, NONE, DEEP, NF1), /* UART2_RXD */
PAD_CFG_NF(GPP_C21, NONE, DEEP, NF1), /* UART2_TXD */
PAD_NC(GPP_C22, UP_20K),
PAD_NC(GPP_C23, UP_20K),
};
/* Pad configuration in ramstage. */
static const struct pad_config gpio_table[] = {
/* ------- GPIO Group GPD ------- */
PAD_NC(GPD0, NONE),
@ -251,6 +237,7 @@ static const struct pad_config gpio_table[] = {
PAD_NC(GPP_H23, UP_20K),
};
#endif
#endif
void mainboard_configure_gpios(void)
{
gpio_configure_pads(gpio_table, ARRAY_SIZE(gpio_table));
}

View file

@ -0,0 +1,17 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <mainboard/gpio.h>
#include <soc/gpio.h>
/* Name format: <pad name> / <net/pin name in schematics> */
static const struct pad_config early_gpio_table[] = {
PAD_CFG_NF(GPP_C20, NONE, DEEP, NF1), /* UART2_RXD */
PAD_CFG_NF(GPP_C21, NONE, DEEP, NF1), /* UART2_TXD */
PAD_NC(GPP_C22, UP_20K),
PAD_NC(GPP_C23, UP_20K),
};
void mainboard_configure_early_gpios(void)
{
gpio_configure_pads(early_gpio_table, ARRAY_SIZE(early_gpio_table));
}