• Mark Brown's avatar
    Merge series "ASoC: cs42l42: Implement Manual Type detection as fallback" from... · f1291f41
    Mark Brown authored
    Merge series "ASoC: cs42l42: Implement Manual Type detection as fallback" from Vitaly Rodionov <vitalyr@opensource.cirrus.com>:
    
    For some headsets CS42L42 autodetect mode is not working correctly.
    They will be detected as unknown types or as headphones. According
    to the CS42L42 datasheet, if the headset autodetect failed,
    then the driver should switch to manual mode and perform a manual steps sequence.
    These steps were missing in the current driver code. This patch will add manual
    mode fallback steps in case autodetect failed. The default behavior is not affected,
    manual mode runs only when autodetect failed.
    
    Tested for regression with autodetect with all known headsets - no regression.
    Tested with all headsets customers reported as false detected:
    Gumdrop DropTech B1 - detected as headset OK
    HUAWEI AM115 - detected as headset OK
    UGREEN EP103 - detected as headset OK
    HONOR AM116 - detected as headset OK
    
    Stefan Binding (1):
      ASoC: cs42l42: Implement Manual Type detection as fallback
    
     sound/soc/codecs/cs42l42.c | 104 ++++++++++++++++++++++++++++++++-----
     sound/soc/codecs/cs42l42.h |  54 +++++++++++++++++++
     2 files changed, 146 insertions(+), 12 deletions(-)
    
    --
    2.25.1
    f1291f41
cs42l42.c 65.8 KB