Overall this is mostly good, the main thing that's jumping out at me is that the SPORT API looks like it doesn't really have too many device specifics in it so it's a bit surprising that we need completely separate I2S and DMA drivers for the two chip generations.
These two sports are totally different, bf5xx is full duplex, while bf6xx is half duplex. So we combine two sports on bf6xx to one logic sport. I carefully reviewed these drivers, only dma driver can be merged to one. Do I need to do this?
config SND_BF5XX_SOC_SSM2602 tristate "SoC SSM2602 Audio support for BF52x ezkit"
This bit also needs updating...
Do you mean config name or prompt?
+void sport_tx_start(struct sport_device *sport) +{
Is it not possible to make the SPORT API the same between the 5xx and the 6xx such that we can share all the drivers between the two chip generations with just the SPORT code varying?
The dai driver introduce too many chip specific settings in the bf5xx design. Also sport behavior has many differences, for example tx and rx channel is not independent on bf5xx. I need to use many macros to seperate these differences.