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). Add optional properties in DT: - ti,enable-sync-err : Enable the detection of unexpected frame pulses - ti,disable-free-run : Disable the free-running mode where McBSP drives serial clocks during emulation halt - ti,drive-dx : Outputs a chosen pattern on DX pin during capture streams.
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.
Bastien Curutchet (13): ASoC: dt-bindings: davinci-mcbsp: convert McBSP bindings to yaml schema ASoC: dt-bindings: davinci-mcbsp: Add new properties 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: Make free-running mode optional ASoC: ti: davinci-i2s: Add S24_LE to supported formats ASoC: dt-bindings: davinic-mcbsp: Add the 'ti,drive-dx' property ASoC: ti: davinci-i2s: Opitonally drive DX pin during capture streams
.../bindings/sound/davinci-mcbsp.txt | 50 --- .../bindings/sound/davinci-mcbsp.yaml | 119 +++++++ include/linux/platform_data/davinci_asp.h | 15 - sound/soc/ti/davinci-i2s.c | 333 ++++++++++++++---- 4 files changed, 376 insertions(+), 141 deletions(-) delete mode 100644 Documentation/devicetree/bindings/sound/davinci-mcbsp.txt create mode 100644 Documentation/devicetree/bindings/sound/davinci-mcbsp.yaml