HI Community, I'm working on kernel upgrading from FSL BSP to community BSP for my customized IMX27 based board, everything works fine except problem when porting MC13783 audio device driver. On my board, the hardware schematic for audio part is the same as IMX27 ADS, in which MC13783 audio is connect to IMX27 with two SSI (SSI1/SS2). In the FSL 2.6.22 BSP, the design is the same as the hardware schematic, the ALSA driver use SS1 / SS2 as codec and DAC respectively. In the community BSP (4.X), I tried to assign two difference SSI port for MC13783 codec as below
/* MC13783 */
static struct mc13xxx_codec_platform_data mx27_ads_codec = {
.dac_ssi_port = MC13783_SSI2_PORT,
.adc_ssi_port = MC13783_SSI1_PORT,
};
In the community BSP, mc13783 audio driver will be bind to asynchronous MC13783 DAI for separated routing for AD/DA (mc13783.c), one called mc13783- hifi-playback and the other called mc13783-hifi-capture, but DAI bind will be certainly unsuccessful because in mc13783 sound soc driver (imx-mc13783.c), the dai_link name is fixed to "mc13783_hifi", so looks like the bind can only be successfully if we use synchronized mode (AD/DA use the same SSI port rather than different ports). That seems to be a big difference between community BSP and FSL BSP. My question:
1. Has someone used the synchronized DAI in their design with community kernel version? Is it works? (I cannot find any reference for mc13783-hifi- playback/mc13783-hifi-capture in the kernel source code)?
2. Can I use synchronized DAI (force ADC/DAC use same SSI) instead of asynchronous DAI on the community version to make audio works without hardware change? (Unfortunately I have done some experiments but seems not work).
Regards, Edison