[MinnowBoard] Where is the MBM I2S driver in Linux

Darren Hart dvhart at linux.intel.com
Mon Jun 1 20:11:39 UTC 2015


On 5/30/15 7:17 PM, li yuqian wrote:
> i checked the mainline kernel, seems there is a I2S driver with DMA for
> the MBM, if i want use I2S to connect a codec, where i can find the MBM
> i2s driver?

Thanks to Kevin Strasser for educating me on the various components.

There isn't an I2S bus driver like there is for SPI, I2C, etc. There are
three components:

1) LPE Firmware for the SoC
This communicates directly with the ADSP and I2S hw. You can find a
build for Baytrail in the upstream linux-firmware repo, named:
"fw_sst_0f28.bin-48kHz_i2s_master". This will need to get installed to
the rootfs as "/lib/firmware/intel/fw_sst_0f28.bin-48kHz_i2s_master".

2) Machine-codec specific driver
Assuming you are using the latest upstream kernel sources, you can find
all the LPE machine drivers in "sound/soc/intel/boards". A corresponding
machine driver for a Bay Trail SoC using the max98090 codec is
"sound/soc/intel/boards/byt-max98090.c". The machine driver depends on
the codec driver and LPE platform driver. LPE platform driver files for
BYT: "sound/soc/intel/baytrail/*"

3) Codec driver
For example: "sound/soc/codecs/max98090.c"


-- 
Darren Hart
Intel Open Source Technology Center


More information about the elinux-MinnowBoard mailing list