diff --git a/src/mainboard/starlabs/byte_adl/cfr.c b/src/mainboard/starlabs/byte_adl/cfr.c index 3a9162d1cb..9936025c25 100644 --- a/src/mainboard/starlabs/byte_adl/cfr.c +++ b/src/mainboard/starlabs/byte_adl/cfr.c @@ -77,5 +77,6 @@ static struct sm_obj_form *sm_root[] = { void mb_cfr_setup_menu(struct lb_cfr *cfr_root) { + starlabs_cfr_register_overrides(); cfr_write_setup_menu(cfr_root, sm_root); } diff --git a/src/mainboard/starlabs/common/cfr/cfr.c b/src/mainboard/starlabs/common/cfr/cfr.c index 78a41814e5..70899d21b1 100644 --- a/src/mainboard/starlabs/common/cfr/cfr.c +++ b/src/mainboard/starlabs/common/cfr/cfr.c @@ -1,9 +1,22 @@ /* SPDX-License-Identifier: GPL-2.0-only */ #include +#include #include void __weak cfr_card_reader_update(struct sm_object *new_obj) { (void)new_obj; } + +static const struct cfr_default_override starlabs_cfr_overrides[] = { + CFR_OVERRIDE_ENUM("pciexp_aspm", ASPM_L0S_L1), + CFR_OVERRIDE_END +}; + +void starlabs_cfr_register_overrides(void) +{ + if (!CONFIG(DRIVERS_OPTION_CFR)) + return; + cfr_register_overrides(starlabs_cfr_overrides); +} diff --git a/src/mainboard/starlabs/common/include/common/cfr.h b/src/mainboard/starlabs/common/include/common/cfr.h index 58c4ec2a8e..4613b94fbd 100644 --- a/src/mainboard/starlabs/common/include/common/cfr.h +++ b/src/mainboard/starlabs/common/include/common/cfr.h @@ -8,6 +8,7 @@ #include void cfr_card_reader_update(struct sm_object *new_obj); +void starlabs_cfr_register_overrides(void); static const struct sm_object accelerometer = SM_DECLARE_BOOL({ .opt_name = "accelerometer", diff --git a/src/mainboard/starlabs/lite/cfr.c b/src/mainboard/starlabs/lite/cfr.c index db3702fb79..ae1cfdbbd3 100644 --- a/src/mainboard/starlabs/lite/cfr.c +++ b/src/mainboard/starlabs/lite/cfr.c @@ -87,5 +87,6 @@ static struct sm_obj_form *sm_root[] = { void mb_cfr_setup_menu(struct lb_cfr *cfr_root) { + starlabs_cfr_register_overrides(); cfr_write_setup_menu(cfr_root, sm_root); } diff --git a/src/mainboard/starlabs/starbook/cfr.c b/src/mainboard/starlabs/starbook/cfr.c index a499d3ed08..ab5f84e663 100644 --- a/src/mainboard/starlabs/starbook/cfr.c +++ b/src/mainboard/starlabs/starbook/cfr.c @@ -124,5 +124,6 @@ static struct sm_obj_form *sm_root[] = { void mb_cfr_setup_menu(struct lb_cfr *cfr_root) { + starlabs_cfr_register_overrides(); cfr_write_setup_menu(cfr_root, sm_root); } diff --git a/src/mainboard/starlabs/starfighter/cfr.c b/src/mainboard/starlabs/starfighter/cfr.c index 146ffd6913..01488d4865 100644 --- a/src/mainboard/starlabs/starfighter/cfr.c +++ b/src/mainboard/starlabs/starfighter/cfr.c @@ -109,5 +109,6 @@ static struct sm_obj_form *sm_root[] = { void mb_cfr_setup_menu(struct lb_cfr *cfr_root) { + starlabs_cfr_register_overrides(); cfr_write_setup_menu(cfr_root, sm_root); } diff --git a/src/mainboard/starlabs/starlite_adl/cfr.c b/src/mainboard/starlabs/starlite_adl/cfr.c index 7bbe25d61f..6416dc4a77 100644 --- a/src/mainboard/starlabs/starlite_adl/cfr.c +++ b/src/mainboard/starlabs/starlite_adl/cfr.c @@ -107,5 +107,6 @@ static struct sm_obj_form *sm_root[] = { void mb_cfr_setup_menu(struct lb_cfr *cfr_root) { + starlabs_cfr_register_overrides(); cfr_write_setup_menu(cfr_root, sm_root); }