1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 3 #include <bootstate.h> 4 #include <device/mmio.h> 5 #include <fw_config.h> 6 #include <gpio.h> 7 #include <intelblocks/gpio.h> 8 9 #define PAD_CFG_DW2_OFFSET (2 * sizeof(uint32_t)) 10 #define VCCIOSEL_1V8 (1 << 8) 11 fw_config_handle(void * unused)12static void fw_config_handle(void *unused) 13 { 14 void *pad_conf_offset = gpio_dwx_address(GPP_D17) + PAD_CFG_DW2_OFFSET; 15 uint32_t pad_conf = read32(pad_conf_offset); 16 17 if (fw_config_probe(FW_CONFIG(AUDIO_AMP, RT1015P_AUTO))) { 18 pad_conf |= VCCIOSEL_1V8; 19 write32(pad_conf_offset, pad_conf); 20 } 21 } 22 BOOT_STATE_INIT_ENTRY(BS_DEV_ENABLE, BS_ON_ENTRY, fw_config_handle, NULL); 23