Looking for guidance for porting home made audio driver to ASoC/FSL
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
participants (1)
-
Christophe Leroy