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