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 <sean@starlabs.systems>
Change-Id: I680211bc87153a5e6005d58040a94725c0973451
Reviewed-on: https://review.coreboot.org/c/coreboot/+/73092
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
This commit is contained in:
Sean Rhodes 2023-02-17 16:42:42 +00:00 committed by Felix Held
parent db8ef01e30
commit 5103b87a4d
4 changed files with 18 additions and 0 deletions

View File

@ -12,6 +12,7 @@ wireless=Enable
webcam=Enable webcam=Enable
microphone=Enable microphone=Enable
legacy_8254_timer=Disable legacy_8254_timer=Disable
pci_hot_plug=Disable
# EC # EC
kbl_timeout=30 seconds kbl_timeout=30 seconds
fn_ctrl_swap=Disable fn_ctrl_swap=Disable

View File

@ -28,6 +28,7 @@ entries
512 1 e 1 webcam 512 1 e 1 webcam
520 1 e 1 microphone 520 1 e 1 microphone
528 1 e 1 legacy_8254_timer 528 1 e 1 legacy_8254_timer
536 1 e 1 pci_hot_plug
# coreboot config options: EC # coreboot config options: EC
600 3 e 4 kbl_timeout 600 3 e 4 kbl_timeout

View File

@ -7,3 +7,4 @@ romstage-y += romstage.c
ramstage-y += devtree.c ramstage-y += devtree.c
ramstage-y += gpio.c ramstage-y += gpio.c
ramstage-y += hda_verb.c ramstage-y += hda_verb.c
ramstage-y += ramstage.c

View File

@ -0,0 +1,15 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <option.h>
#include <soc/ramstage.h>
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;
}