mb/google/brya: Add variant_init and variant_finalize callbacks
Some brya variants may need to initialize and finalize some variant-specific devices during ramstage, therefore add the commonly-used hooks and callbacks to support this. Signed-off-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Change-Id: Iede6dc5a5b9a7385fedd59d4eeaaba118eff0e20 Reviewed-on: https://review.coreboot.org/c/coreboot/+/62382 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Subrata Banik <subratabanik@google.com> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
This commit is contained in:
parent
daed4ea1d0
commit
a46056fa9a
|
@ -7,11 +7,11 @@
|
||||||
#include <drivers/tpm/cr50.h>
|
#include <drivers/tpm/cr50.h>
|
||||||
#include <drivers/wwan/fm/chip.h>
|
#include <drivers/wwan/fm/chip.h>
|
||||||
#include <ec/ec.h>
|
#include <ec/ec.h>
|
||||||
#include <soc/ramstage.h>
|
|
||||||
#include <fw_config.h>
|
#include <fw_config.h>
|
||||||
#include <security/tpm/tss.h>
|
#include <security/tpm/tss.h>
|
||||||
#include <soc/gpio.h>
|
#include <soc/gpio.h>
|
||||||
#include <soc/ramstage.h>
|
#include <soc/ramstage.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
WEAK_DEV_PTR(rp6_wwan);
|
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 */
|
/* default implementation does nothing */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
__weak void variant_init(void)
|
||||||
|
{
|
||||||
|
/* default implementation does nothing */
|
||||||
|
}
|
||||||
|
|
||||||
static void mainboard_init(void *chip_info)
|
static void mainboard_init(void *chip_info)
|
||||||
{
|
{
|
||||||
const struct pad_config *base_pads;
|
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);
|
override_pads = variant_gpio_override_table(&override_num);
|
||||||
gpio_configure_pads_with_override(base_pads, base_num, override_pads, override_num);
|
gpio_configure_pads_with_override(base_pads, base_num, override_pads, override_num);
|
||||||
|
|
||||||
|
variant_init();
|
||||||
variant_devtree_update();
|
variant_devtree_update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -174,7 +180,18 @@ static void mainboard_enable(struct device *dev)
|
||||||
dev->ops->acpi_fill_ssdt = mainboard_fill_ssdt;
|
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 = {
|
struct chip_operations mainboard_ops = {
|
||||||
.init = mainboard_init,
|
.init = mainboard_init,
|
||||||
.enable_dev = mainboard_enable,
|
.enable_dev = mainboard_enable,
|
||||||
|
.final = mainboard_final,
|
||||||
};
|
};
|
||||||
|
|
|
@ -82,4 +82,7 @@ void variant_update_psys_power_limits(const struct cpu_power_limits *limits,
|
||||||
size_t num_entries,
|
size_t num_entries,
|
||||||
const struct psys_config *config);
|
const struct psys_config *config);
|
||||||
|
|
||||||
|
void variant_init(void);
|
||||||
|
void variant_finalize(void);
|
||||||
|
|
||||||
#endif /*__BASEBOARD_VARIANTS_H__ */
|
#endif /*__BASEBOARD_VARIANTS_H__ */
|
||||||
|
|
Loading…
Reference in New Issue