From 5103b87a4d7b0b84a9773f9dc19a36caa7d4344f Mon Sep 17 00:00:00 2001 From: Sean Rhodes Date: Fri, 17 Feb 2023 16:42:42 +0000 Subject: [PATCH] mb/starlabs/starbook/adl: Add an option to enable Hot Plug Some third-party SSDs, from Samsung and WD, such as the 990 Pro and WD Black 850X aren't initialised by coreboot, seemingly as coreboot is too quick; debug builds work, and enabling hotplug does. Add a cmos option `pci_hot_plug`, defaulting to enabled to allow these SSDs to work. Signed-off-by: Sean Rhodes Change-Id: I680211bc87153a5e6005d58040a94725c0973451 Reviewed-on: https://review.coreboot.org/c/coreboot/+/73092 Tested-by: build bot (Jenkins) Reviewed-by: Angel Pons --- src/mainboard/starlabs/starbook/cmos.default | 1 + src/mainboard/starlabs/starbook/cmos.layout | 1 + .../starlabs/starbook/variants/adl/Makefile.inc | 1 + .../starlabs/starbook/variants/adl/ramstage.c | 15 +++++++++++++++ 4 files changed, 18 insertions(+) create mode 100644 src/mainboard/starlabs/starbook/variants/adl/ramstage.c diff --git a/src/mainboard/starlabs/starbook/cmos.default b/src/mainboard/starlabs/starbook/cmos.default index f1276cc6ed..151686ce44 100644 --- a/src/mainboard/starlabs/starbook/cmos.default +++ b/src/mainboard/starlabs/starbook/cmos.default @@ -12,6 +12,7 @@ wireless=Enable webcam=Enable microphone=Enable legacy_8254_timer=Disable +pci_hot_plug=Disable # EC kbl_timeout=30 seconds fn_ctrl_swap=Disable diff --git a/src/mainboard/starlabs/starbook/cmos.layout b/src/mainboard/starlabs/starbook/cmos.layout index 887c0b21b9..9fc0b7ddf0 100644 --- a/src/mainboard/starlabs/starbook/cmos.layout +++ b/src/mainboard/starlabs/starbook/cmos.layout @@ -28,6 +28,7 @@ entries 512 1 e 1 webcam 520 1 e 1 microphone 528 1 e 1 legacy_8254_timer +536 1 e 1 pci_hot_plug # coreboot config options: EC 600 3 e 4 kbl_timeout diff --git a/src/mainboard/starlabs/starbook/variants/adl/Makefile.inc b/src/mainboard/starlabs/starbook/variants/adl/Makefile.inc index 2a505c35c7..9abc069b38 100644 --- a/src/mainboard/starlabs/starbook/variants/adl/Makefile.inc +++ b/src/mainboard/starlabs/starbook/variants/adl/Makefile.inc @@ -7,3 +7,4 @@ romstage-y += romstage.c ramstage-y += devtree.c ramstage-y += gpio.c ramstage-y += hda_verb.c +ramstage-y += ramstage.c diff --git a/src/mainboard/starlabs/starbook/variants/adl/ramstage.c b/src/mainboard/starlabs/starbook/variants/adl/ramstage.c new file mode 100644 index 0000000000..7accb1d365 --- /dev/null +++ b/src/mainboard/starlabs/starbook/variants/adl/ramstage.c @@ -0,0 +1,15 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include +#include + + +void mainboard_silicon_init_params(FSP_S_CONFIG *supd) +{ + /* + * Enable Hot Plug on RP5 to slow down coreboot so that + * third-party drives are detected. + */ + if (get_uint_option("pci_hot_plug", 0) == 1) + supd->PcieRpHotPlug[4] = 1; +}