summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mainboard/google/brya/mainboard.c19
-rw-r--r--src/mainboard/google/brya/variants/baseboard/include/baseboard/variants.h3
2 files changed, 21 insertions, 1 deletions
diff --git a/src/mainboard/google/brya/mainboard.c b/src/mainboard/google/brya/mainboard.c
index d85dc05ea1..85d29fd69b 100644
--- a/src/mainboard/google/brya/mainboard.c
+++ b/src/mainboard/google/brya/mainboard.c
@@ -7,11 +7,11 @@
#include <drivers/tpm/cr50.h>
#include <drivers/wwan/fm/chip.h>
#include <ec/ec.h>
-#include <soc/ramstage.h>
#include <fw_config.h>
#include <security/tpm/tss.h>
#include <soc/gpio.h>
#include <soc/ramstage.h>
+#include <stdio.h>
WEAK_DEV_PTR(rp6_wwan);
@@ -64,6 +64,11 @@ __weak void variant_update_soc_chip_config(struct soc_intel_alderlake_config *co
/* default implementation does nothing */
}
+__weak void variant_init(void)
+{
+ /* default implementation does nothing */
+}
+
static void mainboard_init(void *chip_info)
{
const struct pad_config *base_pads;
@@ -74,6 +79,7 @@ static void mainboard_init(void *chip_info)
override_pads = variant_gpio_override_table(&override_num);
gpio_configure_pads_with_override(base_pads, base_num, override_pads, override_num);
+ variant_init();
variant_devtree_update();
}
@@ -174,7 +180,18 @@ static void mainboard_enable(struct device *dev)
dev->ops->acpi_fill_ssdt = mainboard_fill_ssdt;
}
+
+void __weak variant_finalize(void)
+{
+}
+
+static void mainboard_final(void *chip_info)
+{
+ variant_finalize();
+}
+
struct chip_operations mainboard_ops = {
.init = mainboard_init,
.enable_dev = mainboard_enable,
+ .final = mainboard_final,
};
diff --git a/src/mainboard/google/brya/variants/baseboard/include/baseboard/variants.h b/src/mainboard/google/brya/variants/baseboard/include/baseboard/variants.h
index b088ecb10e..42e76227b6 100644
--- a/src/mainboard/google/brya/variants/baseboard/include/baseboard/variants.h
+++ b/src/mainboard/google/brya/variants/baseboard/include/baseboard/variants.h
@@ -82,4 +82,7 @@ void variant_update_psys_power_limits(const struct cpu_power_limits *limits,
size_t num_entries,
const struct psys_config *config);
+void variant_init(void);
+void variant_finalize(void);
+
#endif /*__BASEBOARD_VARIANTS_H__ */