diff options
author | Furquan Shaikh <furquan@chromium.org> | 2017-04-13 14:15:56 -0700 |
---|---|---|
committer | Furquan Shaikh <furquan@google.com> | 2017-04-19 19:16:34 +0200 |
commit | 76c392d29481129ed425df62739666b94a3438d0 (patch) | |
tree | 1df0aa27e493b28d6b67428c20166489780f0bf8 | |
parent | 3189ea6dd19c9a9df25af687cfaa014f37b68dd9 (diff) |
mainboard/google/poppy: Provide baseboard and variant concepts
In order to be able to share code across different poppy variants,
provide the concept of baseboard and variants. New directory layout:
variants/baseboard - code
variants/baseboard/include/baseboard - headers
variants/poppy - code
variants/poppy/include/variant - headers
New boards would then add themselves under their board name within
"variants" directory.
This is purely an organizational change.
BUG=b:37375693
Change-Id: If6c1c5f479cfffe768abf27495d379744104e2dc
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-on: https://review.coreboot.org/19322
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
16 files changed, 88 insertions, 16 deletions
diff --git a/src/mainboard/google/poppy/Kconfig b/src/mainboard/google/poppy/Kconfig index e97df9b5ac..1bdda14907 100644 --- a/src/mainboard/google/poppy/Kconfig +++ b/src/mainboard/google/poppy/Kconfig @@ -18,6 +18,10 @@ config BOARD_GOOGLE_BASEBOARD_POPPY if BOARD_GOOGLE_BASEBOARD_POPPY +config DEVICETREE + string + default "variants/baseboard/devicetree.cb" + config DRIVER_TPM_SPI_BUS default 0x1 @@ -59,6 +63,10 @@ config POPPY_USE_SPI_TPM select SPI_TPM select TPM2 +config VARIANT_DIR + string + default "poppy" if BOARD_GOOGLE_POPPY + config VBOOT select EC_GOOGLE_CHROMEEC_SWITCHES select VBOOT_LID_SWITCH diff --git a/src/mainboard/google/poppy/Makefile.inc b/src/mainboard/google/poppy/Makefile.inc index 64a948c059..b151b0c140 100644 --- a/src/mainboard/google/poppy/Makefile.inc +++ b/src/mainboard/google/poppy/Makefile.inc @@ -30,3 +30,9 @@ ramstage-y += mainboard.c ramstage-y += ramstage.c smm-$(CONFIG_HAVE_SMI_HANDLER) += smihandler.c + +subdirs-y += variants/baseboard +CPPFLAGS_common += -I$(src)/mainboard/$(MAINBOARDDIR)/variants/baseboard/include + +subdirs-y += variants/$(VARIANT_DIR) +CPPFLAGS_common += -I$(src)/mainboard/$(MAINBOARDDIR)/variants/$(VARIANT_DIR)/include diff --git a/src/mainboard/google/poppy/bootblock.c b/src/mainboard/google/poppy/bootblock.c index 2fdbe40671..7057916c68 100644 --- a/src/mainboard/google/poppy/bootblock.c +++ b/src/mainboard/google/poppy/bootblock.c @@ -16,7 +16,7 @@ #include <bootblock_common.h> #include <soc/gpio.h> -#include "gpio.h" +#include <variant/gpio.h> static void early_config_gpio(void) { diff --git a/src/mainboard/google/poppy/chromeos.c b/src/mainboard/google/poppy/chromeos.c index b7877aadf3..250effd4a1 100644 --- a/src/mainboard/google/poppy/chromeos.c +++ b/src/mainboard/google/poppy/chromeos.c @@ -21,7 +21,7 @@ #include <tpm.h> #include <vendorcode/google/chromeos/chromeos.h> -#include "gpio.h" +#include <variant/gpio.h> #if ENV_RAMSTAGE #include <boot/coreboot_tables.h> diff --git a/src/mainboard/google/poppy/dsdt.asl b/src/mainboard/google/poppy/dsdt.asl index f92f8a9f25..55ca5d9662 100644 --- a/src/mainboard/google/poppy/dsdt.asl +++ b/src/mainboard/google/poppy/dsdt.asl @@ -13,8 +13,8 @@ * GNU General Public License for more details. */ -#include "ec.h" -#include "gpio.h" +#include <variant/ec.h> +#include <variant/gpio.h> DefinitionBlock( "dsdt.aml", @@ -67,6 +67,6 @@ DefinitionBlock( Scope (\_SB) { /* Dynamic Platform Thermal Framework */ - #include "acpi/dptf.asl" + #include <variant/acpi/dptf.asl> } } diff --git a/src/mainboard/google/poppy/ec.c b/src/mainboard/google/poppy/ec.c index ad60e49b80..f0559ca6f7 100644 --- a/src/mainboard/google/poppy/ec.c +++ b/src/mainboard/google/poppy/ec.c @@ -16,7 +16,7 @@ #include <arch/acpi.h> #include <ec/google/chromeec/ec.h> -#include "ec.h" +#include <variant/ec.h> void mainboard_ec_init(void) { diff --git a/src/mainboard/google/poppy/ramstage.c b/src/mainboard/google/poppy/ramstage.c index 821dcca46b..b2c0ed7df1 100644 --- a/src/mainboard/google/poppy/ramstage.c +++ b/src/mainboard/google/poppy/ramstage.c @@ -15,7 +15,7 @@ #include <soc/ramstage.h> -#include "gpio.h" +#include <variant/gpio.h> void mainboard_silicon_init_params(FSP_SIL_UPD *params) { diff --git a/src/mainboard/google/poppy/smihandler.c b/src/mainboard/google/poppy/smihandler.c index a17ae671ce..88aa90581b 100644 --- a/src/mainboard/google/poppy/smihandler.c +++ b/src/mainboard/google/poppy/smihandler.c @@ -17,7 +17,7 @@ #include <ec/google/chromeec/smm.h> #include <soc/smm.h> -#include "ec.h" +#include <variant/ec.h> void mainboard_smi_espi_handler(void) { diff --git a/src/mainboard/google/poppy/spd/spd.c b/src/mainboard/google/poppy/spd/spd.c index 9b9967916d..fa0012a908 100644 --- a/src/mainboard/google/poppy/spd/spd.c +++ b/src/mainboard/google/poppy/spd/spd.c @@ -23,7 +23,7 @@ #include <soc/romstage.h> #include <string.h> -#include "../gpio.h" +#include <variant/gpio.h> #include "spd.h" static void mainboard_print_spd_info(uint8_t spd[]) diff --git a/src/mainboard/google/poppy/devicetree.cb b/src/mainboard/google/poppy/variants/baseboard/devicetree.cb index d232028544..d232028544 100644 --- a/src/mainboard/google/poppy/devicetree.cb +++ b/src/mainboard/google/poppy/variants/baseboard/devicetree.cb diff --git a/src/mainboard/google/poppy/acpi/dptf.asl b/src/mainboard/google/poppy/variants/baseboard/include/baseboard/acpi/dptf.asl index 7f6cd8e722..7f6cd8e722 100644 --- a/src/mainboard/google/poppy/acpi/dptf.asl +++ b/src/mainboard/google/poppy/variants/baseboard/include/baseboard/acpi/dptf.asl diff --git a/src/mainboard/google/poppy/ec.h b/src/mainboard/google/poppy/variants/baseboard/include/baseboard/ec.h index 331bbbc4a4..157dc8f424 100644 --- a/src/mainboard/google/poppy/ec.h +++ b/src/mainboard/google/poppy/variants/baseboard/include/baseboard/ec.h @@ -13,13 +13,13 @@ * GNU General Public License for more details. */ -#ifndef __MAINBOARD_EC_H__ -#define __MAINBOARD_EC_H__ +#ifndef __BASEBOARD_EC_H__ +#define __BASEBOARD_EC_H__ #include <ec/ec.h> #include <ec/google/chromeec/ec_commands.h> -#include "gpio.h" +#include <variant/gpio.h> #define MAINBOARD_EC_SCI_EVENTS \ (EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_CLOSED) |\ diff --git a/src/mainboard/google/poppy/gpio.h b/src/mainboard/google/poppy/variants/baseboard/include/baseboard/gpio.h index aa477cfc19..57d5e18b67 100644 --- a/src/mainboard/google/poppy/gpio.h +++ b/src/mainboard/google/poppy/variants/baseboard/include/baseboard/gpio.h @@ -13,8 +13,8 @@ * GNU General Public License for more details. */ -#ifndef __MAINBOARD_GPIO_H__ -#define __MAINBOARD_GPIO_H__ +#ifndef __BASEBOARD_GPIO_H__ +#define __BASEBOARD_GPIO_H__ #include <soc/gpe.h> #include <soc/gpio.h> @@ -396,6 +396,6 @@ static const struct pad_config early_gpio_table[] = { PAD_CFG_GPI_APIC_INVERT(GPP_E0, NONE, PLTRST), }; -#endif +#endif /* __ACPI__ */ -#endif +#endif /* BASEBOARD_GPIO_H */ diff --git a/src/mainboard/google/poppy/variants/poppy/include/variant/acpi/dptf.asl b/src/mainboard/google/poppy/variants/poppy/include/variant/acpi/dptf.asl new file mode 100644 index 0000000000..a9ec74269f --- /dev/null +++ b/src/mainboard/google/poppy/variants/poppy/include/variant/acpi/dptf.asl @@ -0,0 +1,16 @@ +/* + * This file is part of the coreboot project. + * + * Copyright 2017 Google Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include <baseboard/acpi/dptf.asl> diff --git a/src/mainboard/google/poppy/variants/poppy/include/variant/ec.h b/src/mainboard/google/poppy/variants/poppy/include/variant/ec.h new file mode 100644 index 0000000000..ef47d3751c --- /dev/null +++ b/src/mainboard/google/poppy/variants/poppy/include/variant/ec.h @@ -0,0 +1,21 @@ +/* + * This file is part of the coreboot project. + * + * Copyright 2017 Google Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#ifndef __MAINBOARD_EC_H__ +#define __MAINBOARD_EC_H__ + +#include <baseboard/ec.h> + +#endif /* __MAINBOARD_EC_H__ */ diff --git a/src/mainboard/google/poppy/variants/poppy/include/variant/gpio.h b/src/mainboard/google/poppy/variants/poppy/include/variant/gpio.h new file mode 100644 index 0000000000..4f79495e4f --- /dev/null +++ b/src/mainboard/google/poppy/variants/poppy/include/variant/gpio.h @@ -0,0 +1,21 @@ +/* + * This file is part of the coreboot project. + * + * Copyright 2017 Google Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the + * GNU General Public License for more details. + */ + +#ifndef __MAINBOARD_GPIO_H__ +#define __MAINBOARD_GPIO_H__ + +#include <baseboard/gpio.h> + +#endif /* __MAINBOARD_GPIO_H__ */ |