Re: the lowest level of AC97



On Apr 25, 10:03 am, m...@xxxxxxxxxxxxx wrote:
Braunne <firas.sha...@xxxxxxxxx> writes:
On Apr 23, 3:45 pm, m...@xxxxxxxxxxxxx wrote:
Braunne <firas.sha...@xxxxxxxxx> writes:
Hi,

Im trying to write a library to allow other apps to access the audio
codec (sound chip) using the AC 97' interface.

I looked at the Linux sound driver code (ac97.h, ac97.c and
ac97_codec.c) and I still cant figure out how the 'actual' controlling
the sound chip is done.

Lemme see if I can summarize my questions:

1) What is the lowest module that does the actual communication with
the AC97 interface?

I don't quite understand this question.

2) Whats method used to do the communication? Device I/O thru ports,
DMA, etc...

With ICH0-F7 you talk to the chip via memory mapped I/O. Mixer
controls notwithstanding this means setting up frequency (if the chip
supports VRA) and programming DMA (scatter/gatter sort of thing) and
inutiating transfer. Then (depending on how you set the control
registers) you get interrupts when individual buffers are completed.

3) Where can I find a general description of the whole process?

http://www.intel.com/design/chipsets/manuals/298028.htm

You can also look at the various emulations of ich0-f7 which might (or
might not) be easier to understand than the Intel's specification.

--
vale

I did look at most of Intel's ICHx manuals, but that didnt help a lot.
The closest thing I found to answer my questions was the FreeBSD
handbook, which I also use.

If you want to program the actual hardware then you will have to go
after specific cards specs, ICH0-F7 being one of them and there's no
better documentation (to the best of my knowlege at least). If your
goal (i still don't quite understand what it is) is something else
than please try explaining the problem in another way.

[..snip..]

--
vale

The reason why my questions seem to be vague or confusing is the lack
of knowledge on this subject.

We have a single board computer (SBC) with a Phillips UCB1400 audio
codec. Since that chip implements the AC97 interface, I thought it
might be advantageous to utilize the interface rather than programming
the chip directly. Of course audio programming using high-level API is
out of the question, due to performance constraints, as I found out
from my previous experience with Win32 multimedia functions.

At this point, two questions arise:

1) Is it possible to access the chip directly and how?
2) Would that give me a significant performance advantage over using
the interface?

Im aware that the resulting code will be hardware-specific and rather
complex whereas the code utilizing the interface wont.

Now, if I was to use the AC97 interface, a couple of questions come to
mind:

1) Using the AC97 interface how can I access a specific internal
registers of the codec?
2) Is the AC97 code cross-platform (e.g. WinCE)?

Looking at the link you sent more closely, I realize I have much to
learn.

Thank you

.



Relevant Pages

  • Re: A new S-100 Prototype board to interface with IDE hard disk drives and CF cards
    ... It's almost easier to interface IDE/CF to S100 without 8255. ... a 40 pin chip and also requires less bit twiddling as all either IDE ... upper 8 bits of sector data and read in 2x512 byte sectors. ...
    (comp.os.cpm)
  • Re: Possible fxp(4) problem in -CURRENT
    ... > through second functional interface and watch it more closely. ... > boxes in the subnet) but it could not receive any packet. ... With the fxp driver, ... - The chip has experienced an RX overrun, ...
    (freebsd-current)
  • Re: Possible fxp(4) problem in -CURRENT
    ... Sending packets from the box worked (its arp requests were ... >> entering and leaving promiscuous mode) on the interface resolved ... > - The chip has experienced an RX overrun, ...
    (freebsd-current)
  • Re: RFC: "Comet" board with AT91RM9200
    ... Before we cut down the design and start ... > The chip supports 32-bit SDRAM. ... It has only one CAN interface, but that is not a problem for me. ... The Cogent CSB337 costs about 400 USD and the Atmel ...
    (comp.arch.embedded)
  • Re: TV Tuner as a User Interface
    ... This is a little off the wall, but I am designing an interface unit ... for controlling power usage in homes and the built in LCD screen can ... a clever way to display information on the home owner's TV screen to ... user interface information from an electronic control unit to a TV ...
    (sci.electronics.design)

Loading