blob: 33ad260e74acdc436b904f6fc4dfb93f24f12d5a [file] [log] [blame]
/* SPDX-License-Identifier: GPL-2.0-only */
#include <acpi/acpi.h>
#include <ec/google/chromeec/ec.h>
#include <baseboard/variants.h>
#include <variant/sku.h>
#include <gpio.h>
#include <variant/gpio.h>
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);
}