There are drivers in mainline for the Xilinx Audio Formatter and Xilinx I2S IP cores. However, because of a few issues, these were only really usable with Xilinx's xlnx_pl_snd_card top-level driver, which is not in mainline (and not suitable for mainline).
The fixes in this patchset, for the simple-card layer as well as the Xilinx drivers, now allow these drivers to be properly used with simple-card without any out-of-tree support code.
Changes since v1: -formatting fixes -renamed last_sysclk variables to sysclk -require exact match for clock divisor rather than rounding to nearest -broke out driver data structure change in xlnx_i2s to separate patch -added constraints for sample rate based on sysclk to xlnx_i2s -switched to separate function for DAI parsing for platforms in simple_card
Robert Hancock (6): ASoC: xilinx: xlnx_formatter_pcm: Make buffer bytes multiple of period bytes ASoC: xilinx: xlnx_formatter_pcm: Handle sysclk setting ASoC: xilinx: xlnx_i2s: create drvdata structure ASoC: xilinx: xlnx_i2s: Handle sysclk setting ASoC: simple-card: fix probe failure on platform component ASoC: simple-card-utils: Set sysclk on all components
sound/soc/generic/simple-card-utils.c | 15 +++ sound/soc/generic/simple-card.c | 26 ++++- sound/soc/xilinx/xlnx_formatter_pcm.c | 52 ++++++++- sound/soc/xilinx/xlnx_i2s.c | 147 +++++++++++++++++++------- 4 files changed, 200 insertions(+), 40 deletions(-)