ASoC: Intel: soc-acpi-intel-mtl-match: Add 6 amp CS35L56 with feedback

Add a match for 6x CS35L56, 3x on link 0 and 3x on link 1.
To support the CDB35L56-EIGHT-C board using 6 amps.

This is the same as the existing 8-amp configuration
mtl_cs35l56_x8_link0_link1_fb, but reduced to 6 amps.

Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Link: https://patch.msgid.link/20251217163227.1186373-2-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by Stefan Binding and committed by Mark Brown e43aefb7 8f0b4cce

+42
+42
sound/soc/intel/common/soc-acpi-intel-mtl-match.c
··· 699 }, 700 }; 701 702 static const struct snd_soc_acpi_adr_device cs35l56_2_r_adr[] = { 703 { 704 .adr = 0x00023201FA355601ull, ··· 1090 {} 1091 }; 1092 1093 static const struct snd_soc_acpi_link_adr mtl_cs35l63_x2_link1_link3_fb[] = { 1094 { 1095 .mask = BIT(3), ··· 1224 .drv_name = "sof_sdw", 1225 .sof_tplg_filename = "sof-mtl-cs35l56-l01-fb8.tplg", 1226 .get_function_tplg_files = sof_sdw_get_tplg_files, 1227 }, 1228 { 1229 .link_mask = BIT(0),
··· 699 }, 700 }; 701 702 + static const struct snd_soc_acpi_adr_device cs35l56_6amp_1_fb_adr[] = { 703 + { 704 + .adr = 0x00013701FA355601ull, 705 + .num_endpoints = ARRAY_SIZE(cs35l56_r_fb_endpoints), 706 + .endpoints = cs35l56_r_fb_endpoints, 707 + .name_prefix = "AMP6" 708 + }, 709 + { 710 + .adr = 0x00013601FA355601ull, 711 + .num_endpoints = ARRAY_SIZE(cs35l56_3_fb_endpoints), 712 + .endpoints = cs35l56_3_fb_endpoints, 713 + .name_prefix = "AMP5" 714 + }, 715 + { 716 + .adr = 0x00013501FA355601ull, 717 + .num_endpoints = ARRAY_SIZE(cs35l56_5_fb_endpoints), 718 + .endpoints = cs35l56_5_fb_endpoints, 719 + .name_prefix = "AMP4" 720 + }, 721 + }; 722 + 723 static const struct snd_soc_acpi_adr_device cs35l56_2_r_adr[] = { 724 { 725 .adr = 0x00023201FA355601ull, ··· 1069 {} 1070 }; 1071 1072 + static const struct snd_soc_acpi_link_adr mtl_cs35l56_x6_link0_link1_fb[] = { 1073 + { 1074 + .mask = BIT(1), 1075 + .num_adr = ARRAY_SIZE(cs35l56_6amp_1_fb_adr), 1076 + .adr_d = cs35l56_6amp_1_fb_adr, 1077 + }, 1078 + { 1079 + .mask = BIT(0), 1080 + /* First 3 amps in cs35l56_0_fb_adr */ 1081 + .num_adr = 3, 1082 + .adr_d = cs35l56_0_fb_adr, 1083 + }, 1084 + {} 1085 + }; 1086 + 1087 static const struct snd_soc_acpi_link_adr mtl_cs35l63_x2_link1_link3_fb[] = { 1088 { 1089 .mask = BIT(3), ··· 1188 .drv_name = "sof_sdw", 1189 .sof_tplg_filename = "sof-mtl-cs35l56-l01-fb8.tplg", 1190 .get_function_tplg_files = sof_sdw_get_tplg_files, 1191 + }, 1192 + { 1193 + .link_mask = BIT(0) | BIT(1), 1194 + .links = mtl_cs35l56_x6_link0_link1_fb, 1195 + .drv_name = "sof_sdw", 1196 + .sof_tplg_filename = "sof-mtl-cs35l56-l01-fb6.tplg" 1197 }, 1198 { 1199 .link_mask = BIT(0),