linux/sound/soc
Lubomir Rintel a97e384ba7
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:

  0xd42a0c00 - 0xd42a0c30 RX1
  0xd42a0c30 - 0xd42a0c40 Clocks
  0xd42a0c80 - 0xd42a0cb0 TX1
  0xd42a0d00 - 0xd42a0d30 RX2
  0xd42a0d80 - 0xd42a0cb0 TX2

For this reason, mmp_sspa_write_reg() and mmp_sspa_read_reg() are
replaced with direct calls to I/O routines.

Tested on a MMP2-based OLPC XO-1.75 laptop with rt5631 coded, mmp_tdma DMA
engine and MMP2 clock controller glued together with audio-graph-card.

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Link: https://lore.kernel.org/r/20200511210134.1224532-12-lkundrak@v3.sk
Signed-off-by: Mark Brown <broonie@kernel.org>
2020-05-19 20:52:49 +01:00
..
adi
amd ASoC: amd: return error when acp de-init fails 2020-05-19 19:49:55 +01:00
atmel ASoC: atomel: use snd_soc_xxx_active() 2020-05-18 16:15:04 +01:00
au1x ASoC: au1x: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:32 +00:00
bcm ASoC: bcm: use snd_soc_xxx_active() 2020-05-18 16:15:05 +01:00
cirrus ASoC: cirrus: use snd_soc_xxx_active() 2020-05-18 16:15:06 +01:00
codecs Merge series "ASoC: cleanup DAI/Component activity" from Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>: 2020-05-18 16:43:49 +01:00
dwc ASoC: dwc: use snd_soc_xxx_active() 2020-05-18 16:15:15 +01:00
fsl ASoC: fsl_micfil: Do not pass irq numbers in comments 2020-05-19 14:18:52 +01:00
generic ASoC: generic: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:36 +00:00
hisilicon ASoC: hisilicon: Use the defined variable to clean code 2020-04-27 14:08:44 +01:00
img ASoC: img: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:37 +00:00
intel ASoC: Intel: bytcr_rt5640: Add quirk for Toshiba Encore WT8-A tablet 2020-05-18 18:48:26 +01:00
jz4740 ASoC: jz4740: use snd_soc_xxx_active() 2020-05-18 16:15:10 +01:00
kirkwood ASoC: kirkwood: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:39 +00:00
mediatek ASoC: mediatek: use snd_soc_xxx_active() 2020-05-18 16:15:11 +01:00
meson ASoC: meson: use snd_soc_xxx_active() 2020-05-18 16:15:11 +01:00
mxs ASoC: mxs-saif: Fix unused assignment 2020-04-29 14:23:19 +01:00
pxa ASoC: mmp-sspa: Add Device Tree support 2020-05-19 20:52:49 +01:00
qcom ASoC: qcom: lpass-cpu: Make I2S SD lines configurable 2020-05-05 13:17:23 +01:00
rockchip ASoC: rockchip: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:45 +00:00
samsung ASoC: samsung: s3c24xx-i2s: Fix build after removal of DAI suspend/resume 2020-04-14 12:16:22 +01:00
sh SoC: rsnd: add interrupt support for SSI BUSIF buffer 2020-05-12 10:56:21 +01:00
sirf
sof ASoC: SOF: imx: make imx8m_dsp_ops static 2020-05-18 13:24:59 +01:00
spear
sprd ASoC: sprd: use snd_compress_ops 2020-04-21 19:01:59 +01:00
sti
stm ASoC: stm32: sai: fix sai probe 2020-04-17 19:37:14 +01:00
sunxi ASoC: sunxi: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:50 +00:00
tegra ASoC: tegra: tegra_wm8903: Use devm_snd_soc_register_card() 2020-04-28 16:40:36 +01:00
ti ASoC: ti: use snd_soc_xxx_active() 2020-05-18 16:15:13 +01:00
txx9 ASoC: txx9: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:53 +00:00
uniphier ASoC: uniphier: use snd_soc_xxx_active() 2020-05-18 16:15:14 +01:00
ux500 ASoC: ux500: mop500: Fix some refcounted resources issues 2020-05-12 17:14:34 +01:00
xilinx
xtensa ASoC: xtensa: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:55 +00:00
zte ASoC: zte: zx-tdm: remove redundant variables dev 2020-03-11 17:59:49 +00:00
Kconfig
Makefile
soc-ac97.c
soc-acpi.c
soc-component.c ASoC: soc-component: tidyup snd_soc_pcm_component_sync_stop() 2020-02-28 17:06:09 +00:00
soc-compress.c ASoC: use snd_soc_xxx_active() 2020-05-18 16:15:03 +01:00
soc-core.c ASoC: use snd_soc_xxx_active() 2020-05-18 16:15:03 +01:00
soc-dai.c ASoC: cleanup dai / component active code 2020-05-18 16:15:16 +01:00
soc-dapm.c ASoC: soc-dapm: use snd_soc_dai_activate()/deactivate() 2020-05-18 16:15:00 +01:00
soc-devres.c
soc-generic-dmaengine-pcm.c ASoC: soc: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-04-14 14:00:44 +01:00
soc-io.c
soc-jack.c
soc-ops.c ASoC: fix regwmask 2020-03-30 18:22:36 +01:00
soc-pcm.c ASoC: use snd_soc_xxx_active() 2020-05-18 16:15:03 +01:00
soc-topology.c Merge series "Add support for SOF on i.MX8M" from Daniel Baluta <daniel.baluta@oss.nxp.com> 2020-04-16 00:23:20 +01:00
soc-utils.c