From: Jassi Brar jassi.brar@samsung.com
Hi,
Submitting revised patch series.
Since v2: a) Divided 'ASoC Samsung Add common I2S driver' into two. b) 'ARM Samsung Rename s3c64xx I2S platform device' based on plat tree
As Kgene agreed to prepare a branch for Mark, platform related changes are based on his tree wherever possible.
Patches for Kgene will be posted on Arm-Linux ml and those for Mark Brown, on ALSA ml, now that people have already 'seen' two versions of the patch series with same code but different segregation.
Here is overview of patches:-
For Kgene:- ************ S5PV310: DMA: Add platform devices for PL330 DMACs ARM: Samsung: Rename s3c64xx I2S platform device ARM: Samsung: Prepare audio header for new I2S driver ARM: S3C64XX: I2S: Upgrade platform device ARM: S5P64X0: I2S: Upgrade platform device ARM: S5P6442: I2S: Upgrade platform device ARM: S5PC100: I2S: Upgrade platform device ARM: S5PV210: I2S: Upgrade platform device ARM: S5PV310: Add audio platform devices
For Mark :- *********** ASoC: Samsung: Remove redundant AQUILA driver ASoC: Samsung: Rename DMA device ARM: Samsung: Define common audio-dma device ASoC: Samsung: Rename ASoC DMA driver ASoC: Samsung: Rename AC97 platform device ASoC: Samsung: Rename AC97 driver ASoC: Samsung: Rename PCM driver ASoC: Samsung: Generalize DMA driver namespace ASoC: Samsung: Rename s3c64xx I2S device ASoC: Samsung: Add common I2S driver ASoC: SMARTQ: Move to use new I2S driver ASoC: GONI: Move to use new I2S driver ASoC: SMDK64XX: Move to use new I2S driver ASoC: S3C64XX: Remove obsoleted I2S drivers ASoC: SMDK64XX: Rename for other platforms ASoC: SMDK_WM8580: Enable for SMDKC100 ASoC: Samsung: Generalize Kconfig symbols ASoC: Samsung: Rename from s3c24xx to samsung
Thanks.
*************************************************
Since v1: a) Use case 16 in set_bfs and default for error b) Better code comments. c) Use switch case in i2sv2_i2s_set_clkdiv d) Use SNDRV_PCM_RATE_8000_96000 e) MAX_I2S -> SAMSUNG_I2S_SECOFF f) Local namespace cleanup with i2s driver. ------------
Here come patches overhauling the Samsung ASoC support.
The AC97, PCM, SPDIF and ASoC-DMA related code has merely undergone cosmetic changes - symbol, device & driver renaming and file moving.
A new I2S controller driver has been added to manage Samsung SoCs since S3C64XX. Older driver has been changed only as is necessary. Regarding I2S, I have left the s3c24xx series untouched because the controllers are too different to run by a common driver. S3C2412's I2S does have some similarities, but not important enough to warrant impact on new driver design. The new I2S driver has been designed around the notion of features/quirks. The newer SoCs have revised version of I2S_0(usually) than previous ones. So, I2S block is 'specified' in the platform code and the driver works on that configuration. For now, Secondary I2S DAI works only with System-DMAC. I2S-Internal DMA and SRAM will be enabled later.
Testing:- Simple testing of 5.1 channel and hardware mixing seems to work (though there seems to be some issue with symmetric_rates in soc-core.c which would be tried to fix later as saperate issue). I would appreciate any test-results for GONI and SMARTQ.
I suggest the patches 13,14,16 & 17 go via Kgene's Tree, and the rest via ASoC tree due to tight dependencies.
1). ASoC: Samsung: Remove redundant AQUILA driver 2). ASoC: Samsung: Rename DMA device 3). ARM: Samsung: Define common audio-dma device 4). ASoC: Samsung: Rename ASoC DMA driver 5). ASoC: Samsung: Rename AC97 platform device 6). ASoC: Samsung: Rename AC97 driver 7). ASoC: Samsung: Rename PCM driver 8). ASoC: Samsung: Generalize DMA driver namespace 9). ASoC: Samsung: Rename s3c64xx I2S device 10). ASoC: Samsung: Add common I2S driver 11). ARM: S3C64XX: I2S: Upgrade platform device 12). ARM: S5P6440: I2S: Upgrade platform device 13). ARM: S5P6442: I2S: Upgrade platform device 14). ARM: S5PC100: I2S: Upgrade platform device 15). ARM: S5PV210: I2S: Upgrade platform device 16). ARM: S5PV310: Add audio platform devices 17). ASoC: SMARTQ: Move to use new I2S driver 18). ASoC: GONI: Move to use new I2S driver 19). ASoC: SMDK64XX: Move to use new I2S driver 20). ASoC: S3C64XX: Remove obsoleted I2S drivers 21). ASoC: SMDK64XX: Rename for other platforms 22). ASoC: SMDK_WM8580: Enable for SMDKC100 23). ASoC: Samsung: Generalize Kconfig symbols 24). ASoC: Samsung: Rename from s3c24xx to samsung