Card related function should be implemented at soc-card now.
This patch adds it.
card has "card->probe" and "card->late_probe" callbacks,
and "late_probe" callback is called after "probe".
This means, we can set "card->probed" flag afer "late_probe"
for all cases.
Card related function should be implemented at soc-card now.
This patch adds it.
One note here is that card has "card->probe" and "card->late_probe"
callbacks.
Because it needs to care "late_probe", "card->probed" flag is set
under if (card->probe) at snd_soc_card_probe().
ASoC: soc-card: add probed bit field to snd_soc_card
We already have bit field to control snd_soc_card.
Let's add "probed" field on it instead of local variable.
One note here is that soc_cleanup_card_resources()
will be called as (A) formal cleanup or as (B) error handling,
thus, it needs to distinguish these.
In (A) case, card will have "instantiated" flag if all probe
callback functions were called without error.
Thus, snd_soc_unbind_card() is using it to judging card was probed.
But this this patch removes it, because it is no longer needed.
Mark Brown [Fri, 29 May 2020 20:43:38 +0000 (21:43 +0100)]
Merge series "Kconfig updates for DMIC and SOF HDMI support" from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:
This series provides the following updates to the Intel machine driver
Kconfig:
1. The first patch adds the explicit dependency on GPIOLIB when
SND_SOC_DMIC is selected.
2. SND_SOC_SOF_HDA_AUDIO_CODEC is required for using the legacy
HDA codec driver for HDMI support in SOF. The last 3 three patches
make the required changes to account for this.
changes since v1:
first patch for DMIC was merged already
rebase for HDMI on top of Arnd's RT5682 changes.
Libin Yang (3):
ASoC: intel: add depends on SND_SOC_SOF_HDA_AUDIO_CODEC for common
hdmi
ASoC: sof-sdw: remove CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC condition
ASoC: sof_pcm512x: remove CONFIG_SND_HDA_CODEC_HDMI condition
As CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC is always enabled in sof-soundwire
driver, let's remove the test of CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC
in the code.
Signed-off-by: Libin Yang <libin.yang@linux.intel.com> Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Link: https://lore.kernel.org/r/20200529193547.6077-3-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
Kai Vehmanen [Fri, 29 May 2020 16:03:58 +0000 (19:03 +0300)]
ASoC: SOF: Intel: hda: fix generic hda codec support
Add support for using generic codec driver with SOF. Generic driver
is used if:
- snd_sof_intel_hda_common.hda_model="generic" is set, or
- fallback if no other codec driver is found
The implementation is aligned with snd-hda-intel driver, and fixes audio
support for systems like Acer Swift 3 SF314-57G, on which this issue was
originally reported.
ASoC: SOF: Intel: Baytrail: fix 'defined but not used' warnings
With the allmodconfig option, CONFIG_SND_SOC_SOF_BAYTRAIL is disabled
due to mutual exclusion with the legacy driver. This generates
'defined by not used' warnings.
suspend/resume/remove are only supported for Baytrail for now, so move
the code under the CONFIG_SND_SOC_SOF_BAYTRAIL checks.
朱灿灿 [Fri, 29 May 2020 10:12:44 +0000 (18:12 +0800)]
Subject: [PATCH v2] ASoC: soc-pcm: fix BE dai not hw_free and shutdown during mixer update
FE state is SND_SOC_DPCM_STATE_PREPARE now, BE1 is
used by FE.
Later when new BE2 is added to FE by mixer update,
it will call dpcm_run_update_startup() to update
BE2's state, but unfortunately BE2 .prepare() meets
error, it will disconnect all non started BE.
This make BE1 dai skip .hw_free() and .shutdown(),
and the BE1 users will never decrease to zero.
ASoC: reduce verbosity of error messages for sof-dai and sof-link
Recent changes result in multiple dmesg traces such as:
[ 14.410435] Audio Port: ASoC: error at snd_soc_link_startup on Audio
Port: 1
[ 14.410446] sst-mfld-platform sst-mfld-platform: ASoC: error at
snd_soc_dai_startup on media-cpu-dai: 1
These messages are not really errors, when dai and dai-link callbacks
return the value of e.g. snd_pcm_hw_constraint_single() the result is
"Positive if the value is changed, zero if it's not changed, or a
negative error code"
Add a simple test to skip the checks for positive returned values
Mark Brown [Fri, 29 May 2020 12:30:08 +0000 (13:30 +0100)]
Merge series "ASoC topology header parsing refinement" from Keyon Jie <yang.jie@linux.intel.com>:
This small series is to optimize the header logging during the topology
parsing. This is verified work fine on both SOF and SST drivers.
Change History:
v3:
- Remove using the separated soc_pass_load() function and merge it to the
soc_tplg_load_header() body.
- Add more Tested-by tags.
v2:
- Change the internal used array to be 'static' to fix the issue
reported by: kbuild test robot <lkp@intel.com>
- Add testing coverage including Intel SST driver also.
v1:
- Initial version.
Keyon Jie (2):
ASoC: topology: refine and log the header in the correct pass
ASoC: topology: remove the redundant pass checks
Xiyu Yang [Mon, 25 May 2020 14:12:46 +0000 (22:12 +0800)]
ASoC: fsl_asrc_dma: Fix dma_chan leak when config DMA channel failed
fsl_asrc_dma_hw_params() invokes dma_request_channel() or
fsl_asrc_get_dma_channel(), which returns a reference of the specified
dma_chan object to "pair->dma_chan[dir]" with increased refcnt.
The reference counting issue happens in one exception handling path of
fsl_asrc_dma_hw_params(). When config DMA channel failed for Back-End,
the function forgets to decrease the refcnt increased by
dma_request_channel() or fsl_asrc_get_dma_channel(), causing a refcnt
leak.
Fix this issue by calling dma_release_channel() when config DMA channel
failed.
Dan Murphy [Thu, 28 May 2020 14:47:11 +0000 (09:47 -0500)]
ASoC: tlv320adcx140: Fix dt-binding-check issue
Fix dt-binding-check issue
ti,gpi-config:0:0: 4 is greater than the maximum of 1
ti,gpi-config:0:1: 5 is greater than the maximum of 1
ti,gpi-config:0:2: 6 is greater than the maximum of 1
ti,gpi-config:0:3: 7 is greater than the maximum of 1
Dinghao Liu [Fri, 29 May 2020 01:22:28 +0000 (09:22 +0800)]
ASoC: img-i2s-out: Fix runtime PM imbalance on error
pm_runtime_get_sync() increments the runtime PM usage counter even
the call returns an error code. Thus a pairing decrement is needed
on the error handling path to keep the counter balanced.
Keyon Jie [Wed, 27 May 2020 02:28:01 +0000 (10:28 +0800)]
ASoC: topology: remove the redundant pass checks
As we have check the 'pass' in the soc_elem_pass_load(), so no need to
check it again in each specific elem_load function, at the same time,
the tplg->pos will be reset to the next header base when the pass is
mismatched, so the increasing of the tplg->pos in these cases made no
sense. Here remove all of them.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> Tested-by: Vamshi Kerishna Gopal <vamshi.krishna.gopal@intel.com> Tested-by: Cezary Rojewski <cezary.rojewski@intel.com> Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Link: https://lore.kernel.org/r/20200527022801.336264-3-yang.jie@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
Keyon Jie [Wed, 27 May 2020 02:28:00 +0000 (10:28 +0800)]
ASoC: topology: refine and log the header in the correct pass
The check (tplg->pass == le32_to_cpu(hdr->type)) makes no sense as it is
comparing two different enums, refine the element loading functions, and
log the information when the header is being parsed in the corresponding
parsing pass.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> Tested-by: Vamshi Kerishna Gopal <vamshi.krishna.gopal@intel.com> Tested-by: Cezary Rojewski <cezary.rojewski@intel.com> Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Link: https://lore.kernel.org/r/20200527022801.336264-2-yang.jie@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
Rework the driver to have three separate modules, with the
main driver just dealing with the common bits and the actual
initialization as part of i2c and sdw specific modules.
The conversion is fairly mechanical to keep it easy to review,
i.e. it moves code around with the minimal required renaming
and changes.
Fixes: 6b8e4e7db3cd ("ASoC: amd: Add machine driver for Raven based platform") Fixes: fd443a20c2f0 ("ASoC: rt5682: fix I2C/Soundwire dependencies") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20200528091851.2889754-1-arnd@arndb.de Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Wed, 27 May 2020 13:48:57 +0000 (14:48 +0100)]
Merge series "ASoC: SOF: finalize Baytrail/CherryTrail support" from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:
This long-overdue patchset adds missing system suspend/resume support
and hardens the IPC to solve module load/unload issues on specific
devices such as Cyan Chromebook. With this series SOF is finally
iso-feature with the legacy driver. Thanks to Ranjani and Keyon for
the basic patches and Enric for testing.
The last part needed for Baytrail/Cherrytrail is simplification of the
driver/card names and turn-key UCM support (on-going work with
Jaroslav).
Keyon Jie (1):
ASoC: SOF: Intel: BYT: harden IPC initialization and handling
Wei Yongjun [Wed, 27 May 2020 03:02:10 +0000 (03:02 +0000)]
ASoC: mmp-sspa: Fix return value check in asoc_mmp_sspa_probe()
In case of error, the function devm_ioremap() returns NULL pointer not
ERR_PTR(). The IS_ERR() test in the return value check should be
replaced with NULL test.
Dan Murphy [Tue, 26 May 2020 17:52:47 +0000 (12:52 -0500)]
ASoC: tlv320adcx140: Fix warnings when using W=1
Fix the warnings when using the W=1 compiler flag.
sound/soc/codecs/tlv320adcx140.c: In function ‘adcx140_reset’:
sound/soc/codecs/tlv320adcx140.c:570:6: warning: variable ‘ret’ set but not used [-Wunused-but-set-variable]
570 | int ret = 0;
| ^~~
This was set but only used in case where the reset GPIO is not defined.
Have the function return the value of ret.
sound/soc/codecs/tlv320adcx140.c: In function ‘adcx140_codec_probe’:
sound/soc/codecs/tlv320adcx140.c:778:18: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
778 | if (bias_source < ADCX140_MIC_BIAS_VAL_VREF ||
| ^
sound/soc/codecs/tlv320adcx140.c:789:18: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
789 | if (vref_source < ADCX140_MIC_BIAS_VREF_275V ||
This condition will not occur since if the dt property is not set then
the *_source variable is set to the default value. So there is no way
that *_source can be less then 0. Which is what each #define is set to.
The code just needs to make sure that the dt property is not out of the
upper bounds.
Dinghao Liu [Wed, 27 May 2020 02:46:22 +0000 (10:46 +0800)]
ASoC: wm8962: Fix runtime PM imbalance on error
pm_runtime_get_sync() increments the runtime PM usage counter even
the call returns an error code. Thus a pairing decrement is needed
on the error handling path to keep the counter balanced.
Dinghao Liu [Wed, 27 May 2020 08:43:24 +0000 (16:43 +0800)]
ASoC: img-spdif-in: Fix runtime PM imbalance on error
pm_runtime_get_sync() increments the runtime PM usage counter even
the call returns an error code. Thus a pairing decrement is needed
on the error handling path to keep the counter balanced.
Dan Murphy [Tue, 26 May 2020 20:09:17 +0000 (15:09 -0500)]
ASoC: tlv320adcx140: Add support for configuring GPI pins
Add support to configure the GPI pins to the specific configuration.
The pins can be disabled or be configured as data input for any of the
digital mic channels. In addition the GPI can be used a a general
purpose input, a Master clock input or an ASI input for daisy chaining
devices.
Add an array property that configures the General Purpose Input (GPI)
register. The device has 4 GPI pins and each pin can be configured in 1
of 7 different ways.
Dinghao Liu [Wed, 27 May 2020 08:46:08 +0000 (16:46 +0800)]
ASoC: img-spdif-out: Fix runtime PM imbalance on error
pm_runtime_get_sync() increments the runtime PM usage counter even
the call returns an error code. Thus a pairing decrement is needed
on the error handling path to keep the counter balanced.
Keyon Jie [Tue, 26 May 2020 20:36:40 +0000 (15:36 -0500)]
ASoC: SOF: Intel: BYT: harden IPC initialization and handling
On probe and reset, we should not touch the SHIM_IMRD register since
it is configured by firmware.
The driver only configures SHIM_IMRX with the BUSY interrupt enabled
by default and DONE interrupt disabled. When sending an IPC message,
the DONE interrupt is enabled until the DSP response is provided.
This sequence hardens the IPC communication and avoid
interrupt-related issues when adding/removing modules or during system
suspend-resume transitions.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Tested-by: Enric Balletbo i Serra <enric.balletbo@collabora.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Link: https://lore.kernel.org/r/20200526203640.25980-9-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
ASoC: SOF: Intel: BYT: mask BUSY or DONE interrupts in handler
The DSP may send the same interrupt multiple times before it's handled
in the interrupt thread. Rather than masking it in the thread, mask it
in the handler directly.
This patch also removes useless checks that cannot happen, and masks
that are set don't need to be re-tested.
ASoC: SOF: ipc: ignore DSP replies received when they are not expected
We currently ignore the reply messages from the DSP
when they are not expected but call it out as an error.
Change the error message to a debug message.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Tested-by: Enric Balletbo i Serra <enric.balletbo@collabora.com> Link: https://lore.kernel.org/r/20200526203640.25980-6-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
Low-power playback was never enabled on Baytrail devices, remove what
looks like copy/paste from other machine drivers which were never
submitted upstream.
Dinghao Liu [Mon, 25 May 2020 07:17:30 +0000 (15:17 +0800)]
ASoC: tas2552: Fix runtime PM imbalance in tas2552_component_probe
pm_runtime_get_sync() increments the runtime PM usage counter even
when it returns an error code. Thus a pairing decrement is needed on
the error handling path to keep the counter balanced.
Qiushi Wu [Mon, 25 May 2020 05:50:11 +0000 (00:50 -0500)]
ASoC: fix incomplete error-handling in img_i2s_in_probe.
Function "pm_runtime_get_sync()" is not handled by "pm_runtime_put()"
if "PTR_ERR(rst) == -EPROBE_DEFER". Fix this issue by adding
"pm_runtime_put()" into this error path.
Fixes: 52e8a94baf90 ("ASoC: Add initial ZL38060 driver") Signed-off-by: kbuild test robot <lkp@intel.com> CC: Sven Van Asbroeck <thesven73@gmail.com> Link: https://lore.kernel.org/r/20200525184351.GA37386@5cf39b9a5cc3 Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Mon, 25 May 2020 14:31:13 +0000 (15:31 +0100)]
Merge series "ASoC: add soc-link" from Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>:
Hi Mark
Current ALSA SoC is handling dai_link related operation,
but it is implmemented directly without using function/macro,
and at random place.
This v4 patch-set creates new snd_soc_link_xxx() functions
which handles dai_link related operation,
and implmement these at new soc-link.c.
v3 -> v4
- add Reviewed-by from Ranjani and Pierre-Louis
- fix bisection error at [2/7]
v2 -> v3
- add missing #include <sound/soc-link.h> in soc-link.c
v1 -> v2
- #include <sound/soc-link.h> is added on each c source file
instead of soc.h
- not have extra error message after snd_soc_link_xxx(),
because it already indicate it via snc_link_ret()
- snd_soc_link_compr_xxx() doesn't have rtd parameter,
because it can be created from cstream
Mark Brown [Mon, 25 May 2020 14:31:12 +0000 (15:31 +0100)]
Merge series "ASoC: SOF: extended manifest support for 5.8" from Kai Vehmanen <kai.vehmanen@linux.intel.com>:
Hello,
extended firmware manifest is a method to retrieve capabilities
directly from the firmware file instead of routing the information via
the DSP and reading it back via IPC (latter mechanism still supported
but will be deprecated).
This feature was briefly merged to 5.8 with the series sent on
2020-Apr-15, but due to a regression hit with exporting uapi headers,
the patches got dropped.
Here's an update with the uapi header issue fixed, rebased to latest
'for-5.8' and a few minor fixes. This has been sitting in sof-dev for
some weeks and no further issues have been found. We also added
a check for the uapi-export case to SOF CI, so such errors would
not slip through again in the future.
Tooling support to create firmware files with an extended header
is available in SOF firmware repository (see the rimage tool) and
this part is already merged.
Karol Trzcinski (5):
ASoC: SOF: loader: Adjust validation condition for fw_offset
ASoC: SOF: Introduce extended manifest
ASoC: SOF: ext_manifest: parse firmware version
ASoC: SOF: ext_manifest: parse windows
ASoC: SOF: ext_manifest: parse compiler version
Shengjiu Wang [Fri, 22 May 2020 09:57:24 +0000 (17:57 +0800)]
ASoC: fsl_asrc: Merge suspend/resume function to runtime_suspend/resume
With dedicated power domain for asrc, power can be disabled after
probe and pm runtime suspend, then the value of all registers need to
be restored in pm runtime resume. So we can merge suspend/resume function
to runtime_suspend/resume function and enable regcache only in end of
probe.
sound/soc/fsl/fsl_asrc.c:557:18: warning: no previous prototype for function 'fsl_asrc_get_dma_channel' [-Wmissing-prototypes]
struct dma_chan *fsl_asrc_get_dma_channel(struct fsl_asrc_pair *pair, bool dir)
^
sound/soc/fsl/fsl_asrc.c:557:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
struct dma_chan *fsl_asrc_get_dma_channel(struct fsl_asrc_pair *pair, bool dir)
^
static
Karol Trzcinski [Wed, 20 May 2020 16:59:11 +0000 (19:59 +0300)]
ASoC: SOF: ext_manifest: parse compiler version
The compiler version and description can be extracted from the
extended manifest content. This information known at build time
does not need to be provided in a mailbox.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com> Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Link: https://lore.kernel.org/r/20200520165911.21696-6-kai.vehmanen@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
Karol Trzcinski [Wed, 20 May 2020 16:59:10 +0000 (19:59 +0300)]
ASoC: SOF: ext_manifest: parse windows
The window description can be extracted from the extended manifest
content. This information known at build time does not need to be
provided in a mailbox.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com> Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Link: https://lore.kernel.org/r/20200520165911.21696-5-kai.vehmanen@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
Karol Trzcinski [Wed, 20 May 2020 16:59:09 +0000 (19:59 +0300)]
ASoC: SOF: ext_manifest: parse firmware version
The firmware version can be extracted from the extended
manifest content. This information known at build time
does not need to be provided in a mailbox.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com> Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Link: https://lore.kernel.org/r/20200520165911.21696-4-kai.vehmanen@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
Karol Trzcinski [Wed, 20 May 2020 16:59:08 +0000 (19:59 +0300)]
ASoC: SOF: Introduce extended manifest
Extended manifest is a place to store build time known firmware
metadata, for example firmware version or used compiler description.
Given information is read on host side before firmware startup.
This part of output binary is located as a first structure in binary
file.
Extended manifest should be skipped in firmware loading routine.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com> Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Link: https://lore.kernel.org/r/20200520165911.21696-3-kai.vehmanen@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
Pavel Dobias [Fri, 22 May 2020 14:29:57 +0000 (16:29 +0200)]
ASoC: max9867: keep ADCs and DACs always on
Updating power management register requires toggling the shutdown
bit otherwise it causes unexpected behavior of the codec.
However, toggling the shutdown bit results in loud speaker crackling.
Setup the power management register only at startup to avoid that.
Pavel Dobias [Wed, 20 May 2020 07:19:00 +0000 (09:19 +0200)]
ASoC: max9867: don't use regmap defaults
MAX9867 codec doesn't have reset pin, so the registers don't
have default values in the case of reboot without powering off.
Remove the reg_defaults struct and let the regmap read initial
state of the registers at startup instead of taking them from
reg_defaults struct.
Lubomir Rintel [Mon, 11 May 2020 21:01:34 +0000 (23:01 +0200)]
ASoC: mmp-sspa: Add Device Tree support
This makes it possible to select CONFIG_SND_MMP_SOC_SSPA directly, as
opposed to via CONFIG_SND_MMP_SOC, and for the driver to bind to a device
tree node. That makes the driver useful on Device Tree based systems,
with audio-graph-card or simple-card.
The aforementioned card drivers control the master clock themselves and
don't call the set_dai_sysclk() or set_dai_pll(), thus the respective
handlers don't serve any purpose anymore. Instead, they return early and
the hw_params() handler sets the appropriate bitclk itself.
The register range is split into two -- for the RX block and for the TX
block. On a MMP2 there are two pairs of them; the first one has the
clock controller in the middle, while the second just has a hole:
Shengjiu Wang [Tue, 12 May 2020 10:22:59 +0000 (18:22 +0800)]
ASoC: fsl_asrc: Set ASR76K and ASR56K based on processing clock
The processing clock is different for platforms, so it is better
to set ASR76K and ASR56K based on processing clock, rather than
hard coding the value for them.