linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v7 0/2] ASoC: fsl-asoc-card: add S/PDIF controller support
@ 2024-08-20 11:28 Elinor Montmasson
  2024-08-20 11:28 ` [PATCH v7 1/2] arm64: dts: imx8m: update spdif sound card node properties Elinor Montmasson
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Elinor Montmasson @ 2024-08-20 11:28 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Fabio Estevam, Russell King, Mark Brown
  Cc: Pengutronix Kernel Team, Shengjiu Wang, Xiubo Li, devicetree, imx,
	linux-arm-kernel, linux-kernel, alsa-devel, Elinor Montmasson

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=quoted-printable, Size: 6045 bytes --]

Hello,

This is the v7 of the series of patches aiming to make the machine
driver 'fsl-asoc-card' compatible with S/PDIF controllers on imx boards.

The core of the contribution was merged with v6 of the series.
v7 fixes the order of properties for new nodes in device-trees
so that `compatible` is first in the list as recommended.

These two patches update all in-tree device-trees to use the new
'fsl-asoc-card' properties.
Note that as the old properties are still supported by `fsl-asoc-card`:
- previous versions of in-tree device-trees are still supported.
- out-of-tree device-trees are still supported.

This series of patches was successfully built for arm64 and x86 on top
of the latest "for-next" branch of the ASoC git tree on the 19th of
August 2024.
These modifications have also been tested on an i.MX8MN evaluation board
with a linux kernel RT v6.1.26-rt8.

Best regards,
Elinor Montmasson


Changelog:
v6 -> v7:
- Changed the order of properties in new device-tree spdif-in/out nodes,
  so that `compatible` is first.
- v6 patch series at:
https://lore.kernel.org/all/20240627083104.123357-1-elinor.montmasson@savoirfairelinux.com/

v5 -> v6:
- Remove applied patch "ASoC: fsl-asoc-card: set priv->pdev before using
  it".
- Add backward compatibility with `imx-spdif` DT properties.
- Squash removal of `imx-spdif.yaml` into patch updating
  `fsl-asoc-card.yaml`.
- `fsl-asoc-card.yaml`: fix indentation, document use of compatible
  "fsl,imx-audio-spdif" only with "fsl,imx-sabreauto-spdif" or
  "fsl,imx6sx-sdb-spdif".
- Explain better in commit messages why there are new DT properties that
  can be used with "fsl,imx-audio-spdif" and what are the benefits to
  use them.
- v5 patch series at:
https://lore.kernel.org/all/20240620132511.4291-1-elinor.montmasson@savoirfairelinux.com/

v4 -> v5:
- Focus the contribution to bringing S/PDIF / ASRC support.
- Instead of creating a new compatible for the S/PDIF `fsl-asoc-card`
  support, merge the driver `imx-spdif` into `fsl-asoc-card`, and keep
  the compatible. It preserves the base S/PDIF audio card support
  but also extends it with the possibility to use an ASRC.
  It also reduces code and driver duplication.
- Following driver merge, adapt device trees using "fsl,imx-audio-spdif"
  compatible. 
- Use more `for_each_codecs` macros in `fsl-asoc-card` when adding
  multi-codec support.
- Remove patches about new device-tree bindings that were not relevant
  for an S/PDIF specific support.
- Improve DT schema changes.
- Move `priv->pdev` assignment earlier in "fsl_asoc_card_probe()" to fix
  a NULL pointer dereference in "fsl_asoc_card_audmux_init()".
- v4 patch series at:
https://lore.kernel.org/all/20240515135411.343333-1-elinor.montmasson@savoirfairelinux.com/

v3 -> v4:
- Use the standard TDM bidings, as defined in "tdm-slot.txt", for the
  new optional DT bindings setting the TDM slots number and width.
- Use the clock DT bindings to optionally specify the CPU DAI system
  clock frequency, instead of a dedicated new binding.
- Rename the new DT binding "cpu-sysclk-dir-out" to
  "cpu-system-clock-direction-out" to better follow the style of the
  simple-card driver.
- Merge TX an RX bindings for CPU DAI system-clock, to better follow the
  style of the simple-card driver, and also as there was no use case in
  fsl-asoc-card where TX and RX settings had to be different.
- Add the documentation for the new bindings in the new DT schema
  bindings documentation. Also add an example with the generic codec.
- v3 patch series at:
https://lore.kernel.org/alsa-devel/20231218124058.2047167-1-elinor.montmasson@savoirfairelinux.com/

v2 -> v3:
- When the bitmaster or framemaster are retrieved from the device tree,
  the driver will now compare them with the two codecs possibly given in
device tree, and not just the first codec.
- Improve driver modifications to use multiple codecs for better
  integration of future multi-codec use cases:
    * Use `for_each_codec` macros when possible.
    * `fsl_asoc_card_priv` struct now has 2 `codec_priv` as the driver
    * can currently retrieve 2 codec phandles from the device tree.
- Fix subject of patch 10/10 to follow the style of the subsystem
- v2 patch series at:
https://lore.kernel.org/alsa-devel/20231027144734.3654829-1-elinor.montmasson@savoirfairelinux.com/

v1 -> v2:
- Replace use of the dummy codec by the pair of codecs spdif_receiver /
  spdif_transmitter.
- Adapt how dai links codecs are used to take into account the
  possibility for multiple codecs per link.
- Change compatible name.
- Adapt driver to be able to register two codecs given in the device
  tree.
- v1 patch series at:
https://lore.kernel.org/alsa-devel/20230901144550.520072-1-elinor.montmasson@savoirfairelinux.com/


Elinor Montmasson (2):
  arm64: dts: imx8m: update spdif sound card node properties
  ARM: dts: imx6: update spdif sound card node properties

 arch/arm/boot/dts/nxp/imx/imx6q-cm-fx6.dts    | 15 +++++++++---
 arch/arm/boot/dts/nxp/imx/imx6q-prti6q.dts    | 15 +++++++++---
 arch/arm/boot/dts/nxp/imx/imx6q-tbs2910.dts   |  9 +++++--
 arch/arm/boot/dts/nxp/imx/imx6qdl-apalis.dtsi | 15 +++++++++---
 .../arm/boot/dts/nxp/imx/imx6qdl-apf6dev.dtsi |  9 +++++--
 .../arm/boot/dts/nxp/imx/imx6qdl-colibri.dtsi | 15 +++++++++---
 .../arm/boot/dts/nxp/imx/imx6qdl-cubox-i.dtsi |  9 +++++--
 .../dts/nxp/imx/imx6qdl-hummingboard.dtsi     |  9 +++++--
 .../boot/dts/nxp/imx/imx6qdl-sabreauto.dtsi   |  9 +++++--
 .../boot/dts/nxp/imx/imx6qdl-wandboard.dtsi   |  9 +++++--
 .../arm/boot/dts/nxp/imx/imx6sx-sabreauto.dts |  9 +++++--
 arch/arm/boot/dts/nxp/imx/imx6sx-sdb.dtsi     |  9 +++++--
 arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi | 15 +++++++++---
 arch/arm64/boot/dts/freescale/imx8mn-evk.dtsi | 15 +++++++++---
 arch/arm64/boot/dts/freescale/imx8mq-evk.dts  | 24 +++++++++++++++----
 15 files changed, 147 insertions(+), 39 deletions(-)

-- 
2.34.1



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-09-01  1:18 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-20 11:28 [PATCH v7 0/2] ASoC: fsl-asoc-card: add S/PDIF controller support Elinor Montmasson
2024-08-20 11:28 ` [PATCH v7 1/2] arm64: dts: imx8m: update spdif sound card node properties Elinor Montmasson
2024-08-20 11:28 ` [PATCH v7 2/2] ARM: dts: imx6: " Elinor Montmasson
2024-09-01  1:16 ` [PATCH v7 0/2] ASoC: fsl-asoc-card: add S/PDIF controller support Shawn Guo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).