mb/google/octopus: add variant devicetree update callback

The variants of the octopus family have their own schedule and needs
for modifying settings based on the phase of the build schedule while
also needing to maintain support for previous builds. Therefore, utilize
the SoC callback, mainboard_devtree_update(), but just callback into
the newly introduced variant_update_devtree(). The indirection allows
for the ability to move the call around earlier than the
mainboard_devtree_update() if needed while maintaining consistency in
the naming of the variant API.

BUG=b:111808427,b:111743717
TEST=built

Change-Id: If1c2f60cabe65b5f1c6a04dd60e056e50c4993df
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://review.coreboot.org/27637
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Justin TerAvest <teravest@chromium.org>
This commit is contained in:
Aaron Durbin 2018-07-25 08:06:21 -06:00
parent a0dabd1848
commit 2fcc034705
2 changed files with 17 additions and 0 deletions

View File

@ -16,12 +16,14 @@
#include <arch/acpi.h> #include <arch/acpi.h>
#include <baseboard/variants.h> #include <baseboard/variants.h>
#include <boardid.h> #include <boardid.h>
#include <compiler.h>
#include <console/console.h> #include <console/console.h>
#include <device/device.h> #include <device/device.h>
#include <ec/google/chromeec/ec.h> #include <ec/google/chromeec/ec.h>
#include <ec/ec.h> #include <ec/ec.h>
#include <nhlt.h> #include <nhlt.h>
#include <smbios.h> #include <smbios.h>
#include <soc/cpu.h>
#include <soc/gpio.h> #include <soc/gpio.h>
#include <soc/nhlt.h> #include <soc/nhlt.h>
#include <string.h> #include <string.h>
@ -110,3 +112,14 @@ const char *smbios_mainboard_sku(void)
return sku_str; return sku_str;
} }
void __weak variant_update_devtree(struct device *dev)
{
/* Place holder for common updates. */
}
void mainboard_devtree_update(struct device *dev)
{
/* Defer to variant for board-specific updates. */
variant_update_devtree(dev);
}

View File

@ -41,4 +41,8 @@ const struct cros_gpio *variant_cros_gpios(size_t *num);
struct nhlt; struct nhlt;
void variant_nhlt_init(struct nhlt *nhlt); void variant_nhlt_init(struct nhlt *nhlt);
/* Modify devictree settings during ramstage. */
struct device;
void variant_update_devtree(struct device *dev);
#endif /* BASEBOARD_VARIANTS_H */ #endif /* BASEBOARD_VARIANTS_H */