blob: 7e5d8fa2e242c8396d7ce833c98de558e715d69d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
/* SPDX-License-Identifier: GPL-2.0-only */
#include <arch/mmio.h>
#include <bootstate.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);
|