• Jan Schär's avatar
    ALSA: usb-audio: Support jack detection on Dell dock · 4b8ea38f
    Jan Schär authored
    The Dell WD15 dock has a headset and a line out port. Add support for
    detecting if a jack is inserted into one of these ports.
    For the headset jack, additionally determine if a mic is present.
    
    The WD15 contains an ALC4020 USB audio controller and ALC3263 audio codec
    from Realtek. It is a UAC 1 device, and UAC 1 does not support jack
    detection. Instead, jack detection works by sending HD Audio commands over
    vendor-type USB messages.
    
    I found out how it works by looking at USB captures on Windows.
    The audio codec is very similar to the one supported by
    sound/soc/codecs/rt298.c / rt298.h, some constant names and the mic
    detection are adapted from there. The realtek_add_jack function is adapted
    from build_connector_control in sound/usb/mixer.c.
    
    I tested this on a WD15 dock with the latest firmware.
    Signed-off-by: default avatarJan Schär <jan@jschaer.ch>
    Link: https://lore.kernel.org/r/20220627171855.42338-1-jan@jschaer.chSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    4b8ea38f
mixer_quirks.c 94.8 KB