[coreboot-gerrit] Change in coreboot[master]: mb/google/poppy: Enable speaker and codec for nami

Gaggery Tsai (Code Review) gerrit at coreboot.org
Thu Dec 14 04:37:58 CET 2017


Gaggery Tsai has uploaded this change for review. ( https://review.coreboot.org/22861


Change subject: mb/google/poppy: Enable speaker and codec for nami
......................................................................

mb/google/poppy: Enable speaker and codec for nami

Nami uses MAX98357A speaker amplifier and DA7219 codec. This patch
adds max98357a and da7219 under I2C #3 in devicetree and add SPK DMIC
nhlt support for 4CH DMIC. Besides, according to schematic, revise
speaker enabling from A22 to A23 pin.

Change-Id: Iecf4059f8ea3d5e34f33f0be227897a8cca636fa
Signed-off-by: Gaggery Tsai <gaggery.tsai at intel.com>
---
M src/mainboard/google/poppy/Kconfig
M src/mainboard/google/poppy/variants/nami/Makefile.inc
M src/mainboard/google/poppy/variants/nami/devicetree.cb
M src/mainboard/google/poppy/variants/nami/gpio.c
A src/mainboard/google/poppy/variants/nami/nhlt.c
5 files changed, 72 insertions(+), 5 deletions(-)



  git pull ssh://review.coreboot.org:29418/coreboot refs/changes/61/22861/1

diff --git a/src/mainboard/google/poppy/Kconfig b/src/mainboard/google/poppy/Kconfig
index 72103af..9315d96 100644
--- a/src/mainboard/google/poppy/Kconfig
+++ b/src/mainboard/google/poppy/Kconfig
@@ -55,6 +55,12 @@
 	select NHLT_DMIC_4CH
 	select NHLT_MAX98357
 
+config INCLUDE_NHLT_BLOBS_NAMI
+	bool "Include blobs for nami audio."
+	select NHLT_DA7219
+	select NHLT_DMIC_4CH
+	select NHLT_MAX98357
+
 config MAINBOARD_DIR
 	string
 	default "google/poppy"
@@ -118,6 +124,8 @@
 
 config VARIANT_SPECIFIC_OPTIONS_NAMI
 	def_bool n
+	select DRIVERS_GENERIC_MAX98357A
+	select DRIVERS_I2C_DA7219
 	select DRIVERS_PS2_KEYBOARD
 	select DRIVERS_SPI_ACPI
 	select EXCLUDE_NATIVE_SD_INTERFACE
diff --git a/src/mainboard/google/poppy/variants/nami/Makefile.inc b/src/mainboard/google/poppy/variants/nami/Makefile.inc
index 06f9801..818418d 100644
--- a/src/mainboard/google/poppy/variants/nami/Makefile.inc
+++ b/src/mainboard/google/poppy/variants/nami/Makefile.inc
@@ -9,3 +9,4 @@
 
 ramstage-y += gpio.c
 ramstage-y += pl2.c
+ramstage-y += nhlt.c
diff --git a/src/mainboard/google/poppy/variants/nami/devicetree.cb b/src/mainboard/google/poppy/variants/nami/devicetree.cb
index 401e137..d84e00d 100644
--- a/src/mainboard/google/poppy/variants/nami/devicetree.cb
+++ b/src/mainboard/google/poppy/variants/nami/devicetree.cb
@@ -246,7 +246,30 @@
 		device pci 15.0 on  end # I2C #0
 		device pci 15.1 on  end # I2C #1
 		device pci 15.2 on  end # I2C #2
-		device pci 15.3 on  end # I2C #3
+		device pci 15.3 on
+			chip drivers/generic/max98357a
+				register "sdmode_gpio" =  "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A23)"
+				register "sdmode_delay" = "5"
+				device generic 0 on end
+			end
+			chip drivers/i2c/da7219
+				register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D9_IRQ)"
+				register "btn_cfg" = "50"
+				register "mic_det_thr" = "500"
+				register "jack_ins_deb" = "20"
+				register "jack_det_rate" = ""32ms_64ms""
+				register "jack_rem_deb" = "1"
+				register "a_d_btn_thr" = "0xa"
+				register "d_b_btn_thr" = "0x16"
+				register "b_c_btn_thr" = "0x21"
+				register "c_mic_btn_thr" = "0x3e"
+				register "btn_avg" = "4"
+				register "adc_1bit_rpt" = "1"
+				register "micbias_lvl" = "2600"
+				register "mic_amp_in_sel" = ""diff""
+				device i2c 1A on end
+			end	
+		end # I2C #3
 		device pci 16.0 on  end # Management Engine Interface 1
 		device pci 16.1 off end # Management Engine Interface 2
 		device pci 16.2 off end # Management Engine IDE-R
diff --git a/src/mainboard/google/poppy/variants/nami/gpio.c b/src/mainboard/google/poppy/variants/nami/gpio.c
index 81fb129..e9e46c3 100644
--- a/src/mainboard/google/poppy/variants/nami/gpio.c
+++ b/src/mainboard/google/poppy/variants/nami/gpio.c
@@ -57,10 +57,10 @@
 	PAD_CFG_NC(GPP_A20),
 	/* A21 : ISH_GP3 ==> NC */
 	PAD_CFG_NC(GPP_A21),
-	/* A22 : ISH_GP4 ==> PCH_SPK_EN */
-	PAD_CFG_GPO(GPP_A22, 1, DEEP),
-	/* A23 : ISH_GP5 ==> NC */
-	PAD_CFG_NC(GPP_A23),
+	/* A22 : ISH_GP4 ==> NC */
+	PAD_CFG_NC(GPP_A22),
+	/* A23 : ISH_GP5 ==> PCH_SPK_EN */
+	PAD_CFG_GPO(GPP_A23, 1, DEEP),
 
 	/* B0  : CORE_VID0 ==> NC(T3) */
 	PAD_CFG_NC(GPP_B0),
diff --git a/src/mainboard/google/poppy/variants/nami/nhlt.c b/src/mainboard/google/poppy/variants/nami/nhlt.c
new file mode 100644
index 0000000..690fed5
--- /dev/null
+++ b/src/mainboard/google/poppy/variants/nami/nhlt.c
@@ -0,0 +1,35 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2017 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 Smart Amps for left and right speakers. */
+	if (nhlt_soc_add_max98357(nhlt, AUDIO_LINK_SSP0))
+		printk(BIOS_ERR, "Couldn't add  Maxim_98357 codec.\n");
+
+}

-- 
To view, visit https://review.coreboot.org/22861
To unsubscribe, visit https://review.coreboot.org/settings

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Iecf4059f8ea3d5e34f33f0be227897a8cca636fa
Gerrit-Change-Number: 22861
Gerrit-PatchSet: 1
Gerrit-Owner: Gaggery Tsai <gaggery.tsai at intel.com>
Gerrit-Reviewer: Gaggery Tsai <gaggery.tsai at intel.corp-partner.google.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20171214/349933cb/attachment-0001.html>


More information about the coreboot-gerrit mailing list