• Thomas Niederprüm's avatar
    ASoC: OMAP: mcbsp: Fix CLKX and CLKR pinmux when used as inputs · 8af4baa7
    Thomas Niederprüm authored
    This patch fixes faulty behaviour in a setup where the input clock for the
    SRG is fed through the CLKR/CLKX pin but the McBSP is configured to be
    master (SND_SOC_DAIFMT_CBS_CFS). In that case of course CLKR/CLKX must
    not be configured as output pin. Otherwise the input clock is messed up
    horribly.
    
    This patch makes it possible to use the CLKR/CLKX pin rather than CLKS to
    inject a reference clock in setups where McBSP is master and not both
    rx and tx are used. However for this to work it has to be ensured that
    set_dai_sysclk() is called after set_dai_fmt().
    
    This was tested on a beagleboard-xm using McBSP1 to drive a i2s DAC through
    the tx lines (CLKX,FSX,DX). Using this patch the CLKR pin is used to inject
    an external reference clock.
    Signed-off-by: default avatarThomas Niederprüm <niederp@physik.uni-kl.de>
    Acked-by: default avatarPeter Ujfalusi <peter.ujfalusi@ti.com>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    8af4baa7
omap-mcbsp.c 22.4 KB