Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/13] ASoC: ti: davinci-i2s: Add features to McBSP driver
@ 2024-04-02  7:12 Bastien Curutchet
  2024-04-02  7:12 ` [PATCH v2 01/13] ASoC: dt-bindings: davinci-mcbsp: convert McBSP bindings to yaml schema Bastien Curutchet
                   ` (14 more replies)
  0 siblings, 15 replies; 17+ messages in thread
From: Bastien Curutchet @ 2024-04-02  7:12 UTC (permalink / raw)
  To: Liam Girdwood, Mark Brown, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Peter Ujfalusi, Jaroslav Kysela, Takashi Iwai,
	Bastien Curutchet
  Cc: linux-sound, devicetree, linux-kernel, alsa-devel,
	Thomas Petazzoni, herve.codina, christophercordahi

This series aims to add some features to McBSP driver.

Convert bindings from .txt to .yaml.
Add possibility to use an external clock as sample rate generator's
input.
Add handling of new formats (TDM, S24_LE, BP_FC).
Enable the detection of unexpected frame pulses.
Set the clock free-running mode according to SND_SOC_DAIFMT_[GATED/CONT]
configuration in DAI format.
Add ti,T1-framing[tx/rx] properties in DT. They allow to set the data
delay to two bit-clock periods.

This has been tested on a platform designed off of the DAVINCI/OMAP-L138
connected to 3 daisy-chained AD7767. An external clock drives the
sample rate generator through the CLKS pin.
The hardware I have only allowed me to test acquisition side of McBSP.
It is connected to a 6 channels TDM and acts as Bit clock provider and
Frame clock consumer.

Change log v1 -> v2:
  PATCH 1 (bindings):
     * Drop power-domains property's description
     * Drop the unused label 'mcbsp0' in example
     * Add <> around each entry of the 'dmas' property
     * Add 'Reviewed-by: Rob Herring <robh@kernel.org>'
  PATCH 2 (bindings):
     * Drop the 'ti,enable-sync-err' flag
     * Drop the 'ti,disable-free-run' flag
     * Add 'Reviewed-by: Rob Herring <robh@kernel.org>'
  PATCH 4:
     * In probe() use dev_err for fixed error
  PATCH 7 (TDM):
     * set playback.max_channels to 128
     * Add a check on tx_mask as the one done for rx_mask
     * Allow TDM with BP_FP format
  PATCH 9:
     * Detection of unexpected frame pulses is enabled by default
  PATCH 10:
     * Free-running mode is selected by the DAI format through
       SND_SOC_DAIFMT_[CONT/GATED]
  PATCH 12:
     * drop the 'ti,drive-dx' property
     * add 'ti,T1-framing-[rx/tx]' properties
  PATCH 13:
     * Drop the drive_dx part
     * Add support for 'T1 framing' with data delay set to 2 bit-clock
       periods
Bastien Curutchet (13):
  ASoC: dt-bindings: davinci-mcbsp: convert McBSP bindings to yaml
    schema
  ASoC: dt-bindings: davinci-mcbsp: Add optional clock
  ASoC: ti: davinci-i2s: Remove the unused clk_input_pin attribute
  ASoC: ti: davinci-i2s: Replace dev_err with dev_err_probe
  ASoC: ti: davinci-i2s: Use external clock to drive sample rate
    generator
  ASoC: ti: davinci-i2s: Delete unnecessary assignment
  ASoC: ti: davinci-i2s: Add TDM support
  ASoC: ti: davinci-i2s: Add handling of BP_FC format
  ASoC: ti: davinci-i2s: Enable unexpected frame pulses detection
  ASoC: ti: davinci-i2s: Link free-run mode to
    SND_SOC_DAIFMT_[GATED/CONT]
  ASoC: ti: davinci-i2s: Add S24_LE to supported formats
  ASoC: dt-bindings: davinci-mcbsp: Add the 'ti,T1-framing-{rx/tx}'
    flags
  ASoC: ti: davinci-i2s: Add T1 framing support

 .../bindings/sound/davinci-mcbsp.txt          |  50 ----
 .../bindings/sound/davinci-mcbsp.yaml         | 113 +++++++
 include/linux/platform_data/davinci_asp.h     |  15 -
 sound/soc/ti/davinci-i2s.c                    | 278 ++++++++++++++----
 4 files changed, 333 insertions(+), 123 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/sound/davinci-mcbsp.txt
 create mode 100644 Documentation/devicetree/bindings/sound/davinci-mcbsp.yaml

-- 
2.44.0


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

end of thread, other threads:[~2024-04-09 23:38 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-02  7:12 [PATCH v2 00/13] ASoC: ti: davinci-i2s: Add features to McBSP driver Bastien Curutchet
2024-04-02  7:12 ` [PATCH v2 01/13] ASoC: dt-bindings: davinci-mcbsp: convert McBSP bindings to yaml schema Bastien Curutchet
2024-04-02  7:12 ` [PATCH v2 02/13] ASoC: dt-bindings: davinci-mcbsp: Add optional clock Bastien Curutchet
2024-04-02  7:12 ` [PATCH v2 03/13] ASoC: ti: davinci-i2s: Remove the unused clk_input_pin attribute Bastien Curutchet
2024-04-02  7:12 ` [PATCH v2 04/13] ASoC: ti: davinci-i2s: Replace dev_err with dev_err_probe Bastien Curutchet
2024-04-02  7:12 ` [PATCH v2 05/13] ASoC: ti: davinci-i2s: Use external clock to drive sample rate generator Bastien Curutchet
2024-04-02  7:12 ` [PATCH v2 06/13] ASoC: ti: davinci-i2s: Delete unnecessary assignment Bastien Curutchet
2024-04-02  7:12 ` [PATCH v2 07/13] ASoC: ti: davinci-i2s: Add TDM support Bastien Curutchet
2024-04-02  7:12 ` [PATCH v2 08/13] ASoC: ti: davinci-i2s: Add handling of BP_FC format Bastien Curutchet
2024-04-02  7:12 ` [PATCH v2 09/13] ASoC: ti: davinci-i2s: Enable unexpected frame pulses detection Bastien Curutchet
2024-04-02  7:12 ` [PATCH v2 10/13] ASoC: ti: davinci-i2s: Link free-run mode to SND_SOC_DAIFMT_[GATED/CONT] Bastien Curutchet
2024-04-02  7:12 ` [PATCH v2 11/13] ASoC: ti: davinci-i2s: Add S24_LE to supported formats Bastien Curutchet
2024-04-02  7:12 ` [PATCH v2 12/13] ASoC: dt-bindings: davinci-mcbsp: Add the 'ti,T1-framing-{rx/tx}' flags Bastien Curutchet
2024-04-02 17:32   ` Rob Herring
2024-04-02  7:12 ` [PATCH v2 13/13] ASoC: ti: davinci-i2s: Add T1 framing support Bastien Curutchet
2024-04-09 14:39 ` [PATCH v2 00/13] ASoC: ti: davinci-i2s: Add features to McBSP driver Péter Ujfalusi
2024-04-09 23:34 ` Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox