[PATCH] ASoC: Intel: bytcr_rt5640: Fix HP Pavilion x2 Detachable quirks
Pierre-Louis Bossart
pierre-louis.bossart at linux.intel.com
Wed Nov 18 18:21:26 CET 2020
On 11/18/20 6:15 AM, Hans de Goede wrote:
> The HP Pavilion x2 Detachable line comes in many variants:
>
> 1. Bay Trail SoC + AXP288 PMIC, Micro-USB charging (10-k010nz, ...)
> DMI_SYS_VENDOR: "Hewlett-Packard"
> DMI_PRODUCT_NAME: "HP Pavilion x2 Detachable PC 10"
> DMI_BOARD_NAME: "8021"
>
> 2. Bay Trail SoC + AXP288 PMIC, Type-C charging (10-n000nd, 10-n010nl, ...)
> DMI_SYS_VENDOR: "Hewlett-Packard"
> DMI_PRODUCT_NAME: "HP Pavilion x2 Detachable"
> DMI_BOARD_NAME: "815D"
>
> 3. Cherry Trail SoC + AXP288 PMIC, Type-C charging (10-n101ng, ...)
> DMI_SYS_VENDOR: "HP"
> DMI_PRODUCT_NAME: "HP Pavilion x2 Detachable"
> DMI_BOARD_NAME: "813E"
>
> 4. Cherry Trail SoC + TI PMIC, Type-C charging (10-p002nd, 10-p018wm, ...)
> DMI_SYS_VENDOR: "HP"
> DMI_PRODUCT_NAME: "HP x2 Detachable 10-p0XX"
> DMI_BOARD_NAME: "827C"
>
> 5. Cherry Trail SoC + TI PMIC, Type-C charging (x2-210-g2, ...)
> DMI_SYS_VENDOR: "HP"
> DMI_PRODUCT_NAME: "HP x2 210 G2"
> DMI_BOARD_NAME: "82F4"
>
> Variant 1 needs the exact same quirk as variant 2, so relax the DMI check
> for the existing quirk a bit so that it matches both variant 1 and 2
> (note the other variants will still not match).
>
> Variant 2 already has an existing quirk (which now also matches variant 1)
>
> Variant 3 uses a cx2072x codec, so is not applicable here.
>
> Variant 4 almost works with the defaults, but it also needs a quirk to
> fix jack-detection, add a new quirk for this.
>
> Variant 5 does use a RT5640 codec (based on old dmesg output), but was
> otherwise not tested, keep using the defaults for this variant.
>
> BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1896924
> Fixes: ec8e8418ff7d ("ASoC: Intel: bytcr_rt5640: Add quirks for various devices")
> Signed-off-by: Hans de Goede <hdegoede at redhat.com>
Thank you Hans! I honestly don't know how you managed to keep track of
so many hardware variants.
Acked-by: Pierre-Louis Bossart <pierre-louis.bossart at linux.intel.com>
> ---
> sound/soc/intel/boards/bytcr_rt5640.c | 17 ++++++++++++++---
> 1 file changed, 14 insertions(+), 3 deletions(-)
>
> diff --git a/sound/soc/intel/boards/bytcr_rt5640.c b/sound/soc/intel/boards/bytcr_rt5640.c
> index 9dadf6561444..f790514a147d 100644
> --- a/sound/soc/intel/boards/bytcr_rt5640.c
> +++ b/sound/soc/intel/boards/bytcr_rt5640.c
> @@ -520,10 +520,10 @@ static const struct dmi_system_id byt_rt5640_quirk_table[] = {
> .driver_data = (void *)(BYT_RT5640_IN1_MAP |
> BYT_RT5640_MCLK_EN),
> },
> - { /* HP Pavilion x2 10-n000nd */
> + { /* HP Pavilion x2 10-k0XX, 10-n0XX */
> .matches = {
> - DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
> - DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "HP Pavilion x2 Detachable"),
> + DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
> + DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion x2 Detachable"),
> },
> .driver_data = (void *)(BYT_RT5640_DMIC1_MAP |
> BYT_RT5640_JD_SRC_JD2_IN4N |
> @@ -532,6 +532,17 @@ static const struct dmi_system_id byt_rt5640_quirk_table[] = {
> BYT_RT5640_SSP0_AIF1 |
> BYT_RT5640_MCLK_EN),
> },
> + { /* HP Pavilion x2 10-p0XX */
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "HP"),
> + DMI_MATCH(DMI_PRODUCT_NAME, "HP x2 Detachable 10-p0XX"),
> + },
> + .driver_data = (void *)(BYT_RT5640_DMIC1_MAP |
> + BYT_RT5640_JD_SRC_JD1_IN4P |
> + BYT_RT5640_OVCD_TH_1500UA |
> + BYT_RT5640_OVCD_SF_0P75 |
> + BYT_RT5640_MCLK_EN),
> + },
> { /* HP Stream 7 */
> .matches = {
> DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
>
More information about the Alsa-devel
mailing list