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