linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* Re: MPC5200 I2S driver
  2005-04-12 21:13 ` (no subject) Wolfgang Denk
@ 2005-04-12 22:46   ` Eric N. Johnson (ACD)
  2005-04-12 23:40     ` Wolfgang Denk
  2005-04-13 20:23     ` Hans Thielemans
  0 siblings, 2 replies; 6+ messages in thread
From: Eric N. Johnson (ACD) @ 2005-04-12 22:46 UTC (permalink / raw)
  To: linuxppc-embedded

At 04:13 PM 4/12/2005, Wolfgang Denk wrote:
>i2s.c is not really a driver, but a (very OLD) test  version  of  one
>used  to  demonstrate  certain  BestComm  related problems. Don't try
>using it as a real driver ;-)

Humm, any pointers on writing our own driver then then?  Digging through 
the source for other drivers, bestcomm seems to be a real house of 
cards.  We just want simple audio output capability.  No need to make it 
work with the standard Linux/OSS sound API.

Where can we keep track of the eratta/bugs in bestcomm?  Browsing through 
the mailing list, I've found references that:
   IDE and Ethernet DMA can't work at the same time
   I2S TX and RX DMA can't work at the same time
   AC-97 is terminally broken (no way to handle the slot tags properly
          for variable sampling rates)
Are these all still true?

We've tried asking our local Freescale rep, but they seem to think that 
Linux==Metrowerks, and they are looking into the bestcomm question, but 
official responses from Freescale tend to take >1 week.

This is for a custom MPC5200 board, heavily based on IceCube with a single 
I2S DAC on PSC2 running in "CODEC with MCLK" mode.

Sorry about the null subject line previously: fingers were working faster 
than brain...

Thanks
Eric


------------------------------------
Eric Johnson, Electrical Engineer
Advanced Communication Design
   7901 12th Avenue South
   Bloomington, MN 55425
Ph: 952-854-4000  Fax: 952-854-5774

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: MPC5200 I2S driver
  2005-04-12 22:46   ` MPC5200 I2S driver Eric N. Johnson (ACD)
@ 2005-04-12 23:40     ` Wolfgang Denk
  2005-04-13 20:23     ` Hans Thielemans
  1 sibling, 0 replies; 6+ messages in thread
From: Wolfgang Denk @ 2005-04-12 23:40 UTC (permalink / raw)
  To: Eric N. Johnson (ACD); +Cc: linuxppc-embedded

In message <6.2.1.2.1.20050412173010.02adaaa0@mail.int.acdstar.com> you wrote:
>
> Humm, any pointers on writing our own driver then then?  Digging through 
> the source for other drivers, bestcomm seems to be a real house of 
> cards.  We just want simple audio output capability.  No need to make it 
> work with the standard Linux/OSS sound API.

User the i2s_ring.c driver as model.

> Where can we keep track of the eratta/bugs in bestcomm?  Browsing through 
> the mailing list, I've found references that:
>    IDE and Ethernet DMA can't work at the same time
>    I2S TX and RX DMA can't work at the same time
>    AC-97 is terminally broken (no way to handle the slot tags properly
>           for variable sampling rates)
> Are these all still true?

This probably depends on your definition  of  "can't  work".  If  you
allow  for  a  failure every now and then under certain (more or less
exotic) usage conditions ... ;-)


Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
I have been over into the future, and it works.
                - Lincoln Steffens in _Letters_ (1938) vol. 1, p. 463

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: MPC5200 I2S driver
  2005-04-12 22:46   ` MPC5200 I2S driver Eric N. Johnson (ACD)
  2005-04-12 23:40     ` Wolfgang Denk
@ 2005-04-13 20:23     ` Hans Thielemans
  1 sibling, 0 replies; 6+ messages in thread
From: Hans Thielemans @ 2005-04-13 20:23 UTC (permalink / raw)
  To: linuxppc-embedded, Eric N. Johnson (ACD)

Hi Eric,

I have been working on a driver for a similar case:
mpc5200 talking to adi blackfin sport channel.

It is rather stable at the moment. Only now and then (~1/hour)
transmission stops due to bestcomm missing a taskstart.
When I check with the bdi2000 it is always the task active bit which
is cleared in the bestcomm registers.
When I kick the dma descriptor by setting the task active bit again with the
bdi2000 it continues normally. I suspect a problem with the bestcomm
api. The dma task active bit is cleared when dma is done. When this 
interferes with the
ppc setting the bit. the task is not started (so far my analysis).
I did not find yet a 100% secure way of getting the bit set.

My main problem was also that I wanted the blackfin to be master of the
link. But the mpc5200 has an anomaly on the frame sync. I managed to
get it work by using the mpc5200 psc spi slave mode and proper
settings at the blackfin side. I got reliable transmission for several hours 
at 16 Mbit/s

The driver supports simultaneous use of several psc channels. I tried psc2 
and psc3 together.
You can use the driver as master or slave by changing the control register 
with ioctl.
I'll forward the present version and a test program when i'm back at work 
tomorrow.

Regards,

Hans Thielemans
HAZO bvba

----- Original Message ----- 
From: "Eric N. Johnson (ACD)" <ejohnson@acdstar.com>
To: <linuxppc-embedded@ozlabs.org>
Sent: Wednesday, April 13, 2005 12:46 AM
Subject: Re: MPC5200 I2S driver


> At 04:13 PM 4/12/2005, Wolfgang Denk wrote:
>>i2s.c is not really a driver, but a (very OLD) test  version  of  one
>>used  to  demonstrate  certain  BestComm  related problems. Don't try
>>using it as a real driver ;-)
>
> Humm, any pointers on writing our own driver then then?  Digging through 
> the source for other drivers, bestcomm seems to be a real house of cards. 
> We just want simple audio output capability.  No need to make it work with 
> the standard Linux/OSS sound API.
>
> Where can we keep track of the eratta/bugs in bestcomm?  Browsing through 
> the mailing list, I've found references that:
>   IDE and Ethernet DMA can't work at the same time
>   I2S TX and RX DMA can't work at the same time
>   AC-97 is terminally broken (no way to handle the slot tags properly
>          for variable sampling rates)
> Are these all still true?
>
> We've tried asking our local Freescale rep, but they seem to think that 
> Linux==Metrowerks, and they are looking into the bestcomm question, but 
> official responses from Freescale tend to take >1 week.
>
> This is for a custom MPC5200 board, heavily based on IceCube with a single 
> I2S DAC on PSC2 running in "CODEC with MCLK" mode.
>
> Sorry about the null subject line previously: fingers were working faster 
> than brain...
>
> Thanks
> Eric
>
>
> ------------------------------------
> Eric Johnson, Electrical Engineer
> Advanced Communication Design
>   7901 12th Avenue South
>   Bloomington, MN 55425
> Ph: 952-854-4000  Fax: 952-854-5774
>
> _______________________________________________
> Linuxppc-embedded mailing list
> Linuxppc-embedded@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-embedded
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* MPC5200 I2S driver
@ 2005-11-05 19:22 Frank Bennett
  2005-11-06 20:42 ` Wolfgang Denk
  2005-11-07 21:04 ` Eric N. Johnson (ACD)
  0 siblings, 2 replies; 6+ messages in thread
From: Frank Bennett @ 2005-11-05 19:22 UTC (permalink / raw)
  To: linuxppc-embedded

[-- Attachment #1: Type: text/plain, Size: 662 bytes --]

Hi Hans, Eric:

I would be interested in getting any driver code
examples for Bestcomm/PSC6/CODEC for the mpc5200
as well.

I am developing a couple of drivers: one a Data
Acquisition driver for SPI based AD7683 SAR ADC
on PSC6/codec and a LCD user interface on PSC3/SPI
using the DENX Linux distribution. Is arch/ppc/5xxx_io/i2s.c
a good example of a Bestcomm, Codec, non Ethernet
example?

Thanks to you guys and Wolfgang for you contributions
to this thread discussion.

*/Frank Bennett
President
/*Mathegraphics,LLC
613 Bentley Pl
Fort Collins,CO 80526
www.mathegraphics.com <http://www.mathegraphics.com>
bennett78@digis.net <mailto:bennett78@digis.net>




[-- Attachment #2: Type: text/html, Size: 1145 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: MPC5200 I2S driver
  2005-11-05 19:22 MPC5200 I2S driver Frank Bennett
@ 2005-11-06 20:42 ` Wolfgang Denk
  2005-11-07 21:04 ` Eric N. Johnson (ACD)
  1 sibling, 0 replies; 6+ messages in thread
From: Wolfgang Denk @ 2005-11-06 20:42 UTC (permalink / raw)
  To: bennett78; +Cc: linuxppc-embedded

In message <436D068A.7030905@digis.net> you wrote:
> 
> I am developing a couple of drivers: one a Data
> Acquisition driver for SPI based AD7683 SAR ADC
> on PSC6/codec and a LCD user interface on PSC3/SPI
> using the DENX Linux distribution. Is arch/ppc/5xxx_io/i2s.c
> a good example of a Bestcomm, Codec, non Ethernet
> example?

The  arch/ppc/5xxx_io/i2s.c  driver  is  *not*  a  good  example  for
anything  usefuil - it is test code used to demonstrate some problems
with (earlier versions of) the BestComm API code.  It  is  not  in  a
working state.

An example for a working driver is in  "i2s_ring.c",  but  note  that
this  driver  uses a pretty specialized interface to the application,
so you will probably have to adjust this for your needs.


Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
Be careful what you wish for. You never know who will be listening.
                                      - Terry Pratchett, _Soul Music_

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: MPC5200 I2S driver
  2005-11-05 19:22 MPC5200 I2S driver Frank Bennett
  2005-11-06 20:42 ` Wolfgang Denk
@ 2005-11-07 21:04 ` Eric N. Johnson (ACD)
  1 sibling, 0 replies; 6+ messages in thread
From: Eric N. Johnson (ACD) @ 2005-11-07 21:04 UTC (permalink / raw)
  To: bennett78, linuxppc-embedded


>I would be interested in getting any driver code
>examples for Bestcomm/PSC6/CODEC for the mpc5200
>as well.

There was an earlier discussion on this list.  Have a look at:
http://ozlabs.org/pipermail/linuxppc-embedded/2005-September/020210.html

That message has the code we've used to run an I2S DAC on the 
MPC5200.  It's been stable, although we've not done extensive 
testing.  You'll also have to prune out the code that's specific to 
our hardware, and it supports output only.  We have not tried using I2S inputs.

Eric

------------------------------------
Eric Johnson, Electrical Engineer
Advanced Communication Design
   7901 12th Avenue South
   Bloomington, MN 55425
Ph: 952-854-4000  Fax: 952-854-5774

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2005-11-07 21:12 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-11-05 19:22 MPC5200 I2S driver Frank Bennett
2005-11-06 20:42 ` Wolfgang Denk
2005-11-07 21:04 ` Eric N. Johnson (ACD)
     [not found] <Your message of "Tue, 12 Apr 2005 14:38:20 CDT." <6.2.1.2.1.20050412143653.02ae7720@mail.int.acdstar.com>
2005-04-12 21:13 ` (no subject) Wolfgang Denk
2005-04-12 22:46   ` MPC5200 I2S driver Eric N. Johnson (ACD)
2005-04-12 23:40     ` Wolfgang Denk
2005-04-13 20:23     ` Hans Thielemans

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).