On Fri, Sep 10, 2010 at 6:39 PM, Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote: > On Fri, Sep 10, 2010 at 05:43:14PM +0900, Jassi Brar wrote: >> I plan to categorize the newer I2S blocks into i2s_v2(s3c2412), >> i2s_v3(v2 with minor variation in >> reg field order), i2s_v4 (v3 plus 5.1 channel support) and v5 (v4 plus >> Secondary Stereo-Channel >> for h/w mixing support). A new flag 'version' in 'struct >> s3c_audio_pdata' passed via >> platform_data can be used to differentiate quirks and features >> run-time in a single CPU driver. > > As I've said in the past the concern I have with all this stuff is that > outside of Samsung there's no documentation of the IIS block versions or > their relationships, the only references I've seen to versions have been > for chips with multiple versions (like the 6410) and there it's just a > mention that versions exist and the register documentation is completely > cut'n'pasted. All this info could be gotten by comparing the I2S chapters of relevant SoCs... which is what I do. I don't have any special documentation either.... there is none. The only luxury I have is to be able to get clarifications via appropriate channels of info. > It would be good if you could make sure that any platform > data for identifying the versions is sufficiently clear to allow someone > to go from datasheet to knowing which IP version they have. Actually I plan to use enum for I2S types and assign them alongside platform_device definition of I2S blocks and their platform_data. Any I2S block that matches register description of 2-channel block of 6410 is v3, that with 5.1 is v4 and that with 5.1 of C100 is v5. There are no differentiating IDs to be read from any register. _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel