mb/google/nissa/var/nivviks: Move WWAN power on sequence forward

Move WWAN power on sequence from OS to coreboot. This can save the
WWAN initial time about 10S. Another purpose is power resource be
removed because we don't power off the LTE in S0ix.

BUG=b:223490884
TEST=FM101-GL work as expected.
Enumerate time from
[   17.747145] usb 4-2: new SuperSpeed USB device number 2 using xhci_hcd
[   17.760192] usb 4-2: New USB device found, idVendor=2cb7, idProduct=01a2, bcdDevice= 5.04
[   17.760210] usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[   17.760215] usb 4-2: Product: Fibocom FM101-GL Module
[   17.760220] usb 4-2: Manufacturer: Fibocom Wireless Inc.
[   17.760224] usb 4-2: SerialNumber: 9c88998f
to
[    3.936409] usb 4-2: new SuperSpeed USB device number 2 using xhci_hcd
[    3.966695] usb 4-2: New USB device found, idVendor=2cb7, idProduct=01a2, bcdDevice= 5.04
[    3.989989] usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    4.003813] usb 4-2: Product: Fibocom FM101-GL Module
[    4.019760] usb 4-2: Manufacturer: Fibocom Wireless Inc.
[    4.019762] usb 4-2: SerialNumber: 9c88998f

Signed-off-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
Change-Id: I0f3fe999ae3a109b739629948b619a389a9059b1
Reviewed-on: https://review.coreboot.org/c/coreboot/+/63129
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kangheui Won <khwon@chromium.org>
Reviewed-by: Reka Norman <rekanorman@chromium.org>
This commit is contained in:
Eric Lai 2022-03-28 09:40:35 +08:00 committed by Paul Fagerburg
parent 0f5ca5ad8c
commit e156b2bcec
3 changed files with 5 additions and 6 deletions

View File

@ -232,7 +232,7 @@ static const struct pad_config gpio_table[] = {
/* F11 : NC */ /* F11 : NC */
PAD_NC(GPP_F11, NONE), PAD_NC(GPP_F11, NONE),
/* F12 : GSXDOUT ==> WWAN_RST_L */ /* F12 : GSXDOUT ==> WWAN_RST_L */
PAD_CFG_GPO(GPP_F12, 0, DEEP), PAD_CFG_GPO(GPP_F12, 1, DEEP),
/* F13 : GSXSLOAD ==> SOC_PEN_DETECT_R_ODL */ /* F13 : GSXSLOAD ==> SOC_PEN_DETECT_R_ODL */
PAD_CFG_GPI_GPIO_DRIVER(GPP_F13, NONE, DEEP), PAD_CFG_GPI_GPIO_DRIVER(GPP_F13, NONE, DEEP),
/* F14 : GSXDIN ==> TCHPAD_INT_ODL */ /* F14 : GSXDIN ==> TCHPAD_INT_ODL */

View File

@ -32,10 +32,14 @@ static const struct pad_config board_id0_overrides[] = {
/* Early pad configuration in bootblock */ /* Early pad configuration in bootblock */
static const struct pad_config early_gpio_table[] = { static const struct pad_config early_gpio_table[] = {
/* F12 : GSXDOUT ==> WWAN_RST_L */
PAD_CFG_GPO(GPP_F12, 0, DEEP),
/* H12 : UART0_RTS# ==> SD_PERST_L */ /* H12 : UART0_RTS# ==> SD_PERST_L */
PAD_CFG_GPO(GPP_H12, 0, DEEP), PAD_CFG_GPO(GPP_H12, 0, DEEP),
/* A13 : GPP_A13 ==> GSC_SOC_INT_ODL */ /* A13 : GPP_A13 ==> GSC_SOC_INT_ODL */
PAD_CFG_GPI_APIC(GPP_A13, NONE, PLTRST, LEVEL, INVERT), PAD_CFG_GPI_APIC(GPP_A13, NONE, PLTRST, LEVEL, INVERT),
/* D6 : SRCCLKREQ1# ==> WWAN_EN */
PAD_CFG_GPO(GPP_D6, 1, DEEP),
/* E12 : THC0_SPI1_IO1 ==> SOC_WP_OD */ /* E12 : THC0_SPI1_IO1 ==> SOC_WP_OD */
PAD_CFG_GPI_GPIO_DRIVER(GPP_E12, NONE, DEEP), PAD_CFG_GPI_GPIO_DRIVER(GPP_E12, NONE, DEEP),
/* F18 : THC1_SPI2_INT# ==> EC_IN_RW_OD */ /* F18 : THC1_SPI2_INT# ==> EC_IN_RW_OD */

View File

@ -304,11 +304,6 @@ chip soc/intel/alderlake
chip drivers/usb/acpi chip drivers/usb/acpi
register "desc" = ""USB2 WWAN"" register "desc" = ""USB2 WWAN""
register "type" = "UPC_TYPE_INTERNAL" register "type" = "UPC_TYPE_INTERNAL"
register "has_power_resource" = "1"
register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_F12)"
register "reset_off_delay_ms" = "20"
register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D6)"
register "enable_delay_ms" = "20"
device ref usb2_port4 on device ref usb2_port4 on
probe DB_USB DB_1C_LTE probe DB_USB DB_1C_LTE
end end