mb/google/fatcat/var/francka: Enable audio codec ALC721

Enable Realtek ALC721 soundwire codec for francka.

BUG=b:417133565
TEST=Build and boot to OS in francka and SoundWire driver
probe successfully.

Output Devices:
	ID	MaxCha	LastOpen	Name
	13	0	UNK		sof-soundwire: :0,7
	12	0	UNK		sof-soundwire: :0,6
	11	0	UNK		sof-soundwire: :0,5
	8	2	UNK		sof-soundwire: :0,0
	7	2	UNK		sof-soundwire: :0,2
Output Nodes:
Stable Id	ID	Type		MaxCha Name
(8c7788a4)	13:0	HDMI            0 sof-soundwire HDMI/DP,pcm=7
(40acdf7f)	12:0	HDMI            0 sof-soundwire HDMI/DP,pcm=6
(742af104)	11:0	HDMI            0 sof-soundwire HDMI/DP,pcm=5
(db5babbe)	8:0	HEADPHONE       2 Headphone
(5c5b2998)	7:0    INTERNAL_SPEAKER 2*Speaker

Change-Id: I52890fb331f54c48a280a0e3210762a5c66c8bba
Signed-off-by: Ian Feng <ian_feng@compal.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/87811
Reviewed-by: Jayvik Desai <jayvik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
This commit is contained in:
Ian Feng 2025-05-23 12:09:03 +08:00 committed by Matt DeVillier
commit d9bd7ce89f
3 changed files with 37 additions and 8 deletions

View file

@ -26,6 +26,17 @@ static const struct pad_config hda_enable_pads[] = {
PAD_CFG_NF(GPP_S07, NONE, DEEP, NF5),
};
static const struct pad_config sndw_alc721_enable_pads[] = {
/* GPP_S02: SNDW0_CLK */
PAD_CFG_NF(GPP_S02, NONE, DEEP, NF3),
/* GPP_S03: SNDW0_DATA0 */
PAD_CFG_NF(GPP_S03, NONE, DEEP, NF3),
/* GPP_S06: SOC_DMIC_CLK1 */
PAD_CFG_NF(GPP_S06, NONE, DEEP, NF5),
/* GPP_S07: SOC_DMIC_DATA1 */
PAD_CFG_NF(GPP_S07, NONE, DEEP, NF5),
};
/*
* WWAN: power sequence requires three stages:
* step 1: 3.3V power, FCP# (Full Card Power), RST#, and PERST# off
@ -107,7 +118,11 @@ void fw_config_gpio_padbased_override(struct pad_config *padbased_table)
}
if (fw_config_probe(FW_CONFIG(AUDIO, AUDIO_ALC256M_CG_HDA))) {
printk(BIOS_INFO, "Configure GPIOs for HDA ALC256 mode.\n");
GPIO_PADBASED_OVERRIDE(padbased_table, hda_enable_pads);
} else if (fw_config_probe(FW_CONFIG(AUDIO, AUDIO_ALC721_SNDW))) {
printk(BIOS_INFO, "Configure GPIOs for Soundwire ALC721 mode.\n");
GPIO_PADBASED_OVERRIDE(padbased_table, sndw_alc721_enable_pads);
}
if (fw_config_probe(FW_CONFIG(WWAN, WWAN_PRESENT))) {

View file

@ -344,21 +344,21 @@ static const struct pad_config gpio_table[] = {
/* GPP_H22: SOC_I2C_1_SCL */
PAD_CFG_NF(GPP_H22, NONE, DEEP, NF1),
/* GPP_S00: Not used */
/* GPP_S00: SNDW_3_SCL */
PAD_NC(GPP_S00, NONE),
/* GPP_S01: Not used */
/* GPP_S01: SNDW_3_SDA */
PAD_NC(GPP_S01, NONE),
/* GPP_S02: Not used */
/* GPP_S02: SNDW_0_SCL_R / SOC_DMIC_CLK0 */
PAD_NC(GPP_S02, NONE),
/* GPP_S03: Not used */
/* GPP_S03: SNDW_0_SDA_R / SOC_DMIC_DATA0 */
PAD_NC(GPP_S03, NONE),
/* GPP_S04: Not used */
/* GPP_S04: SNDW_2_SCL */
PAD_NC(GPP_S04, NONE),
/* GPP_S05: Not used */
/* GPP_S05: SNDW_2_SDA */
PAD_NC(GPP_S05, NONE),
/* GPP_S06: Not used */
/* GPP_S06: SOC_DMIC_CLK1 */
PAD_NC(GPP_S06, NONE),
/* GPP_S07: Not used */
/* GPP_S07: SOC_DMIC_DATA1 */
PAD_NC(GPP_S07, NONE),
/* GPP_V00: PM_BATLOW# */

View file

@ -283,6 +283,20 @@ chip soc/intel/pantherlake
probe AUDIO AUDIO_ALC256M_CG_HDA
end
end
chip drivers/intel/soundwire
device generic 0 on
chip drivers/soundwire/alc711
register "desc" = ""Headset Codec""
register "alc711_address.version" = "SOUNDWIRE_VERSION_1_2"
register "alc711_address.class" = "MIPI_CLASS_SDCA"
register "alc711_address.part_id" = "MIPI_DEV_ID_REALTEK_ALC721"
# SoundWire Link 0 ID 0
device generic 0.0 on
probe AUDIO AUDIO_ALC721_SNDW
end
end
end
end
end
device ref gspi1 on
chip drivers/spi/acpi