blob: d176283c2afc64ffadb99dd6b8583a28213993d8 [file] [log] [blame]
/* SPDX-License-Identifier: GPL-2.0-only */
#include <bootstate.h>
#include <device/mmio.h>
#include <fw_config.h>
#include <gpio.h>
#include <intelblocks/gpio.h>
#define PAD_CFG_DW2_OFFSET (2 * sizeof(uint32_t))
#define VCCIOSEL_1V8 (1 << 8)
static void fw_config_handle(void *unused)
{
void *pad_conf_offset = gpio_dwx_address(GPP_D17) + PAD_CFG_DW2_OFFSET;
uint32_t pad_conf = read32(pad_conf_offset);
if (fw_config_probe(FW_CONFIG(AUDIO_AMP, RT1015P_AUTO))) {
pad_conf |= VCCIOSEL_1V8;
write32(pad_conf_offset, pad_conf);
}
}
BOOT_STATE_INIT_ENTRY(BS_DEV_ENABLE, BS_ON_ENTRY, fw_config_handle, NULL);