• Sameer Pujar's avatar
    ASoC: tegra: Add Tegra186 based ASRC driver · a2df8c2d
    Sameer Pujar authored
    Asynchronous Sample Rate Converter (ASRC) converts the sampling frequency
    of the input signal from one frequency to another. It can handle over a
    wide range of sample rate ratios (freq_in/freq_out) from 1:24 to 24:1.
    
    ASRC has two modes of operation. One where ratio can be programmed in SW
    and the other where it gets the information from ratio estimator module.
    The latter mode above can help address the cases where the sample rate is
    not known at the stream set up time or is potentially time varying.
    In addition, the ratio between input and output sample rate can be any
    arbitrary number and the input and output clocks could be derived from
    asynchronous clocks.
    
    This patch registers ASRC driver with ASoC framework. The component driver
    exposes DAPM widgets, routes and kcontrols for the device. The DAI driver
    exposes ASRC interfaces, which can be used to connect different components
    in the ASoC layer. Makefile and Kconfig support is added to allow build
    the driver.
    Signed-off-by: default avatarSameer Pujar <spujar@nvidia.com>
    Link: https://lore.kernel.org/r/1648735412-32220-3-git-send-email-spujar@nvidia.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
    a2df8c2d
tegra186_asrc.c 32.4 KB