summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDuncan Laurie <dlaurie@chromium.org>2017-03-02 10:15:23 -0800
committerDuncan Laurie <dlaurie@chromium.org>2017-03-15 18:32:40 +0100
commit2661a9f517dd2abe72728f21feaacca99b5089cc (patch)
tree5102d2c40b3560deb9084df3bc03108a1257e310
parent4a75a66d67ee465749eafe8a5128e0c54675c708 (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/Kconfig2
-rw-r--r--src/mainboard/google/eve/devicetree.cb15
-rw-r--r--src/mainboard/google/eve/mainboard.c6
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))