Message ID | 20231218151221.388745-3-sbinding@opensource.cirrus.com |
---|---|
State | Accepted |
Commit | b592ed2e1d78a475f781802e441c499ab446975b |
Headers | show |
Series | Add support for various laptops using CS35L41 HDA without _DSD | expand |
On Mon, 2023-12-18 at 15:12 +0000, Stefan Binding wrote: > Add new model entries into configuration table. > > Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com> > --- > sound/pci/hda/cs35l41_hda_property.c | 36 > ++++++++++++++++++++++++++++ > 1 file changed, 36 insertions(+) > > diff --git a/sound/pci/hda/cs35l41_hda_property.c > b/sound/pci/hda/cs35l41_hda_property.c > index f90423ded85d..a0d808ed640a 100644 > --- a/sound/pci/hda/cs35l41_hda_property.c > +++ b/sound/pci/hda/cs35l41_hda_property.c > @@ -42,6 +42,24 @@ static const struct cs35l41_config > cs35l41_config_table[] = { > * in the ACPI. The Reset GPIO is also valid, so we can use the > Reset defined in _DSD. > */ > { "103C89C6", SPI, 2, INTERNAL, { CS35L41_RIGHT, > CS35L41_LEFT, 0, 0 }, -1, -1, -1, 1000, 4500, 24 }, > + { "10431433", I2C, 2, INTERNAL, { CS35L41_LEFT, > CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4500, 24 }, > + { "10431463", I2C, 2, INTERNAL, { CS35L41_LEFT, > CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4500, 24 }, > + { "10431473", SPI, 2, INTERNAL, { CS35L41_LEFT, > CS35L41_RIGHT, 0, 0 }, 1, -1, 0, 1000, 4500, 24 }, > + { "10431483", SPI, 2, INTERNAL, { CS35L41_LEFT, > CS35L41_RIGHT, 0, 0 }, 1, -1, 0, 1000, 4500, 24 }, > + { "10431493", SPI, 2, INTERNAL, { CS35L41_LEFT, > CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 1000, 4500, 24 }, > + { "104314D3", SPI, 2, INTERNAL, { CS35L41_LEFT, > CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 1000, 4500, 24 }, > + { "104314E3", I2C, 2, INTERNAL, { CS35L41_LEFT, > CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4500, 24 }, > + { "10431503", I2C, 2, INTERNAL, { CS35L41_LEFT, > CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4500, 24 }, > + { "10431533", I2C, 2, INTERNAL, { CS35L41_LEFT, > CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4500, 24 }, > + { "10431573", SPI, 2, INTERNAL, { CS35L41_LEFT, > CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 1000, 4500, 24 }, > + { "10431663", SPI, 2, INTERNAL, { CS35L41_LEFT, > CS35L41_RIGHT, 0, 0 }, 1, -1, 0, 1000, 4500, 24 }, > + { "104317F3", I2C, 2, INTERNAL, { CS35L41_LEFT, > CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4500, 24 }, > + { "10431C9F", SPI, 2, INTERNAL, { CS35L41_LEFT, > CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 1000, 4500, 24 }, > + { "10431CAF", SPI, 2, INTERNAL, { CS35L41_LEFT, > CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 1000, 4500, 24 }, > + { "10431CCF", SPI, 2, INTERNAL, { CS35L41_LEFT, > CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 1000, 4500, 24 }, > + { "10431CDF", SPI, 2, INTERNAL, { CS35L41_LEFT, > CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 1000, 4500, 24 }, > + { "10431CEF", SPI, 2, INTERNAL, { CS35L41_LEFT, > CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 1000, 4500, 24 }, > + { "10431D1F", I2C, 2, INTERNAL, { CS35L41_LEFT, > CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4500, 24 }, > {} > }; > Very good to see this work done. I have tested on 3 models and each one has very good sound now. Many thanks! > @@ -316,6 +334,24 @@ static const struct cs35l41_prop_model > cs35l41_prop_model_table[] = { > { "CLSA0100", NULL, lenovo_legion_no_acpi }, > { "CLSA0101", NULL, lenovo_legion_no_acpi }, > { "CSC3551", "103C89C6", generic_dsd_config }, > + { "CSC3551", "10431433", generic_dsd_config }, > + { "CSC3551", "10431463", generic_dsd_config }, > + { "CSC3551", "10431473", generic_dsd_config }, > + { "CSC3551", "10431483", generic_dsd_config }, > + { "CSC3551", "10431493", generic_dsd_config }, > + { "CSC3551", "104314D3", generic_dsd_config }, > + { "CSC3551", "104314E3", generic_dsd_config }, > + { "CSC3551", "10431503", generic_dsd_config }, > + { "CSC3551", "10431533", generic_dsd_config }, > + { "CSC3551", "10431573", generic_dsd_config }, > + { "CSC3551", "10431663", generic_dsd_config }, > + { "CSC3551", "104317F3", generic_dsd_config }, > + { "CSC3551", "10431C9F", generic_dsd_config }, > + { "CSC3551", "10431CAF", generic_dsd_config }, > + { "CSC3551", "10431CCF", generic_dsd_config }, > + { "CSC3551", "10431CDF", generic_dsd_config }, > + { "CSC3551", "10431CEF", generic_dsd_config }, > + { "CSC3551", "10431D1F", generic_dsd_config }, > {} > }; >
diff --git a/sound/pci/hda/cs35l41_hda_property.c b/sound/pci/hda/cs35l41_hda_property.c index f90423ded85d..a0d808ed640a 100644 --- a/sound/pci/hda/cs35l41_hda_property.c +++ b/sound/pci/hda/cs35l41_hda_property.c @@ -42,6 +42,24 @@ static const struct cs35l41_config cs35l41_config_table[] = { * in the ACPI. The Reset GPIO is also valid, so we can use the Reset defined in _DSD. */ { "103C89C6", SPI, 2, INTERNAL, { CS35L41_RIGHT, CS35L41_LEFT, 0, 0 }, -1, -1, -1, 1000, 4500, 24 }, + { "10431433", I2C, 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4500, 24 }, + { "10431463", I2C, 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4500, 24 }, + { "10431473", SPI, 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 1, -1, 0, 1000, 4500, 24 }, + { "10431483", SPI, 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 1, -1, 0, 1000, 4500, 24 }, + { "10431493", SPI, 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 1000, 4500, 24 }, + { "104314D3", SPI, 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 1000, 4500, 24 }, + { "104314E3", I2C, 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4500, 24 }, + { "10431503", I2C, 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4500, 24 }, + { "10431533", I2C, 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4500, 24 }, + { "10431573", SPI, 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 1000, 4500, 24 }, + { "10431663", SPI, 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 1, -1, 0, 1000, 4500, 24 }, + { "104317F3", I2C, 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4500, 24 }, + { "10431C9F", SPI, 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 1000, 4500, 24 }, + { "10431CAF", SPI, 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 1000, 4500, 24 }, + { "10431CCF", SPI, 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 1000, 4500, 24 }, + { "10431CDF", SPI, 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 1000, 4500, 24 }, + { "10431CEF", SPI, 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 1000, 4500, 24 }, + { "10431D1F", I2C, 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4500, 24 }, {} }; @@ -316,6 +334,24 @@ static const struct cs35l41_prop_model cs35l41_prop_model_table[] = { { "CLSA0100", NULL, lenovo_legion_no_acpi }, { "CLSA0101", NULL, lenovo_legion_no_acpi }, { "CSC3551", "103C89C6", generic_dsd_config }, + { "CSC3551", "10431433", generic_dsd_config }, + { "CSC3551", "10431463", generic_dsd_config }, + { "CSC3551", "10431473", generic_dsd_config }, + { "CSC3551", "10431483", generic_dsd_config }, + { "CSC3551", "10431493", generic_dsd_config }, + { "CSC3551", "104314D3", generic_dsd_config }, + { "CSC3551", "104314E3", generic_dsd_config }, + { "CSC3551", "10431503", generic_dsd_config }, + { "CSC3551", "10431533", generic_dsd_config }, + { "CSC3551", "10431573", generic_dsd_config }, + { "CSC3551", "10431663", generic_dsd_config }, + { "CSC3551", "104317F3", generic_dsd_config }, + { "CSC3551", "10431C9F", generic_dsd_config }, + { "CSC3551", "10431CAF", generic_dsd_config }, + { "CSC3551", "10431CCF", generic_dsd_config }, + { "CSC3551", "10431CDF", generic_dsd_config }, + { "CSC3551", "10431CEF", generic_dsd_config }, + { "CSC3551", "10431D1F", generic_dsd_config }, {} };
Add new model entries into configuration table. Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com> --- sound/pci/hda/cs35l41_hda_property.c | 36 ++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+)