aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarthikeyan Ramasubramanian <kramasub@google.com>2022-05-02 13:30:57 -0600
committerTim Wawrzynczak <twawrzynczak@chromium.org>2022-05-12 18:40:07 +0000
commitd52adc4a87ba54c0b20ec66eff5433a393bc1688 (patch)
tree56e250531e231dc7f468b7f7ee99a20eaf5bbf7b
parent0bb5b1c58a979c8db1b4672850ce40c73d703da0 (diff)
mb/google/skyrim/var/skyrim: Add VL822 USB hub
In Skyrim, USB-A port and WWAN modules are connected to the SoC USB ports through an external hub. Update the USB configuration in the devicetree accordingly. Enable the ACPI driver for external USB hub. BUG=b:227761300 TEST=Build and boot to OS in Skyrim. Ensure that the hub and USB-A ports are enumerated correctly in the output of lusub command. Change-Id: Ibf6a3da8add7361fc50adcf7c62e46df234685dc Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/63586 Reviewed-by: Raul Rangel <rrangel@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r--src/mainboard/google/skyrim/Kconfig1
-rw-r--r--src/mainboard/google/skyrim/variants/baseboard/devicetree.cb12
-rw-r--r--src/mainboard/google/skyrim/variants/skyrim/overridetree.cb42
3 files changed, 43 insertions, 12 deletions
diff --git a/src/mainboard/google/skyrim/Kconfig b/src/mainboard/google/skyrim/Kconfig
index 5a60c987b6..a1b6349661 100644
--- a/src/mainboard/google/skyrim/Kconfig
+++ b/src/mainboard/google/skyrim/Kconfig
@@ -18,6 +18,7 @@ config BOARD_SPECIFIC_OPTIONS
select DRIVERS_GENERIC_GPIO_KEYS
select DRIVERS_I2C_GENERIC
select DRIVERS_I2C_HID
+ select DRIVERS_USB_HUB
select DRIVERS_WIFI_GENERIC
select EC_GOOGLE_CHROMEEC
select EC_GOOGLE_CHROMEEC_ESPI
diff --git a/src/mainboard/google/skyrim/variants/baseboard/devicetree.cb b/src/mainboard/google/skyrim/variants/baseboard/devicetree.cb
index f0d103957d..bfdc736cbc 100644
--- a/src/mainboard/google/skyrim/variants/baseboard/devicetree.cb
+++ b/src/mainboard/google/skyrim/variants/baseboard/devicetree.cb
@@ -105,24 +105,12 @@ chip soc/amd/sabrina
device ref usb3_port2 on end
end
chip drivers/usb/acpi
- register "desc" = ""Left Type-A Port""
- register "type" = "UPC_TYPE_USB3_A"
- register "group" = "ACPI_PLD_GROUP(2, 2)"
- device ref usb3_port3 on end
- end
- chip drivers/usb/acpi
register "desc" = ""Left Type-C Port""
register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
register "group" = "ACPI_PLD_GROUP(2, 1)"
device ref usb2_port2 on end
end
chip drivers/usb/acpi
- register "desc" = ""Left Type-A Port""
- register "type" = "UPC_TYPE_USB3_A"
- register "group" = "ACPI_PLD_GROUP(2, 2)"
- device ref usb2_port3 on end
- end
- chip drivers/usb/acpi
register "desc" = ""World-Facing Camera""
register "type" = "UPC_TYPE_INTERNAL"
device ref usb2_port4 on end
diff --git a/src/mainboard/google/skyrim/variants/skyrim/overridetree.cb b/src/mainboard/google/skyrim/variants/skyrim/overridetree.cb
index 3b33a5dee7..dd731ee24d 100644
--- a/src/mainboard/google/skyrim/variants/skyrim/overridetree.cb
+++ b/src/mainboard/google/skyrim/variants/skyrim/overridetree.cb
@@ -28,6 +28,48 @@ end
chip soc/amd/sabrina
device domain 0 on
+ device ref gpp_bridge_a on # Internal GPP Bridge 0 to Bus A
+ device ref xhci_1 on # XHCI1 controller
+ chip drivers/usb/acpi
+ device ref xhci_1_root_hub on # XHCI1 root hub
+ chip drivers/usb/acpi
+ device ref usb3_port3 on # USB 3.1 port3
+ chip drivers/usb/hub
+ register "desc" = ""USB Hub""
+ register "name" = ""VL822""
+ register "port_count" = "4"
+ device usb 0.0 on # VL822 USB3 hub
+ chip drivers/usb/acpi
+ register "desc" = ""Left Type-A Port""
+ register "type" = "UPC_TYPE_USB3_A"
+ register "group" = "ACPI_PLD_GROUP(2, 2)"
+ device usb 3.0 on end
+ end
+ end # VL822 USB3 hub
+ end
+ end # USB 3.1 port3
+ end
+ chip drivers/usb/acpi
+ device ref usb2_port3 on # USB 2 port3
+ chip drivers/usb/hub
+ register "desc" = ""USB Hub""
+ register "name" = ""VL822""
+ register "port_count" = "4"
+ device usb 0.0 on # VL822 USB2 hub
+ chip drivers/usb/acpi
+ register "desc" = ""Left Type-A Port""
+ register "type" = "UPC_TYPE_USB3_A"
+ register "group" = "ACPI_PLD_GROUP(2, 2)"
+ device usb 2.0 on end
+ end
+ end # VL822 USB2 hub
+ end
+ end # USB 2 port3
+ end
+ end # XHCI1 root hub
+ end
+ end # XHCI1 controller
+ end # Internal GPP Bridge 0 to Bus A
end # domain
# I2C Config