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 adds SPK DMIC
nhlt support for 4CH DMIC.

BUG=b:70646770
TEST=emerge-nami coreboot

Change-Id: Iecf4059f8ea3d5e34f33f0be227897a8cca636fa
Signed-off-by: Gaggery Tsai <gaggery.tsai@intel.com>
Reviewed-on: https://review.coreboot.org/22861
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
This commit is contained in:
Gaggery Tsai 2017-12-13 16:47:57 +08:00 committed by Furquan Shaikh
parent 2ff25f5179
commit ff9005b0d6
4 changed files with 68 additions and 1 deletions

View File

@ -55,6 +55,12 @@ config INCLUDE_NHLT_BLOBS_NAUTILUS
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_POPPY
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

View File

@ -8,4 +8,5 @@ bootblock-y += gpio.c
romstage-y += memory.c
ramstage-y += gpio.c
ramstage-y += nhlt.c
ramstage-y += pl2.c

View File

@ -246,7 +246,30 @@ chip soc/intel/skylake
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

View File

@ -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");
}