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:
parent
2ff25f5179
commit
ff9005b0d6
|
@ -55,6 +55,12 @@ config INCLUDE_NHLT_BLOBS_NAUTILUS
|
||||||
select NHLT_DMIC_4CH
|
select NHLT_DMIC_4CH
|
||||||
select NHLT_MAX98357
|
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
|
config MAINBOARD_DIR
|
||||||
string
|
string
|
||||||
default "google/poppy"
|
default "google/poppy"
|
||||||
|
@ -118,6 +124,8 @@ config VARIANT_SPECIFIC_OPTIONS_POPPY
|
||||||
|
|
||||||
config VARIANT_SPECIFIC_OPTIONS_NAMI
|
config VARIANT_SPECIFIC_OPTIONS_NAMI
|
||||||
def_bool n
|
def_bool n
|
||||||
|
select DRIVERS_GENERIC_MAX98357A
|
||||||
|
select DRIVERS_I2C_DA7219
|
||||||
select DRIVERS_PS2_KEYBOARD
|
select DRIVERS_PS2_KEYBOARD
|
||||||
select DRIVERS_SPI_ACPI
|
select DRIVERS_SPI_ACPI
|
||||||
select EXCLUDE_NATIVE_SD_INTERFACE
|
select EXCLUDE_NATIVE_SD_INTERFACE
|
||||||
|
|
|
@ -8,4 +8,5 @@ bootblock-y += gpio.c
|
||||||
romstage-y += memory.c
|
romstage-y += memory.c
|
||||||
|
|
||||||
ramstage-y += gpio.c
|
ramstage-y += gpio.c
|
||||||
|
ramstage-y += nhlt.c
|
||||||
ramstage-y += pl2.c
|
ramstage-y += pl2.c
|
||||||
|
|
|
@ -246,7 +246,30 @@ chip soc/intel/skylake
|
||||||
device pci 15.0 on end # I2C #0
|
device pci 15.0 on end # I2C #0
|
||||||
device pci 15.1 on end # I2C #1
|
device pci 15.1 on end # I2C #1
|
||||||
device pci 15.2 on end # I2C #2
|
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.0 on end # Management Engine Interface 1
|
||||||
device pci 16.1 off end # Management Engine Interface 2
|
device pci 16.1 off end # Management Engine Interface 2
|
||||||
device pci 16.2 off end # Management Engine IDE-R
|
device pci 16.2 off end # Management Engine IDE-R
|
||||||
|
|
|
@ -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");
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue