From 2661a9f517dd2abe72728f21feaacca99b5089cc Mon Sep 17 00:00:00 2001 From: Duncan Laurie Date: Thu, 2 Mar 2017 10:15:23 -0800 Subject: google/eve: Use rt5514 instead of 4ch DMIC On this platform the DMICs are connected to the rt5514 DSP instead of directly connected to the SOC. Use the new rt5514 NHLT blob instead of the 4ch DMIC blob and add the required I2C and SPI entries in devicetree so this can get probed properly. BUG=b:35585307 BRANCH=none TEST=build and boot on Eve P1 and check for rt5514 driver enumerated by the kernel Change-Id: I0f2cb532771ee1857df7f33c52a96acf96dc1f54 Signed-off-by: Duncan Laurie Reviewed-on: https://review.coreboot.org/18817 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin Reviewed-by: Paul Menzel Reviewed-by: Furquan Shaikh --- src/mainboard/google/eve/Kconfig | 2 +- src/mainboard/google/eve/devicetree.cb | 15 ++++++++++++++- src/mainboard/google/eve/mainboard.c | 6 +++--- 3 files changed, 18 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/mainboard/google/eve/Kconfig b/src/mainboard/google/eve/Kconfig index f51134c73e..b4442f2f20 100644 --- a/src/mainboard/google/eve/Kconfig +++ b/src/mainboard/google/eve/Kconfig @@ -66,7 +66,7 @@ config MAX_CPUS config INCLUDE_NHLT_BLOBS bool "Include blobs for audio." - select NHLT_DMIC_4CH + select NHLT_RT5514 select NHLT_RT5663 select NHLT_MAX98927 diff --git a/src/mainboard/google/eve/devicetree.cb b/src/mainboard/google/eve/devicetree.cb index 0de7a263f7..1cef26c388 100644 --- a/src/mainboard/google/eve/devicetree.cb +++ b/src/mainboard/google/eve/devicetree.cb @@ -281,6 +281,12 @@ chip soc/intel/skylake register "probed" = "1" device i2c 13 on end end + chip drivers/i2c/generic + register "hid" = ""10EC5514"" + register "name" = ""RT54"" + register "desc" = ""Realtek RT5514"" + device i2c 57 on end + end end # I2C #4 device pci 1c.0 on chip drivers/intel/wifi @@ -301,7 +307,14 @@ chip soc/intel/skylake device pci 1d.3 off end # PCI Express Port 12 device pci 1e.0 on end # UART #0 device pci 1e.1 off end # UART #1 - device pci 1e.2 on end # GSPI #0 + device pci 1e.2 on + chip drivers/spi/acpi + register "hid" = "ACPI_DT_NAMESPACE_HID" + register "compat_string" = ""realtek,rt5514"" + register "irq" = "ACPI_IRQ_LEVEL_HIGH(GPP_F10_IRQ)" + device spi 0 on end + end + end # GSPI #0 device pci 1e.3 on chip drivers/spi/acpi register "hid" = "ACPI_DT_NAMESPACE_HID" diff --git a/src/mainboard/google/eve/mainboard.c b/src/mainboard/google/eve/mainboard.c index 2b1010182c..dda0cfacfd 100644 --- a/src/mainboard/google/eve/mainboard.c +++ b/src/mainboard/google/eve/mainboard.c @@ -46,9 +46,9 @@ static unsigned long mainboard_write_acpi_tables( if (!nhlt) return start_addr; - /* 4 Channel DMIC array. */ - if (nhlt_soc_add_dmic_array(nhlt, 4)) - printk(BIOS_ERR, "Couldn't add 4CH DMIC arrays.\n"); + /* 4 Channel DMIC array */ + if (nhlt_soc_add_rt5514(nhlt, AUDIO_LINK_SSP0, 4)) + printk(BIOS_ERR, "Couldn't add rt5514.\n"); /* RT5663 Headset codec */ if (nhlt_soc_add_rt5663(nhlt, AUDIO_LINK_SSP1)) -- cgit v1.2.3