diff options
author | Karthikeyan Ramasubramanian <kramasub@chromium.org> | 2019-06-06 15:57:47 -0600 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2019-07-19 17:14:55 +0000 |
commit | 02592ec2912e064f0cd0f6a5094382913f1f6b2f (patch) | |
tree | cd52d5e0e5124477b1aaf6f19ef9573de0cb7c34 /src/mainboard/google/octopus/mainboard.c | |
parent | 25fcdce7d4fb9e92e10a36d8ef48c3046228ee65 (diff) |
mb/google/octopus: Disable unused USB devices
Disable unused USB devices in the device tree so that the concerned ACPI
objects do not get exported to the OS.
BUG=b:133513961
BRANCH=octopus
TEST=Boot to ChromeOS. Ensure that the USB devices are disabled based
on port status and the concerned ACPI objects are not exported.
Change-Id: I0faccdfb8a9df9ec52130437433b15973e3d6f1a
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/34291
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
Diffstat (limited to 'src/mainboard/google/octopus/mainboard.c')
-rw-r--r-- | src/mainboard/google/octopus/mainboard.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/mainboard/google/octopus/mainboard.c b/src/mainboard/google/octopus/mainboard.c index 91cf1e4b70..3312d4d988 100644 --- a/src/mainboard/google/octopus/mainboard.c +++ b/src/mainboard/google/octopus/mainboard.c @@ -16,12 +16,14 @@ #include <arch/acpi.h> #include <baseboard/variants.h> #include <boardid.h> +#include <bootstate.h> #include <console/console.h> #include <device/device.h> #include <device/pci_def.h> #include <device/pci_ops.h> #include <ec/google/chromeec/ec.h> #include <ec/ec.h> +#include <intelblocks/xhci.h> #include <nhlt.h> #include <smbios.h> #include <soc/cpu.h> @@ -199,3 +201,16 @@ const char *smbios_mainboard_manufacturer(void) return manuf; } + +bool __weak variant_ext_usb_status(unsigned int port_type, unsigned int port_id) +{ + /* All externally visible USB ports are present */ + return true; +} + +static void disable_unused_devices(void *unused) +{ + usb_xhci_disable_unused(variant_ext_usb_status); +} + +BOOT_STATE_INIT_ENTRY(BS_DEV_INIT, BS_ON_EXIT, disable_unused_devices, NULL); |