mb/google/zork/var/gumboz: Add fw_config probe for ALC5682-VD & VS
ALC5682-VD/ALC5682I-VS load different kernel driver by different hid name. Update hid name and machine_dev depending on the AUDIO_CODEC_SOURCE field of fw_config. Define FW_CONFIG bits 36 - 37 (SSFC bits 4 - 5) for codec selection. ALC5682-VD: _HID = "10EC5682" ALC5682I-VS: _HID = "RTL5682" BUG=b:215292608 BRANCH=firmware-zork-13434.B TEST=ALC5682I-VS audio codec can work Change-Id: I0b0231a3ee9c0dad289ffd50607b3ae6201f56a0 Signed-off-by: Robert Chen <robert.chen@quanta.corp-partner.google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/61782 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Yu-hsuan Hsu <yuhsuan@google.com> Reviewed-by: Rob Barnes <robbarnes@google.com>
This commit is contained in:
parent
977282f6ce
commit
e204daa3e2
|
@ -1,4 +1,11 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
fw_config
|
||||
field AUDIO_CODEC_SOURCE 36 37
|
||||
option AUDIO_CODEC_ALC5682 0
|
||||
option AUDIO_CODEC_ALC5682I_VS 1
|
||||
end
|
||||
end
|
||||
|
||||
chip soc/amd/picasso
|
||||
|
||||
# Start : OPN Performance Configuration
|
||||
|
@ -105,6 +112,86 @@ chip soc/amd/picasso
|
|||
# See AMD 55570-B1 Table 13: PCI Device ID Assignments.
|
||||
device domain 0 on
|
||||
subsystemid 0x1022 0x1510 inherit
|
||||
device pci 8.1 on
|
||||
device pci 0.5 on
|
||||
chip drivers/amd/i2s_machine_dev
|
||||
register "hid" = ""AMDI5682""
|
||||
# DMIC select GPIO for ACP machine device
|
||||
# This GPIO is used to select DMIC0 or DMIC1 by the
|
||||
# kernel driver. It does not really have a polarity
|
||||
# since low and high control the selection of DMIC and
|
||||
# hence does not have an active polarity.
|
||||
# Kernel driver does not use the polarity field and
|
||||
# instead treats the GPIO selection as follows:
|
||||
# Set low (0) = Select DMIC0
|
||||
# Set high (1) = Select DMIC1
|
||||
register "dmic_select_gpio" = "ACPI_GPIO_OUTPUT(GPIO_67)"
|
||||
device generic 0.0 on
|
||||
probe AUDIO_CODEC_SOURCE AUDIO_CODEC_ALC5682
|
||||
end
|
||||
end
|
||||
chip drivers/amd/i2s_machine_dev
|
||||
register "hid" = ""10029835""
|
||||
# DMIC select GPIO for ACP machine device
|
||||
# This GPIO is used to select DMIC0 or DMIC1 by the
|
||||
# kernel driver. It does not really have a polarity
|
||||
# since low and high control the selection of DMIC and
|
||||
# hence does not have an active polarity.
|
||||
# Kernel driver does not use the polarity field and
|
||||
# instead treats the GPIO selection as follows:
|
||||
# Set low (0) = Select DMIC0
|
||||
# Set high (1) = Select DMIC1
|
||||
register "dmic_select_gpio" = "ACPI_GPIO_OUTPUT(GPIO_67)"
|
||||
device generic 1.0 on
|
||||
probe AUDIO_CODEC_SOURCE AUDIO_CODEC_ALC5682I_VS
|
||||
end
|
||||
end
|
||||
end # Audio
|
||||
end
|
||||
device pci 14.3 on
|
||||
chip ec/google/chromeec
|
||||
device pnp 0c09.0 on
|
||||
chip ec/google/chromeec/i2c_tunnel
|
||||
device generic 0.0 on
|
||||
chip drivers/i2c/generic
|
||||
register "hid" = ""10EC5682""
|
||||
register "name" = ""RT58""
|
||||
register "uid" = "1"
|
||||
register "desc" = ""Realtek RT5682""
|
||||
register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPIO_84)"
|
||||
register "property_count" = "2"
|
||||
register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
|
||||
register "property_list[0].name" = ""realtek,jd-src""
|
||||
register "property_list[0].integer" = "1"
|
||||
register "property_list[1].type" = "ACPI_DP_TYPE_STRING"
|
||||
register "property_list[1].name" = ""realtek,mclk-name""
|
||||
register "property_list[1].string" = ""oscout1""
|
||||
device i2c 1a on end
|
||||
end
|
||||
probe AUDIO_CODEC_SOURCE AUDIO_CODEC_ALC5682
|
||||
end
|
||||
device generic 1.0 on
|
||||
chip drivers/i2c/generic
|
||||
register "hid" = ""RTL5682""
|
||||
register "name" = ""RT58""
|
||||
register "uid" = "1"
|
||||
register "desc" = ""Realtek RT5682""
|
||||
register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPIO_84)"
|
||||
register "property_count" = "2"
|
||||
register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
|
||||
register "property_list[0].name" = ""realtek,jd-src""
|
||||
register "property_list[0].integer" = "1"
|
||||
register "property_list[1].type" = "ACPI_DP_TYPE_STRING"
|
||||
register "property_list[1].name" = ""realtek,mclk-name""
|
||||
register "property_list[1].string" = ""oscout1""
|
||||
device i2c 1a on end
|
||||
end
|
||||
probe AUDIO_CODEC_SOURCE AUDIO_CODEC_ALC5682I_VS
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end # domain
|
||||
|
||||
device ref i2c_2 on
|
||||
|
|
Loading…
Reference in New Issue