Re: [PATCH v2 00/13] ASoC: ti: davinci-i2s: Add features to McBSP driver

From: Péter Ujfalusi
Date: Tue Apr 09 2024 - 10:42:38 EST


Hi Bastien,

On 02/04/2024 10:12, Bastien Curutchet wrote:
> 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.

Nice and clean, thank you for the updates!

Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxxxxx>

PS: sorry for the delay.

>
> 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@xxxxxxxxxx>'
> PATCH 2 (bindings):
> * Drop the 'ti,enable-sync-err' flag
> * Drop the 'ti,disable-free-run' flag
> * Add 'Reviewed-by: Rob Herring <robh@xxxxxxxxxx>'
> 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
>

--
Péter