<p>Gaggery Tsai has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/22861">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">mb/google/poppy: Enable speaker and codec for nami<br><br>Nami uses MAX98357A speaker amplifier and DA7219 codec. This patch<br>adds max98357a and da7219 under I2C #3 in devicetree and add SPK DMIC<br>nhlt support for 4CH DMIC. Besides, according to schematic, revise<br>speaker enabling from A22 to A23 pin.<br><br>Change-Id: Iecf4059f8ea3d5e34f33f0be227897a8cca636fa<br>Signed-off-by: Gaggery Tsai <gaggery.tsai@intel.com><br>---<br>M src/mainboard/google/poppy/Kconfig<br>M src/mainboard/google/poppy/variants/nami/Makefile.inc<br>M src/mainboard/google/poppy/variants/nami/devicetree.cb<br>M src/mainboard/google/poppy/variants/nami/gpio.c<br>A src/mainboard/google/poppy/variants/nami/nhlt.c<br>5 files changed, 72 insertions(+), 5 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/61/22861/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">diff --git a/src/mainboard/google/poppy/Kconfig b/src/mainboard/google/poppy/Kconfig<br>index 72103af..9315d96 100644<br>--- a/src/mainboard/google/poppy/Kconfig<br>+++ b/src/mainboard/google/poppy/Kconfig<br>@@ -55,6 +55,12 @@<br>  select NHLT_DMIC_4CH<br>  select NHLT_MAX98357<br> <br>+config INCLUDE_NHLT_BLOBS_NAMI<br>+     bool "Include blobs for nami audio."<br>+       select NHLT_DA7219<br>+   select NHLT_DMIC_4CH<br>+ select NHLT_MAX98357<br>+<br> config MAINBOARD_DIR<br>        string<br>        default "google/poppy"<br>@@ -118,6 +124,8 @@<br> <br> config VARIANT_SPECIFIC_OPTIONS_NAMI<br>       def_bool n<br>+   select DRIVERS_GENERIC_MAX98357A<br>+     select DRIVERS_I2C_DA7219<br>     select DRIVERS_PS2_KEYBOARD<br>   select DRIVERS_SPI_ACPI<br>       select EXCLUDE_NATIVE_SD_INTERFACE<br>diff --git a/src/mainboard/google/poppy/variants/nami/Makefile.inc b/src/mainboard/google/poppy/variants/nami/Makefile.inc<br>index 06f9801..818418d 100644<br>--- a/src/mainboard/google/poppy/variants/nami/Makefile.inc<br>+++ b/src/mainboard/google/poppy/variants/nami/Makefile.inc<br>@@ -9,3 +9,4 @@<br> <br> ramstage-y += gpio.c<br> ramstage-y += pl2.c<br>+ramstage-y += nhlt.c<br>diff --git a/src/mainboard/google/poppy/variants/nami/devicetree.cb b/src/mainboard/google/poppy/variants/nami/devicetree.cb<br>index 401e137..d84e00d 100644<br>--- a/src/mainboard/google/poppy/variants/nami/devicetree.cb<br>+++ b/src/mainboard/google/poppy/variants/nami/devicetree.cb<br>@@ -246,7 +246,30 @@<br>                device pci 15.0 on  end # I2C #0<br>              device pci 15.1 on  end # I2C #1<br>              device pci 15.2 on  end # I2C #2<br>-             device pci 15.3 on  end # I2C #3<br>+             device pci 15.3 on<br>+                   chip drivers/generic/max98357a<br>+                               register "sdmode_gpio" =  "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A23)"<br>+                                register "sdmode_delay" = "5"<br>+                            device generic 0 on end<br>+                      end<br>+                  chip drivers/i2c/da7219<br>+                              register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D9_IRQ)"<br>+                                register "btn_cfg" = "50"<br>+                                register "mic_det_thr" = "500"<br>+                           register "jack_ins_deb" = "20"<br>+                           register "jack_det_rate" = ""32ms_64ms""<br>+                               register "jack_rem_deb" = "1"<br>+                            register "a_d_btn_thr" = "0xa"<br>+                           register "d_b_btn_thr" = "0x16"<br>+                          register "b_c_btn_thr" = "0x21"<br>+                          register "c_mic_btn_thr" = "0x3e"<br>+                                register "btn_avg" = "4"<br>+                         register "adc_1bit_rpt" = "1"<br>+                            register "micbias_lvl" = "2600"<br>+                          register "mic_amp_in_sel" = ""diff""<br>+                           device i2c 1A on end<br>+                 end     <br>+             end # I2C #3<br>          device pci 16.0 on  end # Management Engine Interface 1<br>               device pci 16.1 off end # Management Engine Interface 2<br>               device pci 16.2 off end # Management Engine IDE-R<br>diff --git a/src/mainboard/google/poppy/variants/nami/gpio.c b/src/mainboard/google/poppy/variants/nami/gpio.c<br>index 81fb129..e9e46c3 100644<br>--- a/src/mainboard/google/poppy/variants/nami/gpio.c<br>+++ b/src/mainboard/google/poppy/variants/nami/gpio.c<br>@@ -57,10 +57,10 @@<br>   PAD_CFG_NC(GPP_A20),<br>  /* A21 : ISH_GP3 ==> NC */<br>         PAD_CFG_NC(GPP_A21),<br>- /* A22 : ISH_GP4 ==> PCH_SPK_EN */<br>-        PAD_CFG_GPO(GPP_A22, 1, DEEP),<br>-       /* A23 : ISH_GP5 ==> NC */<br>-        PAD_CFG_NC(GPP_A23),<br>+ /* A22 : ISH_GP4 ==> NC */<br>+        PAD_CFG_NC(GPP_A22),<br>+ /* A23 : ISH_GP5 ==> PCH_SPK_EN */<br>+        PAD_CFG_GPO(GPP_A23, 1, DEEP),<br> <br>     /* B0  : CORE_VID0 ==> NC(T3) */<br>   PAD_CFG_NC(GPP_B0),<br>diff --git a/src/mainboard/google/poppy/variants/nami/nhlt.c b/src/mainboard/google/poppy/variants/nami/nhlt.c<br>new file mode 100644<br>index 0000000..690fed5<br>--- /dev/null<br>+++ b/src/mainboard/google/poppy/variants/nami/nhlt.c<br>@@ -0,0 +1,35 @@<br>+/*<br>+ * This file is part of the coreboot project.<br>+ *<br>+ * Copyright 2017 Google Inc.<br>+ *<br>+ * This program is free software; you can redistribute it and/or modify<br>+ * it under the terms of the GNU General Public License as published by<br>+ * the Free Software Foundation; version 2 of the License.<br>+ *<br>+ * This program is distributed in the hope that it will be useful,<br>+ * but WITHOUT ANY WARRANTY; without even the implied warranty of<br>+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the<br>+ * GNU General Public License for more details.<br>+ */<br>+<br>+#include <baseboard/variants.h><br>+#include <console/console.h><br>+#include <nhlt.h><br>+#include <soc/nhlt.h><br>+<br>+void variant_nhlt_init(struct nhlt *nhlt)<br>+{<br>+        /* 4 Channel DMIC array. */<br>+  if (nhlt_soc_add_dmic_array(nhlt, 4))<br>+                printk(BIOS_ERR, "Couldn't add 4CH DMIC array.\n");<br>+<br>+ /* Dialog DA7219 Headset codec. */<br>+   if (nhlt_soc_add_da7219(nhlt, AUDIO_LINK_SSP1))<br>+              printk(BIOS_ERR, "Couldn't add Dialog DA7219.\n");<br>+<br>+  /* MAXIM Smart Amps for left and right speakers. */<br>+  if (nhlt_soc_add_max98357(nhlt, AUDIO_LINK_SSP0))<br>+            printk(BIOS_ERR, "Couldn't add  Maxim_98357 codec.\n");<br>+<br>+}<br></pre><p>To view, visit <a href="https://review.coreboot.org/22861">change 22861</a>. To unsubscribe, visit <a href="https://review.coreboot.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://review.coreboot.org/22861"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: coreboot </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: Iecf4059f8ea3d5e34f33f0be227897a8cca636fa </div>
<div style="display:none"> Gerrit-Change-Number: 22861 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Gaggery Tsai <gaggery.tsai@intel.com> </div>
<div style="display:none"> Gerrit-Reviewer: Gaggery Tsai <gaggery.tsai@intel.corp-partner.google.com> </div>