summaryrefslogtreecommitdiffstats
path: root/src/mainboard
diff options
context:
space:
mode:
authormarxwang <marx.wang@intel.com>2019-01-02 20:34:53 +0800
committerPatrick Georgi <pgeorgi@google.com>2019-01-07 10:31:15 +0000
commita3a2ffbe57f30df4575855d923abc56e5245fd59 (patch)
treea42f28774ea9ed6231b110ca14821591903d18dc /src/mainboard
parentaae963732ce7cd317d6619001ba8dfb2c2385ad5 (diff)
downloadcoreboot-a3a2ffbe57f30df4575855d923abc56e5245fd59.tar.gz
coreboot-a3a2ffbe57f30df4575855d923abc56e5245fd59.tar.bz2
coreboot-a3a2ffbe57f30df4575855d923abc56e5245fd59.zip
mb/google/poppy/variant/rammus: enable USB acpi
Main objective for this change is to export the bluetooth reset gpio to the kernel for use in an rf-kill operation. To do so, we enable USB acpi and define all of the USB2 devices, which includes bluetooth's reset gpio information. BUG=b:119899987 TEST=build and flash to rammus, log into rammus and 'cat /sys/firmware/acpi/tables/SSDT > /tmp/ssdt.dml', copy that ssdt.dsml to /tmp/ssdt.dml on host machine, 'iasl -d /tmp/ssdt.dml', then verify that "reset gpio" shows up in the HS03 node's _DSD package in the table. Signed-off-by: marxwang <marx.wang@intel.com> Change-Id: Ieadb3609c7634a20e96c7c4dfb96f5e3f23e468b Reviewed-on: https://review.coreboot.org/c/30607 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Zhuohao Lee <zhuohao@google.com> Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Diffstat (limited to 'src/mainboard')
-rw-r--r--src/mainboard/google/poppy/Kconfig1
-rw-r--r--src/mainboard/google/poppy/variants/rammus/devicetree.cb35
-rw-r--r--src/mainboard/google/poppy/variants/rammus/gpio.c4
3 files changed, 37 insertions, 3 deletions
diff --git a/src/mainboard/google/poppy/Kconfig b/src/mainboard/google/poppy/Kconfig
index 789578f72806..59abe7258c25 100644
--- a/src/mainboard/google/poppy/Kconfig
+++ b/src/mainboard/google/poppy/Kconfig
@@ -198,6 +198,7 @@ config VARIANT_SPECIFIC_OPTIONS_RAMMUS
select DRIVERS_I2C_MAX98927
select DRIVERS_I2C_DA7219
select DRIVERS_SPI_ACPI
+ select DRIVERS_USB_ACPI
select MAINBOARD_HAS_SPI_TPM_CR50
config VARIANT_SPECIFIC_OPTIONS_SORAKA
diff --git a/src/mainboard/google/poppy/variants/rammus/devicetree.cb b/src/mainboard/google/poppy/variants/rammus/devicetree.cb
index 7159c02d862a..cf3259347d49 100644
--- a/src/mainboard/google/poppy/variants/rammus/devicetree.cb
+++ b/src/mainboard/google/poppy/variants/rammus/devicetree.cb
@@ -254,7 +254,40 @@ chip soc/intel/skylake
device domain 0 on
device pci 00.0 on end # Host Bridge
device pci 02.0 on end # Integrated Graphics Device
- device pci 14.0 on end # USB xHCI
+ device pci 14.0 on
+ chip drivers/usb/acpi
+ register "desc" = ""Root Hub""
+ register "type" = "UPC_TYPE_HUB"
+ device usb 0.0 on
+ chip drivers/usb/acpi
+ register "desc" = ""USB Type C Port 1""
+ register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
+ device usb 2.0 on end
+ end
+ chip drivers/usb/acpi
+ register "desc" = ""USB Type A Port 1""
+ register "type" = "UPC_TYPE_A"
+ device usb 2.1 on end
+ end
+ chip drivers/usb/acpi
+ register "desc" = ""Bluetooth""
+ register "type" = "UPC_TYPE_INTERNAL"
+ register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C8)"
+ device usb 2.2 on end
+ end
+ chip drivers/usb/acpi
+ register "desc" = ""USB Type C Port 2""
+ register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
+ device usb 2.4 on end
+ end
+ chip drivers/usb/acpi
+ register "desc" = ""Camera""
+ register "type" = "UPC_TYPE_INTERNAL"
+ device usb 2.8 on end
+ end
+ end
+ end
+ end # USB xHCI
device pci 14.1 on end # USB xDCI (OTG)
device pci 14.2 on end # Thermal Subsystem
device pci 15.0 on
diff --git a/src/mainboard/google/poppy/variants/rammus/gpio.c b/src/mainboard/google/poppy/variants/rammus/gpio.c
index 8b8dd12bcd20..d82eeafae0c3 100644
--- a/src/mainboard/google/poppy/variants/rammus/gpio.c
+++ b/src/mainboard/google/poppy/variants/rammus/gpio.c
@@ -127,8 +127,8 @@ static const struct pad_config gpio_table[] = {
PAD_CFG_GPI_GPIO_DRIVER(GPP_C6, 20K_PU, DEEP),
/* C7 : SM1DATA ==> NC */
PAD_CFG_NC(GPP_C7),
- /* C8 : UART0_RXD ==> NC(BT_OFF#) */
- PAD_CFG_NC(GPP_C8),
+ /* C8 : UART0_RXD ==> BT_OFF# */
+ PAD_CFG_GPO(GPP_C8, 1, DEEP),
/* C9 : UART0_TXD ==> NC(WLAN_OFF#) */
PAD_CFG_NC(GPP_C9),
/* C10 : UART0_RTS# ==> NC(T0817) */