summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mainboard/google/dedede/Makefile.inc1
-rw-r--r--src/mainboard/google/dedede/fw_config.c17
2 files changed, 18 insertions, 0 deletions
diff --git a/src/mainboard/google/dedede/Makefile.inc b/src/mainboard/google/dedede/Makefile.inc
index 1b5503d40f..cc815d857b 100644
--- a/src/mainboard/google/dedede/Makefile.inc
+++ b/src/mainboard/google/dedede/Makefile.inc
@@ -9,6 +9,7 @@ ramstage-$(CONFIG_CHROMEOS) += chromeos.c
ramstage-y += mainboard.c
ramstage-y += ec.c
ramstage-y += board_info.c
+ramstage-$(CONFIG_FW_CONFIG) += fw_config.c
VARIANT_DIR:=$(call strip_quotes,$(CONFIG_VARIANT_DIR))
diff --git a/src/mainboard/google/dedede/fw_config.c b/src/mainboard/google/dedede/fw_config.c
new file mode 100644
index 0000000000..178f0e1679
--- /dev/null
+++ b/src/mainboard/google/dedede/fw_config.c
@@ -0,0 +1,17 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <bootstate.h>
+#include <fw_config.h>
+#include <gpio.h>
+
+static const struct pad_config spkr_pads[] = {
+ PAD_CFG_GPO_VCCIOSEL(GPP_D17, 0, PLTRST, 1V8),
+};
+
+static void fw_config_handle(void *unused)
+{
+ if (fw_config_probe(FW_CONFIG(AUDIO_AMP, RT1015P_AUTO))) {
+ gpio_configure_pads(spkr_pads, ARRAY_SIZE(spkr_pads));
+ }
+}
+BOOT_STATE_INIT_ENTRY(BS_DEV_ENABLE, BS_ON_ENTRY, fw_config_handle, NULL);