mb/google/skyrim: Allow port descriptors to be overridden

This allows variants to override the skyrim port descriptors.

BUG=None
TEST=Tested with following patches
BRANCH=skyrim

Signed-off-by: Martin Roth <gaumless@gmail.com>
Change-Id: I8cff44f5b39d130a7191a69970cae8a88bb5d475
Reviewed-on: https://review.coreboot.org/c/coreboot/+/73294
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
Reviewed-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
This commit is contained in:
Martin Roth 2023-02-24 13:51:41 -07:00 committed by Martin L Roth
parent e7be79c610
commit dcd7ec25cd
3 changed files with 20 additions and 2 deletions

View File

@ -122,6 +122,12 @@ config VARIANT_DIR
default "crystaldrift" if BOARD_GOOGLE_CRYSTALDRIFT default "crystaldrift" if BOARD_GOOGLE_CRYSTALDRIFT
default "markarth" if BOARD_GOOGLE_MARKARTH default "markarth" if BOARD_GOOGLE_MARKARTH
config USE_VARIANT_DXIO_DESCRIPTOR
bool
help
Enable this to allow a variant to override the dxio descriptor values
in port_descriptors.c
config VBOOT config VBOOT
select EC_GOOGLE_CHROMEEC_SWITCHES select EC_GOOGLE_CHROMEEC_SWITCHES
select VBOOT_LID_SWITCH select VBOOT_LID_SWITCH

View File

@ -5,6 +5,9 @@
#include <soc/platform_descriptors.h> #include <soc/platform_descriptors.h>
#include <types.h> #include <types.h>
#if CONFIG(USE_VARIANT_DXIO_DESCRIPTOR)
static const fsp_dxio_descriptor skyrim_mdn_dxio_descriptors[] = {};
#else
static const fsp_dxio_descriptor skyrim_mdn_dxio_descriptors[] = { static const fsp_dxio_descriptor skyrim_mdn_dxio_descriptors[] = {
{ /* WLAN */ { /* WLAN */
.engine_type = PCIE_ENGINE, .engine_type = PCIE_ENGINE,
@ -48,6 +51,7 @@ static const fsp_dxio_descriptor skyrim_mdn_dxio_descriptors[] = {
.clk_req = CLK_REQ0, .clk_req = CLK_REQ0,
}, },
}; };
#endif
static const fsp_ddi_descriptor skyrim_mdn_ddi_descriptors[] = { static const fsp_ddi_descriptor skyrim_mdn_ddi_descriptors[] = {
{ /* DDI0 - eDP */ { /* DDI0 - eDP */
@ -81,8 +85,13 @@ void mainboard_get_dxio_ddi_descriptors(
const fsp_dxio_descriptor **dxio_descs, size_t *dxio_num, const fsp_dxio_descriptor **dxio_descs, size_t *dxio_num,
const fsp_ddi_descriptor **ddi_descs, size_t *ddi_num) const fsp_ddi_descriptor **ddi_descs, size_t *ddi_num)
{ {
if (CONFIG(USE_VARIANT_DXIO_DESCRIPTOR)) {
variant_get_dxio_descriptor(dxio_descs, dxio_num);
} else {
*dxio_descs = skyrim_mdn_dxio_descriptors; *dxio_descs = skyrim_mdn_dxio_descriptors;
*dxio_num = ARRAY_SIZE(skyrim_mdn_dxio_descriptors); *dxio_num = ARRAY_SIZE(skyrim_mdn_dxio_descriptors);
}
*ddi_descs = skyrim_mdn_ddi_descriptors; *ddi_descs = skyrim_mdn_ddi_descriptors;
*ddi_num = ARRAY_SIZE(skyrim_mdn_ddi_descriptors); *ddi_num = ARRAY_SIZE(skyrim_mdn_ddi_descriptors);
} }

View File

@ -44,4 +44,7 @@ void baseboard_romstage_gpio_table(const struct soc_amd_gpio **gpio, size_t *siz
/* This function allows variant to override any GPIO init in romstage. */ /* This function allows variant to override any GPIO init in romstage. */
void variant_romstage_override_gpio_table(const struct soc_amd_gpio **gpio, size_t *size); void variant_romstage_override_gpio_table(const struct soc_amd_gpio **gpio, size_t *size);
/* Allow variants to override the DXIO Descriptors */
void variant_get_dxio_descriptor(const fsp_dxio_descriptor **dxio_descs, size_t *dxio_num);
#endif /* __BASEBOARD_VARIANTS_H__ */ #endif /* __BASEBOARD_VARIANTS_H__ */