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_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
|
||||
|
|
|
@ -8,4 +8,5 @@ bootblock-y += gpio.c
|
|||
romstage-y += memory.c
|
||||
|
||||
ramstage-y += gpio.c
|
||||
ramstage-y += nhlt.c
|
||||
ramstage-y += pl2.c
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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