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

Add match for 6x CS35L63, 3x on link 2 and 3x on link 3.

This is to support 6 amps on the CDB35L63-CB8 board.

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-3-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by Stefan Binding and committed by Mark Brown 26f637fa e43aefb7

+62
+62
sound/soc/intel/common/soc-acpi-intel-mtl-match.c
··· 720 720 }, 721 721 }; 722 722 723 + static const struct snd_soc_acpi_adr_device cs35l63_6amp_3_fb_adr[] = { 724 + { 725 + .adr = 0x00033001FA356301ull, 726 + .num_endpoints = ARRAY_SIZE(cs35l56_l_fb_endpoints), 727 + .endpoints = cs35l56_l_fb_endpoints, 728 + .name_prefix = "AMP1" 729 + }, 730 + { 731 + .adr = 0x00033201FA356301ull, 732 + .num_endpoints = ARRAY_SIZE(cs35l56_2_fb_endpoints), 733 + .endpoints = cs35l56_2_fb_endpoints, 734 + .name_prefix = "AMP3" 735 + }, 736 + { 737 + .adr = 0x00033401FA356301ull, 738 + .num_endpoints = ARRAY_SIZE(cs35l56_4_fb_endpoints), 739 + .endpoints = cs35l56_4_fb_endpoints, 740 + .name_prefix = "AMP5" 741 + }, 742 + }; 743 + 744 + static const struct snd_soc_acpi_adr_device cs35l63_6amp_2_fb_adr[] = { 745 + { 746 + .adr = 0x00023101FA356301ull, 747 + .num_endpoints = ARRAY_SIZE(cs35l56_r_fb_endpoints), 748 + .endpoints = cs35l56_r_fb_endpoints, 749 + .name_prefix = "AMP2" 750 + }, 751 + { 752 + .adr = 0x00023301FA356301ull, 753 + .num_endpoints = ARRAY_SIZE(cs35l56_3_fb_endpoints), 754 + .endpoints = cs35l56_3_fb_endpoints, 755 + .name_prefix = "AMP4" 756 + }, 757 + { 758 + .adr = 0x00023501FA356301ull, 759 + .num_endpoints = ARRAY_SIZE(cs35l56_5_fb_endpoints), 760 + .endpoints = cs35l56_5_fb_endpoints, 761 + .name_prefix = "AMP6" 762 + }, 763 + }; 764 + 723 765 static const struct snd_soc_acpi_adr_device cs35l56_2_r_adr[] = { 724 766 { 725 767 .adr = 0x00023201FA355601ull, ··· 1147 1105 {} 1148 1106 }; 1149 1107 1108 + static const struct snd_soc_acpi_link_adr mtl_cs35l63_x6_link2_link3_fb[] = { 1109 + { 1110 + .mask = BIT(3), 1111 + .num_adr = ARRAY_SIZE(cs35l63_6amp_3_fb_adr), 1112 + .adr_d = cs35l63_6amp_3_fb_adr, 1113 + }, 1114 + { 1115 + .mask = BIT(2), 1116 + .num_adr = ARRAY_SIZE(cs35l63_6amp_2_fb_adr), 1117 + .adr_d = cs35l63_6amp_2_fb_adr, 1118 + }, 1119 + {} 1120 + }; 1121 + 1150 1122 static const struct snd_soc_acpi_link_adr mtl_cs35l63_x2_link1_link3_fb[] = { 1151 1123 { 1152 1124 .mask = BIT(3), ··· 1299 1243 .links = mtl_cs35l63_x2_link1_link3_fb, 1300 1244 .drv_name = "sof_sdw", 1301 1245 .sof_tplg_filename = "sof-mtl-cs35l56-l01-fb8.tplg", 1246 + }, 1247 + { 1248 + .link_mask = BIT(2) | BIT(3), 1249 + .links = mtl_cs35l63_x6_link2_link3_fb, 1250 + .drv_name = "sof_sdw", 1251 + .sof_tplg_filename = "sof-mtl-cs35l56-l01-fb6.tplg", 1302 1252 }, 1303 1253 { 1304 1254 .link_mask = GENMASK(3, 0),