From: Jianqun Xu xjq@rock-chips.com
This patch is to add driver for I2S controller in RK3xxx SoCs.
The only one change in this patch against which has been reviewed before is to fix randconfig build error with next-20140710 by add "#include <linux/module.h>".
Jianqun Xu (2): ASoC: dt-bindings: add rockchip i2s bindings
changes since v2: - change the description of dma-names, adviced by Mark - change the description of interrupts, adviced by Mark - list clock-names to be easy to read, adviced by Mark - modify compatible for rk3288 example, adviced by Mark and Heiko
changes since v1: - modify the description of clock-names property, adviced by Mark Rutland. - modify the example to fit for rk3288.
ASoC: add driver for Rockchip RK3xxx I2S controller
changes since v3: - fix randconfig build error with next-20140710 by add "#include <linux/module.h>" tested with config given by robot test.
changes since v2: - replace 4 with DMA_SLAVE_BUSWIDTH_4_BYTES - modify supported rate to SNDRV_PCM_RATE_8000_192000 - rename head file to "rockchi_i2s.h"
changes since v1: - proper indentation for function arguments, adviced by Varka Bhadram - replace sizeof(struct rk_i2s_dev) with sizeof(*i2s), adviced by Mark Rutland - not to include head files which are unused actually in driver, adviced by Mark Brown - modify i2s_tx_status/i2s_rx_status to more meaningful with tx_start/rx_start, adviced by Mark Brown - use regmap_update_bits to reduce the amount of time spent locked, adviced by Mark Brown - add warning for possible error while waiting for the hardware to be ready, adviced by Mark Brown - error checking for clk_set_rate, adviced by Mark Brown - error checking for i2s_runtime_resume, adviced by Mark Brown - remove set_clkdiv operation, clock setting will do it, adviced by Mark Brown - no need SND_SOC for SND_SOC_ROCKCHIP, also allow the driver to be select when COMPILE_TEST is selected, adviced by Lars-Peter Clausen - not to include head files which are unused actually in driver, adviced by Lars-Peter Clausen - I2S core just use one snd_soc_dai_driver struct, adviced by Lars-Peter Clausen - delete rockchip_pcm.c and related codes, use generic dmaengine API, adviced by Lars-Peter and Mark Brown - a driver should never attempt to change its own device name, just use the name that the kernel set, adviced by Lars-Peter and Mark Brown
.../devicetree/bindings/sound/rockchip-i2s.txt | 37 ++ sound/soc/Kconfig | 1 + sound/soc/Makefile | 1 + sound/soc/rockchip/Kconfig | 12 + sound/soc/rockchip/Makefile | 4 + sound/soc/rockchip/rockchip_i2s.c | 531 ++++++++++++++++++++ sound/soc/rockchip/rockchip_i2s.h | 223 ++++++++ 7 files changed, 809 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/rockchip-i2s.txt create mode 100644 sound/soc/rockchip/Kconfig create mode 100644 sound/soc/rockchip/Makefile create mode 100644 sound/soc/rockchip/rockchip_i2s.c create mode 100644 sound/soc/rockchip/rockchip_i2s.h