mainboard/google/reef: Add proper DMIC endpoints based on DMIC config pin
Reef board uses GPIO_17 as DMIC config pin. This pin distinguishes board with Quad DMIC's or Mono DMIC. This patch adds necessary DMIC endpoints to support either of those configurations. CQ-DEPEND=CL:*304339,CL:409774 BUG=chrome-os-partner:56918 BRANCH=none TEST=Verify Mono and Quad Channel DMIC record Change-Id: I5b2825b5f39f8962985a129f8ec65265fb18f0b2 Signed-off-by: Sathyanarayana Nujella <sathyanarayana.nujella@intel.com> Reviewed-on: https://review.coreboot.org/17158 Reviewed-by: Aaron Durbin <adurbin@chromium.org> Tested-by: build bot (Jenkins)
This commit is contained in:
parent
37d15c6cab
commit
b7d44dfcf5
3 changed files with 18 additions and 3 deletions
|
@ -91,7 +91,9 @@ config UART_FOR_CONSOLE
|
|||
|
||||
config INCLUDE_NHLT_BLOBS
|
||||
bool "Include blobs for audio."
|
||||
select NHLT_DMIC_1CH_16B
|
||||
select NHLT_DMIC_2CH_16B
|
||||
select NHLT_DMIC_4CH_16B
|
||||
select NHLT_DA7219
|
||||
select NHLT_MAX98357
|
||||
|
||||
|
|
|
@ -45,4 +45,7 @@
|
|||
#define MEM_CONFIG1 GPIO_102
|
||||
#define MEM_CONFIG0 GPIO_101
|
||||
|
||||
/* DMIC_CONFIG_PIN: High for 1-DMIC and low for 4-DMIC's */
|
||||
#define DMIC_CONFIG_PIN GPIO_17
|
||||
|
||||
#endif /* BASEBOARD_GPIO_H */
|
||||
|
|
|
@ -17,13 +17,23 @@
|
|||
#include <console/console.h>
|
||||
#include <nhlt.h>
|
||||
#include <soc/nhlt.h>
|
||||
#include <gpio.h>
|
||||
#include <baseboard/gpio.h>
|
||||
|
||||
void __attribute__((weak)) variant_nhlt_init(struct nhlt *nhlt)
|
||||
{
|
||||
/* 2 Channel DMIC array. */
|
||||
if (!nhlt_soc_add_dmic_array(nhlt, 2))
|
||||
printk(BIOS_ERR, "Added 2CH DMIC array.\n");
|
||||
if (gpio_get(DMIC_CONFIG_PIN) == 1) {
|
||||
/* 1-dmic configuration */
|
||||
if (!nhlt_soc_add_dmic_array(nhlt, 1))
|
||||
printk(BIOS_ERR, "Added 1CH DMIC array.\n");
|
||||
} else {
|
||||
/* 4-dmic configuration */
|
||||
if (!nhlt_soc_add_dmic_array(nhlt, 2))
|
||||
printk(BIOS_ERR, "Added 2CH DMIC array.\n");
|
||||
|
||||
if (!nhlt_soc_add_dmic_array(nhlt, 4))
|
||||
printk(BIOS_ERR, "Added 4CH DMIC array.\n");
|
||||
}
|
||||
/* Dialog for Headset codec.
|
||||
* Headset codec is bi-directional but uses the same configuration
|
||||
* settings for render and capture endpoints.
|
||||
|
|
Loading…
Reference in a new issue