Looking for guidance for porting home made audio driver to ASoC/FSL

Christophe Leroy christophe.leroy at csgroup.eu
Sat Jul 4 12:49:07 EDT 2020


Hello

I'm looking for guidance for porting a home made audio driver to 
ASoC/FSL on a custom board.

The board has an MPC8321 freescale/NXP cpu. The board has a TDM bus 
connected to one of the cpu TDM port. On that TDM bus, there are three 
IDT 821034 quad codecs (PCM G.711) and an E1 chip that carries IP over E1.

Today, there is a home made audio driver providing raw read/write 
devices plus an home made WAN HDLC driver for the E1.

The CPU Quicc Engine (QE) is configured to connect the TDM port to one 
UCC. QUICC Multi-Channel Controller (QMC) is used to distribute E1 
timeslots to the HDLC driver and each of the 12 codec timeslots to the 
audio driver. (The QMC is able to manage two types of channels: 
transparent and HDLC).

We would like to make all this more standard and port it to use ALSA 
ASoC for the audio part, and the Freescale Quicc Engine HDLC. As of 
today, the Freescale QE HDLC wan driver uses the UCC directly, it 
doesn't interface through the QMC. And the FSL ASoC drivers seem to 
neither handle QE TDM via QE QMC nor QE UCC.

We are thinking about adding a QE QMC layer in driver/soc/fsl/ which 
would more or less present to the consumer the same kind of API as the 
FSL UCC layer, and enhance the WAN FSL HDLC driver to be able to use 
that new layer.

For the ALSA ASoC part, could some parts of existing FSL ASoC drivers be 
re-used of would we have to start implementing an ASoC from scratch ?

Any recommendation and/or guidance would be welcomed and appreciated.

Thanks in advance
Christophe



More information about the linux-arm-kernel mailing list