summaryrefslogtreecommitdiffstats
path: root/src/mainboard/google/puff/variants/baseboard/include/baseboard/variants.h
diff options
context:
space:
mode:
authorMatt DeVillier <matt.devillier@gmail.com>2022-09-07 17:21:01 -0500
committerPaul Fagerburg <pfagerburg@chromium.org>2022-09-22 15:35:19 +0000
commit45b1da33c80a4b1328794a5a59c93d1988cee4f1 (patch)
tree7f7c7c6b7c44632c72b2a5bc717f74bcf678f7c8 /src/mainboard/google/puff/variants/baseboard/include/baseboard/variants.h
parent826b45b69b9dd492771798679d3a8223a954217f (diff)
downloadcoreboot-45b1da33c80a4b1328794a5a59c93d1988cee4f1.tar.gz
coreboot-45b1da33c80a4b1328794a5a59c93d1988cee4f1.tar.bz2
coreboot-45b1da33c80a4b1328794a5a59c93d1988cee4f1.zip
mb/google/hatch: split up hatch and puff baseboards
The hatch and puff baseboards have diverged enough to where it makes more sense to split them into separate boards. Copy the mb/google/hatch directory into a new dir 'puff' and strip out all boards and items related to the hatch baseboard. Remove all puff-related items from the original hatch directory. Clean up and alphabetize Kconfig selections. Test: build and boot akemi hatch variant and wyvern puff variant. Change-Id: I8c7350f3afcff3ddefc6fa14054a3f9257568cd3 Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/62970 Reviewed-by: Angel Pons <th3fanbus@gmail.com> Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/mainboard/google/puff/variants/baseboard/include/baseboard/variants.h')
-rw-r--r--src/mainboard/google/puff/variants/baseboard/include/baseboard/variants.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/mainboard/google/puff/variants/baseboard/include/baseboard/variants.h b/src/mainboard/google/puff/variants/baseboard/include/baseboard/variants.h
new file mode 100644
index 000000000000..125f7388a1cd
--- /dev/null
+++ b/src/mainboard/google/puff/variants/baseboard/include/baseboard/variants.h
@@ -0,0 +1,39 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef BASEBOARD_VARIANTS_H
+#define BASEBOARD_VARIANTS_H
+
+#include <soc/cnl_memcfg_init.h>
+#include <soc/gpio.h>
+#include <stdint.h>
+
+/*
+ * The next set of functions return the gpio table and fill in the number of
+ * entries for each table. The "base" GPIOs live in the "baseboard" variant, and
+ * the overrides live with the specific board (kohaku, kled, etc.).
+*/
+const struct pad_config *base_gpio_table(size_t *num);
+const struct pad_config *override_gpio_table(size_t *num);
+
+/* Return board specific memory configuration */
+void variant_memory_params(struct cnl_mb_cfg *bcfg);
+
+/* Return memory SKU for the variant */
+int variant_memory_sku(void);
+
+/* Return variant specific gpio pads to be configured during sleep */
+const struct pad_config *variant_sleep_gpio_table(u8 slp_typ, size_t *num);
+
+/* Return GPIO pads that need to be configured before ramstage */
+const struct pad_config *variant_early_gpio_table(size_t *num);
+
+/* Modify devictree settings during ramstage. */
+void variant_devtree_update(void);
+
+/* Perform variant specific initialization early on in ramstage. */
+void variant_ramstage_init(void);
+
+/* Perform variant specific mainboard initialization */
+void variant_mainboard_enable(struct device *dev);
+
+#endif /* BASEBOARD_VARIANTS_H */