linux/sound/soc
Daniel Baluta 4f7a0728b5
ASoC: fsl_sai: Add support for SAI new version
New IP version introduces Version ID and Parameter registers
and optionally added Timestamp feature.

VERID and PARAM registers are placed at the top of registers
address space and some registers are shifted according to
the following table:

Tx/Rx data registers and Tx/Rx FIFO registers keep their
addresses, all other registers are shifted by 8.

SAI Memory map is described in chapter 13.10.4.1.1 I2S Memory map
of the Reference Manual [1].

In order to make as less changes as possible we attach an offset
to each register offset to each changed register definition. The
offset is read from each board private data.

[1]https://cache.nxp.com/secured/assets/documents/en/reference-manual/IMX8MDQLQRM.pdf?__gda__=1563728701_38bea7f0f726472cc675cb141b91bec7&fileExt=.pdf

Signed-off-by: Mihai Serban <mihai.serban@nxp.com>
[initial coding in the NXP internal tree]
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
[bugfixing and cleanups]
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
[adapted to linux-next]
Acked-by: Nicolin Chen <nicoleotsuka@gmail.com>
Link: https://lore.kernel.org/r/20190806151214.6783-4-daniel.baluta@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2019-08-07 14:26:04 +01:00
..
adi treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 177 2019-05-30 11:29:19 -07:00
amd Linux 5.2-rc6 2019-06-26 12:39:34 +01:00
atmel ASoC: Remove dev_err() usage after platform_get_irq() 2019-08-02 12:12:31 +01:00
au1x ASoC: au1x: psc-i2s: use devm_platform_ioremap_resource() to simplify code 2019-07-31 12:12:25 +01:00
bcm ASoC: Remove dev_err() usage after platform_get_irq() 2019-08-02 12:12:31 +01:00
cirrus ASoC: ep93xx-i2s: use devm_platform_ioremap_resource() to simplify code 2019-07-31 12:04:11 +01:00
codecs ASoC: rt1011: Add a flag for the R0 calibration test 2019-08-07 14:19:13 +01:00
dwc treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
fsl ASoC: fsl_sai: Add support for SAI new version 2019-08-07 14:26:04 +01:00
generic Merge branch 'asoc-5.3' into asoc-5.4 2019-07-26 13:10:09 +01:00
hisilicon treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 340 2019-06-05 17:37:07 +02:00
img treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 2019-06-05 17:37:15 +02:00
intel ASoC: Intel: Update request-reply IPC model 2019-08-07 14:26:02 +01:00
jz4740 Linux 5.2-rc6 2019-06-26 12:39:34 +01:00
kirkwood ASoC: Remove dev_err() usage after platform_get_irq() 2019-08-02 12:12:31 +01:00
mediatek ASoC: Remove dev_err() usage after platform_get_irq() 2019-08-02 12:12:31 +01:00
meson ASoC: meson: axg-tdm-formatter: use devm_platform_ioremap_resource() to simplify code 2019-07-31 12:12:52 +01:00
mxs ASoC: Remove dev_err() usage after platform_get_irq() 2019-08-02 12:12:31 +01:00
nuc900 Linux 5.2-rc6 2019-06-26 12:39:34 +01:00
pxa ASoC: mmp-sspa: use devm_platform_ioremap_resource() to simplify code 2019-07-31 12:10:54 +01:00
qcom ASoC: Remove dev_err() usage after platform_get_irq() 2019-08-02 12:12:31 +01:00
rockchip Merge branch 'asoc-5.3' into asoc-5.4 2019-07-26 13:10:09 +01:00
samsung ASoC: samsung: odroid: fix a double-free issue for cpu_dai 2019-07-16 19:17:15 +01:00
sh ASoC: rsnd: Support hw_free() callback at DAI level 2019-07-23 18:14:13 +01:00
sirf ASoC: sirf: use devm_platform_ioremap_resource() to simplify code 2019-07-31 12:05:39 +01:00
sof ASoC: SOF: Intel: hda: fix MSI handling 2019-08-07 14:19:32 +01:00
spear ASoC: spear: use devm_platform_ioremap_resource() to simplify code 2019-07-31 12:06:18 +01:00
sprd ASoC: Remove dev_err() usage after platform_get_irq() 2019-08-02 12:12:31 +01:00
sti ASoC: Remove dev_err() usage after platform_get_irq() 2019-08-02 12:12:31 +01:00
stm ASoC: Remove dev_err() usage after platform_get_irq() 2019-08-02 12:12:31 +01:00
sunxi ASoC: Remove dev_err() usage after platform_get_irq() 2019-08-02 12:12:31 +01:00
tegra ASoC: tegra: use devm_platform_ioremap_resource() to simplify code 2019-07-31 12:03:41 +01:00
ti ASoC: ti: Mark expected switch fall-throughs 2019-07-31 12:07:03 +01:00
txx9 Linux 5.2-rc6 2019-06-26 12:39:34 +01:00
uniphier ASoC: Remove dev_err() usage after platform_get_irq() 2019-08-02 12:12:31 +01:00
ux500 ASoC: ux500: mop500: consider CPU-Platform possibility 2019-06-28 15:19:55 +01:00
xilinx ASoC: Remove dev_err() usage after platform_get_irq() 2019-08-02 12:12:31 +01:00
xtensa ASoC: Remove dev_err() usage after platform_get_irq() 2019-08-02 12:12:31 +01:00
zte ASoC: zx-tdm: remove redundant assignment to ts_width on error return path 2019-08-01 13:56:26 +01:00
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Makefile ASoC: add soc-component.c 2019-08-05 16:16:19 +01:00
soc-ac97.c
soc-acpi.c ASoC: soc-acpi: fix implicit header use of module.h/export.h 2019-05-08 18:06:28 +09:00
soc-component.c ASoC: soc-component: add snd_soc_pcm_component_pcm_free() 2019-08-05 16:27:16 +01:00
soc-compress.c ASoC: soc-dai: move snd_soc_dai_stream_valid() to soc-dai.c 2019-07-23 18:14:26 +01:00
soc-core.c ASoC: soc-core: tidyup for snd_soc_dapm_new_controls() 2019-08-07 14:25:58 +01:00
soc-dai.c ASoC: soc-dai: move snd_soc_dai_stream_valid() to soc-dai.c 2019-07-23 18:14:26 +01:00
soc-dapm.c ASoC: soc-component: move snd_soc_component_set_bias_level() 2019-08-05 16:24:17 +01:00
soc-devres.c
soc-generic-dmaengine-pcm.c ASoC: More changes for v5.1 2019-02-28 13:30:55 +01:00
soc-io.c
soc-jack.c ASoC: add soc-component.c 2019-08-05 16:16:19 +01:00
soc-ops.c
soc-pcm.c ASoC: soc-component: add snd_soc_pcm_component_pcm_free() 2019-08-05 16:27:16 +01:00
soc-topology.c ASoC: topology: fix memory leaks on sm, se and sbe 2019-06-28 15:08:49 +01:00
soc-utils.c ASoC: add soc-component.c 2019-08-05 16:16:19 +01:00