mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 16:44:58 +02:00
ASoC: amd: acp: Add ACP7.0 match entries for Cirrus
Merge series from Simon Trimmer <simont@opensource.cirrus.com>: This patch series adds a number of ACP7.0 match table entries that are being used in customer products. Some of the configurations are very similar so the series begins with renaming and sorting the existing structures so that the end result is easier to manage.
This commit is contained in:
commit
0f625fc2de
|
|
@ -187,7 +187,106 @@ static const struct snd_soc_acpi_endpoint cs42l43_endpoints[] = {
|
|||
},
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_adr_device cs42l43_0_adr[] = {
|
||||
static const struct snd_soc_acpi_adr_device cs35l56x4_l1u3210_adr[] = {
|
||||
{
|
||||
.adr = 0x00013301FA355601ull,
|
||||
.num_endpoints = 1,
|
||||
.endpoints = &spk_l_endpoint,
|
||||
.name_prefix = "AMP1"
|
||||
},
|
||||
{
|
||||
.adr = 0x00013201FA355601ull,
|
||||
.num_endpoints = 1,
|
||||
.endpoints = &spk_r_endpoint,
|
||||
.name_prefix = "AMP2"
|
||||
},
|
||||
{
|
||||
.adr = 0x00013101FA355601ull,
|
||||
.num_endpoints = 1,
|
||||
.endpoints = &spk_2_endpoint,
|
||||
.name_prefix = "AMP3"
|
||||
},
|
||||
{
|
||||
.adr = 0x00013001FA355601ull,
|
||||
.num_endpoints = 1,
|
||||
.endpoints = &spk_3_endpoint,
|
||||
.name_prefix = "AMP4"
|
||||
},
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_adr_device cs35l63x2_l0u01_adr[] = {
|
||||
{
|
||||
.adr = 0x00003001FA356301ull,
|
||||
.num_endpoints = 1,
|
||||
.endpoints = &spk_l_endpoint,
|
||||
.name_prefix = "AMP1"
|
||||
},
|
||||
{
|
||||
.adr = 0x00003101FA356301ull,
|
||||
.num_endpoints = 1,
|
||||
.endpoints = &spk_r_endpoint,
|
||||
.name_prefix = "AMP2"
|
||||
},
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_adr_device cs35l63x2_l1u01_adr[] = {
|
||||
{
|
||||
.adr = 0x00013001FA356301ull,
|
||||
.num_endpoints = 1,
|
||||
.endpoints = &spk_l_endpoint,
|
||||
.name_prefix = "AMP1"
|
||||
},
|
||||
{
|
||||
.adr = 0x00013101FA356301ull,
|
||||
.num_endpoints = 1,
|
||||
.endpoints = &spk_r_endpoint,
|
||||
.name_prefix = "AMP2"
|
||||
},
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_adr_device cs35l63x2_l1u13_adr[] = {
|
||||
{
|
||||
.adr = 0x00013101FA356301ull,
|
||||
.num_endpoints = 1,
|
||||
.endpoints = &spk_l_endpoint,
|
||||
.name_prefix = "AMP1"
|
||||
},
|
||||
{
|
||||
.adr = 0x00013301FA356301ull,
|
||||
.num_endpoints = 1,
|
||||
.endpoints = &spk_r_endpoint,
|
||||
.name_prefix = "AMP2"
|
||||
},
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_adr_device cs35l63x4_l0u0246_adr[] = {
|
||||
{
|
||||
.adr = 0x00003001FA356301ull,
|
||||
.num_endpoints = 1,
|
||||
.endpoints = &spk_l_endpoint,
|
||||
.name_prefix = "AMP1"
|
||||
},
|
||||
{
|
||||
.adr = 0x00003201FA356301ull,
|
||||
.num_endpoints = 1,
|
||||
.endpoints = &spk_r_endpoint,
|
||||
.name_prefix = "AMP2"
|
||||
},
|
||||
{
|
||||
.adr = 0x00003401FA356301ull,
|
||||
.num_endpoints = 1,
|
||||
.endpoints = &spk_2_endpoint,
|
||||
.name_prefix = "AMP3"
|
||||
},
|
||||
{
|
||||
.adr = 0x00003601FA356301ull,
|
||||
.num_endpoints = 1,
|
||||
.endpoints = &spk_3_endpoint,
|
||||
.name_prefix = "AMP4"
|
||||
},
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_adr_device cs42l43_l0u0_adr[] = {
|
||||
{
|
||||
.adr = 0x00003001FA424301ull,
|
||||
.num_endpoints = ARRAY_SIZE(cs42l43_endpoints),
|
||||
|
|
@ -196,7 +295,25 @@ static const struct snd_soc_acpi_adr_device cs42l43_0_adr[] = {
|
|||
}
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_adr_device cs42l43_1_cs35l56x4_1_adr[] = {
|
||||
static const struct snd_soc_acpi_adr_device cs42l43_l0u1_adr[] = {
|
||||
{
|
||||
.adr = 0x00003101FA424301ull,
|
||||
.num_endpoints = ARRAY_SIZE(cs42l43_endpoints),
|
||||
.endpoints = cs42l43_endpoints,
|
||||
.name_prefix = "cs42l43"
|
||||
}
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_adr_device cs42l43b_l0u1_adr[] = {
|
||||
{
|
||||
.adr = 0x00003101FA2A3B01ull,
|
||||
.num_endpoints = ARRAY_SIZE(cs42l43_endpoints),
|
||||
.endpoints = cs42l43_endpoints,
|
||||
.name_prefix = "cs42l43"
|
||||
}
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_adr_device cs42l43_l1u0_cs35l56x4_l1u0123_adr[] = {
|
||||
{
|
||||
.adr = 0x00013001FA424301ull,
|
||||
.num_endpoints = ARRAY_SIZE(cs42l43_endpoints),
|
||||
|
|
@ -229,61 +346,155 @@ static const struct snd_soc_acpi_adr_device cs42l43_1_cs35l56x4_1_adr[] = {
|
|||
},
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_adr_device cs35l56x4_1_adr[] = {
|
||||
static const struct snd_soc_acpi_adr_device cs42l45_l0u0_adr[] = {
|
||||
{
|
||||
.adr = 0x00013301FA355601ull,
|
||||
.num_endpoints = 1,
|
||||
.endpoints = &spk_l_endpoint,
|
||||
.name_prefix = "AMP1"
|
||||
},
|
||||
{
|
||||
.adr = 0x00013201FA355601ull,
|
||||
.num_endpoints = 1,
|
||||
.endpoints = &spk_r_endpoint,
|
||||
.name_prefix = "AMP2"
|
||||
},
|
||||
{
|
||||
.adr = 0x00013101FA355601ull,
|
||||
.num_endpoints = 1,
|
||||
.endpoints = &spk_2_endpoint,
|
||||
.name_prefix = "AMP3"
|
||||
},
|
||||
{
|
||||
.adr = 0x00013001FA355601ull,
|
||||
.num_endpoints = 1,
|
||||
.endpoints = &spk_3_endpoint,
|
||||
.name_prefix = "AMP4"
|
||||
},
|
||||
.adr = 0x00003001FA424501ull,
|
||||
/* Re-use endpoints, but cs42l45 has no speaker */
|
||||
.num_endpoints = ARRAY_SIZE(cs42l43_endpoints) - 1,
|
||||
.endpoints = cs42l43_endpoints,
|
||||
.name_prefix = "cs42l45"
|
||||
}
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_link_adr acp70_cs42l43_l1_cs35l56x4_l1[] = {
|
||||
static const struct snd_soc_acpi_adr_device cs42l45_l1u0_adr[] = {
|
||||
{
|
||||
.adr = 0x00013001FA424501ull,
|
||||
/* Re-use endpoints, but cs42l45 has no speaker */
|
||||
.num_endpoints = ARRAY_SIZE(cs42l43_endpoints) - 1,
|
||||
.endpoints = cs42l43_endpoints,
|
||||
.name_prefix = "cs42l45"
|
||||
}
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_link_adr acp70_cs35l56x4_l1u3210[] = {
|
||||
{
|
||||
.mask = BIT(1),
|
||||
.num_adr = ARRAY_SIZE(cs42l43_1_cs35l56x4_1_adr),
|
||||
.adr_d = cs42l43_1_cs35l56x4_1_adr,
|
||||
.num_adr = ARRAY_SIZE(cs35l56x4_l1u3210_adr),
|
||||
.adr_d = cs35l56x4_l1u3210_adr,
|
||||
},
|
||||
{}
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_link_adr acp70_cs42l43_l0_cs35l56x4_l1[] = {
|
||||
static const struct snd_soc_acpi_link_adr acp70_cs35l63x4_l0u0246[] = {
|
||||
{
|
||||
.mask = BIT(0),
|
||||
.num_adr = ARRAY_SIZE(cs42l43_0_adr),
|
||||
.adr_d = cs42l43_0_adr,
|
||||
},
|
||||
{
|
||||
.mask = BIT(1),
|
||||
.num_adr = ARRAY_SIZE(cs35l56x4_1_adr),
|
||||
.adr_d = cs35l56x4_1_adr,
|
||||
.num_adr = ARRAY_SIZE(cs35l63x4_l0u0246_adr),
|
||||
.adr_d = cs35l63x4_l0u0246_adr,
|
||||
},
|
||||
{}
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_link_adr acp70_cs35l56x4_l1[] = {
|
||||
static const struct snd_soc_acpi_link_adr acp70_cs42l43_l0u1[] = {
|
||||
{
|
||||
.mask = BIT(0),
|
||||
.num_adr = ARRAY_SIZE(cs42l43_l0u1_adr),
|
||||
.adr_d = cs42l43_l0u1_adr,
|
||||
},
|
||||
{}
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_link_adr acp70_cs42l43b_l0u1[] = {
|
||||
{
|
||||
.mask = BIT(0),
|
||||
.num_adr = ARRAY_SIZE(cs42l43b_l0u1_adr),
|
||||
.adr_d = cs42l43b_l0u1_adr,
|
||||
},
|
||||
{}
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_link_adr acp70_cs42l43_l0u0_cs35l56x4_l1u3210[] = {
|
||||
{
|
||||
.mask = BIT(0),
|
||||
.num_adr = ARRAY_SIZE(cs42l43_l0u0_adr),
|
||||
.adr_d = cs42l43_l0u0_adr,
|
||||
},
|
||||
{
|
||||
.mask = BIT(1),
|
||||
.num_adr = ARRAY_SIZE(cs35l56x4_1_adr),
|
||||
.adr_d = cs35l56x4_1_adr,
|
||||
.num_adr = ARRAY_SIZE(cs35l56x4_l1u3210_adr),
|
||||
.adr_d = cs35l56x4_l1u3210_adr,
|
||||
},
|
||||
{}
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_link_adr acp70_cs42l43_l1u0_cs35l56x4_l1u0123[] = {
|
||||
{
|
||||
.mask = BIT(1),
|
||||
.num_adr = ARRAY_SIZE(cs42l43_l1u0_cs35l56x4_l1u0123_adr),
|
||||
.adr_d = cs42l43_l1u0_cs35l56x4_l1u0123_adr,
|
||||
},
|
||||
{}
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_link_adr acp70_cs42l45_l0u0[] = {
|
||||
{
|
||||
.mask = BIT(0),
|
||||
.num_adr = ARRAY_SIZE(cs42l45_l0u0_adr),
|
||||
.adr_d = cs42l45_l0u0_adr,
|
||||
},
|
||||
{}
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_link_adr acp70_cs42l45_l0u0_cs35l63x2_l1u01[] = {
|
||||
{
|
||||
.mask = BIT(0),
|
||||
.num_adr = ARRAY_SIZE(cs42l45_l0u0_adr),
|
||||
.adr_d = cs42l45_l0u0_adr,
|
||||
},
|
||||
{
|
||||
.mask = BIT(1),
|
||||
.num_adr = ARRAY_SIZE(cs35l63x2_l1u01_adr),
|
||||
.adr_d = cs35l63x2_l1u01_adr,
|
||||
},
|
||||
{}
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_link_adr acp70_cs42l45_l0u0_cs35l63x2_l1u13[] = {
|
||||
{
|
||||
.mask = BIT(0),
|
||||
.num_adr = ARRAY_SIZE(cs42l45_l0u0_adr),
|
||||
.adr_d = cs42l45_l0u0_adr,
|
||||
},
|
||||
{
|
||||
.mask = BIT(1),
|
||||
.num_adr = ARRAY_SIZE(cs35l63x2_l1u13_adr),
|
||||
.adr_d = cs35l63x2_l1u13_adr,
|
||||
},
|
||||
{}
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_link_adr acp70_cs42l45_l1u0[] = {
|
||||
{
|
||||
.mask = BIT(1),
|
||||
.num_adr = ARRAY_SIZE(cs42l45_l1u0_adr),
|
||||
.adr_d = cs42l45_l1u0_adr,
|
||||
},
|
||||
{}
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_link_adr acp70_cs42l45_l1u0_cs35l63x2_l0u01[] = {
|
||||
{
|
||||
.mask = BIT(1),
|
||||
.num_adr = ARRAY_SIZE(cs42l45_l1u0_adr),
|
||||
.adr_d = cs42l45_l1u0_adr,
|
||||
},
|
||||
{
|
||||
.mask = BIT(0),
|
||||
.num_adr = ARRAY_SIZE(cs35l63x2_l0u01_adr),
|
||||
.adr_d = cs35l63x2_l0u01_adr,
|
||||
},
|
||||
{}
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_link_adr acp70_cs42l45_l1u0_cs35l63x4_l0u0246[] = {
|
||||
{
|
||||
.mask = BIT(1),
|
||||
.num_adr = ARRAY_SIZE(cs42l45_l1u0_adr),
|
||||
.adr_d = cs42l45_l1u0_adr,
|
||||
},
|
||||
{
|
||||
.mask = BIT(0),
|
||||
.num_adr = ARRAY_SIZE(cs35l63x4_l0u0246_adr),
|
||||
.adr_d = cs35l63x4_l0u0246_adr,
|
||||
},
|
||||
{}
|
||||
};
|
||||
|
|
@ -326,11 +537,6 @@ struct snd_soc_acpi_mach snd_soc_acpi_amd_acp70_sdw_machines[] = {
|
|||
.links = acp70_rt722_l0_rt1320_l1,
|
||||
.drv_name = "amd_sdw",
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(0),
|
||||
.links = acp70_rt722_only,
|
||||
.drv_name = "amd_sdw",
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(0) | BIT(1),
|
||||
.links = acp70_4_in_1_sdca,
|
||||
|
|
@ -338,17 +544,67 @@ struct snd_soc_acpi_mach snd_soc_acpi_amd_acp70_sdw_machines[] = {
|
|||
},
|
||||
{
|
||||
.link_mask = BIT(0) | BIT(1),
|
||||
.links = acp70_cs42l43_l0_cs35l56x4_l1,
|
||||
.links = acp70_cs42l43_l0u0_cs35l56x4_l1u3210,
|
||||
.drv_name = "amd_sdw",
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(0) | BIT(1),
|
||||
.links = acp70_cs42l45_l1u0_cs35l63x4_l0u0246,
|
||||
.drv_name = "amd_sdw",
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(0) | BIT(1),
|
||||
.links = acp70_cs42l45_l0u0_cs35l63x2_l1u01,
|
||||
.drv_name = "amd_sdw",
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(0) | BIT(1),
|
||||
.links = acp70_cs42l45_l0u0_cs35l63x2_l1u13,
|
||||
.drv_name = "amd_sdw",
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(0) | BIT(1),
|
||||
.links = acp70_cs42l45_l1u0_cs35l63x2_l0u01,
|
||||
.drv_name = "amd_sdw",
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(1),
|
||||
.links = acp70_cs42l43_l1_cs35l56x4_l1,
|
||||
.links = acp70_cs42l43_l1u0_cs35l56x4_l1u0123,
|
||||
.drv_name = "amd_sdw",
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(1),
|
||||
.links = acp70_cs35l56x4_l1,
|
||||
.links = acp70_cs35l56x4_l1u3210,
|
||||
.drv_name = "amd_sdw",
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(0),
|
||||
.links = acp70_cs35l63x4_l0u0246,
|
||||
.drv_name = "amd_sdw",
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(0),
|
||||
.links = acp70_rt722_only,
|
||||
.drv_name = "amd_sdw",
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(0),
|
||||
.links = acp70_cs42l43_l0u1,
|
||||
.drv_name = "amd_sdw",
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(0),
|
||||
.links = acp70_cs42l43b_l0u1,
|
||||
.drv_name = "amd_sdw",
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(0),
|
||||
.links = acp70_cs42l45_l0u0,
|
||||
.drv_name = "amd_sdw",
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(1),
|
||||
.links = acp70_cs42l45_l1u0,
|
||||
.drv_name = "amd_sdw",
|
||||
},
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user