From 43462782dca3f0dea2ed0b8a75b1b09b437a4fc4 Mon Sep 17 00:00:00 2001 From: Duncan Laurie Date: Sun, 10 May 2020 11:24:13 -0700 Subject: [PATCH] mb/google/volteer: Add firmware configuration probing for audio For all of the audio devices in devicetree.cb add the probe matches that will determine if the device should be enabled or not based on the selected audio daughter board type. AUDIO=MAX98357_ALC5682I_I2S: enable max98357 and alc5628, disable others AUDIO=MAX98373_ALC5682I_I2S: enable max98373 and alc5682, disable others AUDIO=MAX98373_ALC5682_SNDW: enable soundwire devices, disable others BUG=b:147462631 TEST=test different device present in ACPI based on fw_config value: > AUDIO=NONE ectool cbi set 6 0x00000000 4 2 > AUDIO=MAX98357_ALC5682I_I2S ectool cbi set 6 0x00000100 4 2 > AUDIO=MAX98373_ALC5682I_I2S ectool cbi set 6 0x00000200 4 2 > AUDIO=MAX98373_ALC5682_SNDW ectool cbi set 6 0x00000300 4 2 Change-Id: I5492e8cddcff3ba01023b0daef02be3508d347b0 Signed-off-by: Duncan Laurie Reviewed-on: https://review.coreboot.org/c/coreboot/+/41216 Reviewed-by: Furquan Shaikh Tested-by: build bot (Jenkins) --- .../volteer/variants/volteer/overridetree.cb | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/mainboard/google/volteer/variants/volteer/overridetree.cb b/src/mainboard/google/volteer/variants/volteer/overridetree.cb index d5c1756a83..9e5ef4b81f 100644 --- a/src/mainboard/google/volteer/variants/volteer/overridetree.cb +++ b/src/mainboard/google/volteer/variants/volteer/overridetree.cb @@ -11,7 +11,10 @@ chip soc/intel/tigerlake register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER" register "property_list[0].name" = ""realtek,jd-src"" register "property_list[0].integer" = "1" - device i2c 1a on end + device i2c 1a on + probe AUDIO MAX98357_ALC5682I_I2S + probe AUDIO MAX98373_ALC5682I_I2S + end end chip drivers/i2c/max98373 register "vmon_slot_no" = "0" @@ -19,7 +22,9 @@ chip soc/intel/tigerlake register "uid" = "0" register "desc" = ""Right Speaker Amp"" register "name" = ""MAXR"" - device i2c 31 on end + device i2c 31 on + probe AUDIO MAX98373_ALC5682I_I2S + end end chip drivers/i2c/max98373 register "vmon_slot_no" = "2" @@ -27,7 +32,9 @@ chip soc/intel/tigerlake register "uid" = "1" register "desc" = ""Left Speaker Amp"" register "name" = ""MAXL"" - device i2c 32 on end + device i2c 32 on + probe AUDIO MAX98373_ALC5682I_I2S + end end end device pci 1f.3 on @@ -35,10 +42,13 @@ chip soc/intel/tigerlake register "hid" = ""MX98357A"" register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A10)" register "sdmode_delay" = "5" - device generic 0 on end + device generic 0 on + probe AUDIO MAX98357_ALC5682I_I2S + end end chip drivers/intel/soundwire device generic 0 on + probe AUDIO MAX98373_ALC5682_SNDW chip drivers/soundwire/alc5682 # SoundWire Link 0 ID 1 register "desc" = ""Headset Codec""