summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mainboard/google/poppy/Kconfig8
-rw-r--r--src/mainboard/google/poppy/variants/rammus/Makefile.inc1
-rw-r--r--src/mainboard/google/poppy/variants/rammus/nhlt.c43
3 files changed, 52 insertions, 0 deletions
diff --git a/src/mainboard/google/poppy/Kconfig b/src/mainboard/google/poppy/Kconfig
index 9a75d9c32f..2ca0f96cb4 100644
--- a/src/mainboard/google/poppy/Kconfig
+++ b/src/mainboard/google/poppy/Kconfig
@@ -86,6 +86,12 @@ config INCLUDE_NHLT_BLOBS_NOCTURNE
select NHLT_DMIC_4CH
select NHLT_MAX98373
+config INCLUDE_NHLT_BLOBS_RAMMUS
+ bool "Include blobs for rammus audio."
+ select NHLT_DA7219
+ select NHLT_DMIC_4CH
+ select NHLT_MAX98927
+
config MAINBOARD_DIR
string
default "google/poppy"
@@ -186,6 +192,8 @@ config VARIANT_SPECIFIC_OPTIONS_NOCTURNE
config VARIANT_SPECIFIC_OPTIONS_RAMMUS
def_bool n
select CHROMEOS_WIFI_SAR if CHROMEOS
+ select DRIVERS_I2C_MAX98927
+ select DRIVERS_I2C_DA7219
select MAINBOARD_HAS_SPI_TPM_CR50
config VARIANT_SPECIFIC_OPTIONS_SORAKA
diff --git a/src/mainboard/google/poppy/variants/rammus/Makefile.inc b/src/mainboard/google/poppy/variants/rammus/Makefile.inc
index f24f8a7de2..98464af429 100644
--- a/src/mainboard/google/poppy/variants/rammus/Makefile.inc
+++ b/src/mainboard/google/poppy/variants/rammus/Makefile.inc
@@ -1 +1,2 @@
SPD_SOURCES = empty # 0b0000
+ramstage-y += nhlt.c
diff --git a/src/mainboard/google/poppy/variants/rammus/nhlt.c b/src/mainboard/google/poppy/variants/rammus/nhlt.c
new file mode 100644
index 0000000000..70c2524400
--- /dev/null
+++ b/src/mainboard/google/poppy/variants/rammus/nhlt.c
@@ -0,0 +1,43 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2018 Google Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include <baseboard/variants.h>
+#include <console/console.h>
+#include <nhlt.h>
+#include <soc/nhlt.h>
+
+void variant_nhlt_init(struct nhlt *nhlt)
+{
+ /* 4 Channel DMIC array. */
+ if (nhlt_soc_add_dmic_array(nhlt, 4))
+ printk(BIOS_ERR, "Couldn't add 4CH DMIC array.\n");
+
+ /* Dialog DA7219 Headset codec. */
+ if (nhlt_soc_add_da7219(nhlt, AUDIO_LINK_SSP1))
+ printk(BIOS_ERR, "Couldn't add Dialog DA7219.\n");
+
+ /* Maxim MAX98927 Smart Amps for left and right channel */
+ if (nhlt_soc_add_max98927(nhlt, AUDIO_LINK_SSP0))
+ printk(BIOS_ERR, "Couldn't add Maxim MAX98927\n");
+
+}
+
+void variant_nhlt_oem_overrides(const char **oem_id, const char **oem_table_id,
+ uint32_t *oem_revision)
+{
+ *oem_id = "GOOGLE";
+ *oem_table_id = "RAMMUSMAX";
+ *oem_revision = 0;
+}