• Hans de Goede's avatar
    ASoC: es8316: Add DAC mono mix switch mixer control · 24b53f17
    Hans de Goede authored
    Export the DAC functionality to mix left + right together and then output
    the same (mixed) signal on both outputs.
    
    Various (x86) tablets with an ES8316 codec use a single speaker
    connected between the headhpone LOUT and ROUT pins, expecting the output
    to be in a mono differential mode. Presumably this is done to use the
    power of both the left and right outputs to allow the speaker to be
    louder.
    
    The ES8316 codec does not have a differential output mode, but we can
    emulate this by making both channels output the same through the mono mix
    switch, combined with setting the Playback Polarity control to "R Invert",
    which applias a 180 degrees phase inversion to the right channel.
    Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    24b53f17
es8316.c 25.4 KB