/* SPDX-License-Identifier: GPL-2.0-only */ #include #include #include #include #include #include static const struct soc_amd_gpio variant_gpio_wlan_rst_early_reset[] = { /* GPIO_70 - WLAN_PE_RST_L */ PAD_GPO(GPIO_70, LOW), }; const struct soc_amd_gpio *variant_wlan_rst_early_gpio_table(size_t *size) { *size = ARRAY_SIZE(variant_gpio_wlan_rst_early_reset); return variant_gpio_wlan_rst_early_reset; } void variant_romstage_entry(void) { uint32_t sku = google_chromeec_get_sku_id(); uint32_t bid; if (!acpi_is_wakeup_s3()) { /* Based on SKU, turn on keyboard backlight */ switch (sku) { default: google_chromeec_kbbacklight(75); break; case SKU_CAREENA_KB_BACKLIGHT18: case SKU_CAREENA_KB_BACKLIGHT19: case SKU_CAREENA_KB_BACKLIGHT22: case SKU_CAREENA_KB_BACKLIGHT23: google_chromeec_kbbacklight(10); break; } } google_chromeec_get_board_version(&bid); if (bid == 7) /* * Config WLAN RST - GPIO70 PU: release RST * From RTK RTL8822CE spec, WLAN RST needs to be active * at least 50 ms since WLAN power on */ gpio_set(GPIO_70, 1); }