diff options
author | Duncan Laurie <dlaurie@chromium.org> | 2017-03-02 10:15:23 -0800 |
---|---|---|
committer | Duncan Laurie <dlaurie@chromium.org> | 2017-03-15 18:32:40 +0100 |
commit | 2661a9f517dd2abe72728f21feaacca99b5089cc (patch) | |
tree | 5102d2c40b3560deb9084df3bc03108a1257e310 | |
parent | 4a75a66d67ee465749eafe8a5128e0c54675c708 (diff) |
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 <dlaurie@chromium.org>
Reviewed-on: https://review.coreboot.org/18817
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Furquan Shaikh <furquan@google.com>
-rw-r--r-- | src/mainboard/google/eve/Kconfig | 2 | ||||
-rw-r--r-- | src/mainboard/google/eve/devicetree.cb | 15 | ||||
-rw-r--r-- | src/mainboard/google/eve/mainboard.c | 6 |
3 files changed, 18 insertions, 5 deletions
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)) |