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 #include #include -#include #include #include #include #include +#include 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__ */