diff options
Diffstat (limited to 'src/mainboard/google/dedede/fw_config.c')
-rw-r--r-- | src/mainboard/google/dedede/fw_config.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/mainboard/google/dedede/fw_config.c b/src/mainboard/google/dedede/fw_config.c new file mode 100644 index 0000000000..895f4891f5 --- /dev/null +++ b/src/mainboard/google/dedede/fw_config.c @@ -0,0 +1,23 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include <arch/mmio.h> +#include <bootstate.h> +#include <console/console.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); |