linux/sound/soc
Mark Brown 26cc239f9e
ASoC: mediatek: Set i2s clock sharing from machine drivers
Merge series from Nícolas F. R. A. Prado <nfraprado@collabora.com>:

The i2s ports on MediaTek SoCs only support a single data lane. In order
to achieve full-duplex operation thus two i2s ports, one for input and
one for output, need to be used together and sharing a single clock from
one of the ports.

This clock sharing setting was previously read by the sound platform
driver from the devicetree, but given that the input/output pairing is
closely related to which codecs are connected to which ports, the
machine sound driver can infer and set it, so that no DT property is
required.

At this point only mt8183-kukui was using the DT property, but given
that this property was never documented, and that the API introduced in
this series makes it obsolete, the undocumented DT property can safely
be removed.

This series adds a function to allow setting the i2s shared clocks,
makes use of it in the machine drivers as required, and removes the no
longer required DT properties and support for them in the drivers, for
all of mt8192, mt8183 and mt8186.

Nícolas F. R. A. Prado (10):
  ASoC: mediatek: mt8192: Allow setting shared clocks from machine
    driver
  ASoC: mediatek: mt8192-mt6359: Make i2s9 share the clock from i2s8
  ASoC: mediatek: mt8192: Remove clock share parsing from DT
  ASoC: mediatek: mt8183: Allow setting shared clocks from machine
    driver
  ASoC: mediatek: mt8183: Configure shared clocks
  ASoC: mediatek: mt8183: Remove clock share parsing from DT
  arm64: dts: mediatek: kukui: Remove i2s-share properties
  ASoC: mediatek: mt8186: Allow setting shared clocks from machine
    driver
  ASoC: mediatek: mt8186: Configure shared clocks
  ASoC: mediatek: mt8186: Remove clock share parsing from DT

 .../arm64/boot/dts/mediatek/mt8183-kukui.dtsi |  5 --
 sound/soc/mediatek/mt8183/mt8183-afe-common.h |  3 ++
 .../mediatek/mt8183/mt8183-da7219-max98357.c  | 33 +++++++++++++
 sound/soc/mediatek/mt8183/mt8183-dai-i2s.c    | 45 ++++++++---------
 .../mt8183/mt8183-mt6358-ts3a227-max98357.c   | 33 +++++++++++++
 sound/soc/mediatek/mt8186/mt8186-afe-common.h |  3 ++
 sound/soc/mediatek/mt8186/mt8186-dai-i2s.c    | 44 ++++++++---------
 .../mt8186/mt8186-mt6366-da7219-max98357.c    | 18 +++++++
 .../mt8186/mt8186-mt6366-rt1019-rt5682s.c     | 18 +++++++
 sound/soc/mediatek/mt8192/mt8192-afe-common.h |  3 ++
 sound/soc/mediatek/mt8192/mt8192-dai-i2s.c    | 49 ++++++++-----------
 .../mt8192/mt8192-mt6359-rt1015-rt5682.c      |  9 ++++
 12 files changed, 180 insertions(+), 83 deletions(-)

--
2.37.3
2022-09-09 23:45:15 +01:00
..
adi ASoC: adi: Migrate to new style legacy DAI naming flag 2022-06-27 13:16:34 +01:00
amd ASoC: amd: fix spelling mistake: "i.e" -> "i.e." 2022-08-30 18:59:12 +01:00
apple ASoC: apple: mca: Postpone requesting of DMA channels 2022-09-05 13:09:41 +01:00
atmel ASoC: atmel_ssc_dai: Remove the unneeded result variable 2022-08-23 13:04:51 +01:00
au1x ASoC: au1x: Migrate to new style legacy DAI naming flag 2022-06-27 13:16:39 +01:00
bcm sound updates for 6.0-rc1 2022-08-06 10:19:51 -07:00
cirrus ASoC: ep93xx: Migrate to new style legacy DAI naming flag 2022-06-27 13:16:20 +01:00
codecs ASoC: hdmi-codec.c: use devm_kzalloc() for DMA data 2022-09-09 22:27:08 +01:00
dwc ASoC: dwc: Migrate to new style legacy DAI naming flag 2022-06-27 13:16:35 +01:00
fsl ASoC: fsl_asrc: Add initialization finishing check in runtime resume 2022-09-09 22:27:08 +01:00
generic ASoC: simple-card-utils: switch to using gpiod API 2022-09-07 12:42:22 +01:00
hisilicon ASoC: hisilicon: Migrate to new style legacy DAI naming flag 2022-06-27 13:16:24 +01:00
img ASoC: Refactor non_legacy_dai_naming flag 2022-06-29 16:58:08 +01:00
intel ASoC: Intel: HSW and BDW updates 2022-08-16 17:33:11 +01:00
jz4740 ASoC: jz4740-i2s: Remove unused 'mem' resource 2022-07-20 21:43:53 +01:00
kirkwood
mediatek ASoC: mediatek: mt8186: Remove clock share parsing from DT 2022-09-09 18:49:02 +01:00
meson ASoC: meson: Remove now redundant non_legacy_dai_naming flag 2022-06-27 13:16:48 +01:00
mxs ASoC: mxs-saif: Migrate to new style legacy DAI naming flag 2022-06-27 13:16:43 +01:00
pxa ASoC: pxa: Migrate to new style legacy DAI naming flag 2022-06-27 13:16:40 +01:00
qcom ASoC: qcom: qdsp6: q6prm: add new clocks 2022-08-17 13:00:28 +01:00
rockchip ASoC: rockchip-i2s: Undo BCLK pinctrl changes 2022-07-14 13:25:52 +01:00
samsung ASoC: samsung: Use iio_get_channel_type() accessor. 2022-08-22 14:07:22 +01:00
sh ASoC: rsnd: Add check for rsnd_mod_power_on 2022-09-02 13:27:16 +01:00
sof ASoC: SOF: Intel: Add mtrace type information for IPC4 2022-09-09 18:48:50 +01:00
spear ASoC: spear: Migrate to new style legacy DAI naming flag 2022-06-27 13:16:18 +01:00
sprd
sti ASoC: sti-uniperf: Migrate to new style legacy DAI naming flag 2022-06-27 13:16:29 +01:00
stm ASoC: stm32: Migrate to new style legacy DAI naming flag 2022-06-27 13:16:20 +01:00
sunxi ASoC: Refactor non_legacy_dai_naming flag 2022-06-29 16:58:08 +01:00
tegra ASoC: tegra: tegra20_das: Drop write-only driver data member 2022-07-05 19:54:00 +01:00
ti ASoC: ti: omap-mcbsp: remove useless assignment 2022-08-31 12:13:05 +01:00
uniphier ASoC: uniphier: Remove now redundant non_legacy_dai_naming flag 2022-06-27 13:16:55 +01:00
ux500 ASoC: ux500: Migrate to new style legacy DAI naming flag 2022-06-27 13:16:41 +01:00
xilinx ASoC: xilinx: Suppress second error message about reset failure in .remove() 2022-07-05 16:44:31 +01:00
xtensa ASoC: xtensa: Migrate to new style legacy DAI naming flag 2022-06-27 13:16:33 +01:00
Kconfig ASoC: apple: mca: Start new platform driver 2022-08-25 13:51:34 +01:00
Makefile ASoC: apple: mca: Start new platform driver 2022-08-25 13:51:34 +01:00
soc-ac97.c ASoC: Variable type completion 2022-08-17 13:00:27 +01:00
soc-acpi.c
soc-card.c ASoC: Introduce 'fixup_controls' card method 2022-06-10 13:32:20 +01:00
soc-component.c ASoC: soc-component: Update handling to component delays 2022-05-16 12:58:41 +01:00
soc-compress.c
soc-core.c ASoC: core: Replace sprintf() with sysfs_emit() 2022-08-15 01:19:49 +01:00
soc-dai.c ASoC: Change handling of unimplemented set_bclk_ratio 2022-08-19 13:19:59 +01:00
soc-dapm.c ASoC: soc-dapm.c: tidyup snd_soc_dai_link_event_pre_pmu() 2022-09-08 11:39:40 +01:00
soc-devres.c
soc-generic-dmaengine-pcm.c ASoC: soc-generic-dmaengine-pcm: Use default config when none is given 2022-05-04 15:31:19 +01:00
soc-jack.c
soc-link.c
soc-ops.c ASoC: ops: Fix integer detection for when max possible values > 1 2022-06-17 18:25:23 +01:00
soc-pcm.c ASoC: soc-pcm.c: check fe condition at out of loop 2022-09-05 13:09:07 +01:00
soc-topology-test.c ASoC: topology: KUnit: Remove now redundant non_legacy_dai_naming flag 2022-06-27 13:16:54 +01:00
soc-topology.c ASoC: topology: Drop superfluous check of CONFIG_SND_CTL_VALIDATION 2022-06-15 07:45:26 +02:00
soc-utils-test.c ASoC: soc-utils-test: Add test for snd_soc_params_to_bclk() 2022-08-17 15:19:14 +01:00
soc-utils.c ASoC: soc-utils: Improve kerneldoc for snd_soc_tdm_params_to_bclk() 2022-08-15 17:23:26 +01:00