Matt DeVillier has submitted this change. ( https://review.coreboot.org/c/coreboot/+/86255?usp=email )
(
3 is the latest approved patch-set. No files were changed between the latest approved patch-set and the submitted one. )Change subject: mb/google/trulo/var/uldrenite: Add fw_config probe for Cellular ......................................................................
mb/google/trulo/var/uldrenite: Add fw_config probe for Cellular
Use fw_config to probe Cellular.
BUG=b:392040004 BRANCH=firmware-trulo-15217.771.B TEST=emerge-nissa coreboot chromeos-bootimage
Change-Id: Ib664f543c6012b44a0a604d0943416519d92a057 Signed-off-by: John Su john_su@compal.corp-partner.google.com Reviewed-on: https://review.coreboot.org/c/coreboot/+/86255 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Subrata Banik subratabanik@google.com Reviewed-by: Dtrain Hsu dtrain_hsu@compal.corp-partner.google.com --- M src/mainboard/google/brya/variants/uldrenite/overridetree.cb M src/mainboard/google/brya/variants/uldrenite/variant.c 2 files changed, 32 insertions(+), 3 deletions(-)
Approvals: build bot (Jenkins): Verified Dtrain Hsu: Looks good to me, approved Subrata Banik: Looks good to me, approved
diff --git a/src/mainboard/google/brya/variants/uldrenite/overridetree.cb b/src/mainboard/google/brya/variants/uldrenite/overridetree.cb index 3c06750..862968e 100644 --- a/src/mainboard/google/brya/variants/uldrenite/overridetree.cb +++ b/src/mainboard/google/brya/variants/uldrenite/overridetree.cb @@ -1,4 +1,8 @@ fw_config + field DB_CELLULAR 1 2 + option CELLULAR_ABSENT 0 + option CELLULAR_RW350R 1 + end field TOUCHSCREEN 4 4 option TOUCHSCREEN_UNKNOWN 0 option TOUCHSCREEN_NONE 1 @@ -278,7 +282,9 @@ chip drivers/usb/acpi register "desc" = ""USB2 WWAN"" register "type" = "UPC_TYPE_INTERNAL" - device ref usb2_port5 on end + device ref usb2_port5 on + probe DB_CELLULAR CELLULAR_RW350R + end end chip drivers/usb/acpi register "desc" = ""USB2 User Facing Camera"" @@ -459,7 +465,9 @@ register "srcclk_pin" = "2" register "ext_pm_support" = "ACPI_PCIE_RP_EMIT_ALL" register "skip_on_off_support" = "true" - device generic 0 alias rp2_rtd3 on end + device generic 0 alias rp2_rtd3 on + probe DB_CELLULAR CELLULAR_RW350R + end end chip drivers/wwan/fm register "fcpo_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_H23)" @@ -468,8 +476,11 @@ register "wake_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E16)" register "add_acpi_dma_property" = "true" use rp2_rtd3 as rtd3dev - device generic 0 alias rp2_wwan on end + device generic 0 alias rp2_wwan on + probe DB_CELLULAR CELLULAR_RW350R + end end + probe DB_CELLULAR CELLULAR_RW350R end # PCIE2 WWAN card device ref shared_sram on end device ref heci1 on end diff --git a/src/mainboard/google/brya/variants/uldrenite/variant.c b/src/mainboard/google/brya/variants/uldrenite/variant.c index 96b2291..f5bbaf6 100644 --- a/src/mainboard/google/brya/variants/uldrenite/variant.c +++ b/src/mainboard/google/brya/variants/uldrenite/variant.c @@ -37,6 +37,17 @@ PAD_NC(GPP_E17, NONE), };
+static const struct pad_config lte_disable_pads[] = { + /* A8 : WWAN_RF_DISABLE_ODL */ + PAD_NC(GPP_A8, NONE), + /* F12 : WWAN_RST_L */ + PAD_NC_LOCK(GPP_F12, NONE, LOCK_CONFIG), + /* F13 : PLTRST_WWAN# */ + PAD_NC(GPP_F13, NONE), + /* H23 : WWAN_EN */ + PAD_NC(GPP_H23, NONE), +}; + void fw_config_gpio_padbased_override(struct pad_config *padbased_table) { if (fw_config_probe(FW_CONFIG(TOUCHSCREEN, TOUCHSCREEN_NONE))) { @@ -44,10 +55,17 @@ gpio_padbased_override(padbased_table, touchscreen_disable_pads, ARRAY_SIZE(touchscreen_disable_pads)); } + if (fw_config_probe(FW_CONFIG(DB_CELLULAR, CELLULAR_ABSENT))) { + printk(BIOS_INFO, "Disable Cellular GPIO pins.\n"); + gpio_padbased_override(padbased_table, lte_disable_pads, + ARRAY_SIZE(lte_disable_pads)); + } }
void variant_init(void) { + if (fw_config_probe(FW_CONFIG(DB_CELLULAR, CELLULAR_ABSENT))) + return; /* * RW350R power on seuqence: * De-assert WWAN_EN -> 20ms -> de-assert WWAN_RST -> 30ms ->