linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Dan Malek <dan@embeddededge.com>
To: Borracini Evandro-R45188 <Evandro.Borracini@motorola.com>
Cc: "'dmalek@jlc.net'" <dmalek@jlc.net>,
	linuxppc-embedded@lists.linuxppc.org
Subject: Re: CS4218 sound driver
Date: Mon, 07 Jan 2002 10:39:48 -0500	[thread overview]
Message-ID: <3C39C144.7090202@embeddededge.com> (raw)
In-Reply-To: 69AB2E42243FD511920200805FE64EAD0E367D@zbr01exm01.spo.br.mot.com


Borracini Evandro-R45188 wrote:


> You wrote the cs4218_tdm sound driver, right?

Yes.

> I would like to use your cs4218 driver on my MPC823 board but I don't know how to connect an audio codec to the TDM.


There are many, many ways to configure codecs to match a hardware and software
interface.  Not all (and I don't think any Motorola :-) codecs lend themselves
to an efficient hardware connection to the TDM along with useful software features.

The CS4218 codec (and others in this family) work well with the TDM interface and
provide the features we want for professinal audio. First of all, you need to choose a
codec that will source a very accurate clock, or provide some external hardware to
do so.  The MPC8xx can't source a clock that is useful for standard sampling frequencies.
The driver is a trivial implementation of TDM data transfer to/from the codec, and is
also specific to the Embedded Planet HIOX card because all codec control is performed
through GPIO pins and the SPI.  About 95% of this driver is taken from the PowerMac
dmasound driver, since they are logically very similar.

> Do you  know ( or does anyone in linuxppc list know) were I can find the hardware schematic  for the cs4218_tdm driver?

It's actually pretty simple.  Get a CS4218 data sheet and look at the signals.  The
clock is obvious, the frame pulse, tx/rx are connected to the TDM.  In a default
mode, this is all you need to make it work.  We then connected the mode pins to a
GPIO register to select the sampling frequency, and the SPI is connected to the CS4218
control interface to provide gain/level control.  I didn't use the 8xx SPI controller
because the overhead was too high.  I just software-clocked the bits on the pins.

Have fun.

	-- Dan


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

      reply	other threads:[~2002-01-07 15:39 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-01-07 13:01 CS4218 sound driver Borracini Evandro-R45188
2002-01-07 15:39 ` Dan Malek [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3C39C144.7090202@embeddededge.com \
    --to=dan@embeddededge.com \
    --cc=Evandro.Borracini@motorola.com \
    --cc=dmalek@jlc.net \
    --cc=linuxppc-embedded@lists.linuxppc.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).