[alsa-devel] Community MC13783 driver for Asynchronous DAI mode

Edison edison_xu1981 at 163.com
Mon Apr 18 04:45:24 CEST 2016


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
 



More information about the Alsa-devel mailing list