• Jeremy McDermond's avatar
    ASoC: tlv320aic32x4: Properly implement the positive and negative pins into the mixers · 2213fc35
    Jeremy McDermond authored
    The TLV320AIC32x4 has a very flexible mixer on the inputs to the ADCs.  Each
    mixer has an available set of available pins that can be connected to the
    ADC positive and negative pins via three different resistor values.  This
    allows for configuration of differential inputs as well as doing level
    manipulation between sources going into the mixers.
    
    The current code only provides positive pins and I implemented the resistors
    in an earlier patch.  It turns out that it appears to more accurately model
    what's happening to implement each of the pins as a MUX rather than on/off
    switches and a mixer.  This way each pin can be set to its desired resistor
    value.  Since there are no switches, the mixer is no longer necessary in the
    DAPM path.  I set the DAPM paths such that the "off" position of any of the
    MUXes turns the path off.
    
    This should allow for any input confiuration available on the codec.
    Signed-off-by: default avatarJeremy McDermond <nh6z@nh6z.net>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    2213fc35
tlv320aic32x4.c 32 KB