linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* MPC5200/BestComm functions question
@ 2009-09-12 12:36 Albrecht Dreß
  2009-09-12 14:01 ` Grant Likely
  0 siblings, 1 reply; 3+ messages in thread
From: Albrecht Dreß @ 2009-09-12 12:36 UTC (permalink / raw)
  To: Linux PPC Development

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

Hi all,

I have a MPC5200B based system with a 16-bit peripheral attached to the  
Local Bus, and I am looking into possibilities to use BestComm for the  
data transfer.

I found Grant Likely's cool 'mpc5200-localplus-test.c' driver which  
demonstrates this using the 'gen_bd' driver, and which is apparently a  
great starting point.

However, I also have to (a) 32-bit endianess-swap the data and (b)  
calculate a 32-bit crc on it.  Of course, this is possible with the  
buffers using the cpu, but I saw some remarks that the Bestcomm engine  
also includes functions which can perform swapping and crc  
calculation.  I believe it would unload the cpu if the BestComm engine  
could perform these tasks, but I cannot find a good  
documentation/example for that.  Does anyone know any pointers for  
that?  Or maybe even a tool to create the bestcomm tasks from a  
'readable' source?

Thanks in advance,
Albrecht.

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

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

* Re: MPC5200/BestComm functions question
  2009-09-12 12:36 MPC5200/BestComm functions question Albrecht Dreß
@ 2009-09-12 14:01 ` Grant Likely
  2009-09-13 16:13   ` Albrecht Dreß
  0 siblings, 1 reply; 3+ messages in thread
From: Grant Likely @ 2009-09-12 14:01 UTC (permalink / raw)
  To: Albrecht Dreß; +Cc: Linux PPC Development

On Sat, Sep 12, 2009 at 6:36 AM, Albrecht Dre=DF <albrecht.dress@arcor.de> =
wrote:
> Hi all,
>
> I have a MPC5200B based system with a 16-bit peripheral attached to the
> Local Bus, and I am looking into possibilities to use BestComm for the da=
ta
> transfer.
>
> I found Grant Likely's cool 'mpc5200-localplus-test.c' driver which
> demonstrates this using the 'gen_bd' driver, and which is apparently a gr=
eat
> starting point.

I've actually got a better driver which exports an API for doing local
plus bus FIFO transfers.  It's been posted to the mailing list a
couple of times.  I'll cc: you the next time I post it (real soon
now).

> However, I also have to (a) 32-bit endianess-swap the data and (b) calcul=
ate
> a 32-bit crc on it. =A0Of course, this is possible with the buffers using=
 the
> cpu, but I saw some remarks that the Bestcomm engine also includes functi=
ons
> which can perform swapping and crc calculation. =A0I believe it would unl=
oad
> the cpu if the BestComm engine could perform these tasks, but I cannot fi=
nd
> a good documentation/example for that. =A0Does anyone know any pointers f=
or
> that? =A0Or maybe even a tool to create the bestcomm tasks from a 'readab=
le'
> source?

Bestcomm can do that, but Freescale has not publically released the
bestcomm documentation, and they do not support writing custom
bestcomm tasks.  From what I understand there are a number of hidden
bugs in the bestcomm engine which you could run into if you deviate
from the provided tasks.  You're very much on your own if you go down
that route.  :-(

g.

--=20
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.

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

* Re: MPC5200/BestComm functions question
  2009-09-12 14:01 ` Grant Likely
@ 2009-09-13 16:13   ` Albrecht Dreß
  0 siblings, 0 replies; 3+ messages in thread
From: Albrecht Dreß @ 2009-09-13 16:13 UTC (permalink / raw)
  To: linuxppc-dev

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

Am 12.09.09 16:01 schrieb(en) Grant Likely:

> I've actually got a better driver which exports an API for doing  
> local plus bus FIFO transfers.  It's been posted to the mailing list  
> a couple of times.  I'll cc: you the next time I post it (real soon  
> now).

Thanks a lot, that will be really helpful! :-)

> Bestcomm can do that, but Freescale has not publically released the  
> bestcomm documentation, and they do not support writing custom  
> bestcomm tasks.  From what I understand there are a number of hidden  
> bugs in the bestcomm engine which you could run into if you deviate  
> from the provided tasks.  You're very much on your own if you go down  
> that route.  :-(

I see - that's a pity, shifting those tasks to a "coprocessor" sounds  
like an attractive idea!

BTW, I didn't forget about the 5200 GPT/WDT issue, I just didn't have  
the time yet to implement it.  The old work vs. what I would like to do  
conflict, but I will try to find a reasonable solution.

Thanks, Albrecht.

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

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

end of thread, other threads:[~2009-09-13 16:22 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-09-12 12:36 MPC5200/BestComm functions question Albrecht Dreß
2009-09-12 14:01 ` Grant Likely
2009-09-13 16:13   ` Albrecht Dreß

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