* Best embedded PPC eval board for Linux [not found] <38D2530F.3417D5BA@email.sps.mot.com> @ 2000-03-17 16:22 ` Tom Shaver 2000-03-17 18:05 ` Jo-Ellen F. Mathews 2000-03-17 17:02 ` What is the catch with IDMA on MPC860? Geir Frode Raanes 1 sibling, 1 reply; 17+ messages in thread From: Tom Shaver @ 2000-03-17 16:22 UTC (permalink / raw) To: linuxppc-embedded We are looking to go to an embedded Linux/PowerPC solution to replace our existing IBM PPC403 design running IBM's OS Open. Are there any eval boards out there now with corresponding Linux kernels, ready to boot out of the box? We are looking to do as little kernel hacking as possible. Our only requirement is an Ethernet interface, preferably 100Mbit. Nothing "fancy" like PCI, USB, etc. Tom Shaver Electrical Engineer Planning Systems Inc. ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Best embedded PPC eval board for Linux 2000-03-17 16:22 ` Best embedded PPC eval board for Linux Tom Shaver @ 2000-03-17 18:05 ` Jo-Ellen F. Mathews 0 siblings, 0 replies; 17+ messages in thread From: Jo-Ellen F. Mathews @ 2000-03-17 18:05 UTC (permalink / raw) To: Tom Shaver; +Cc: linuxppc-embedded Tom, If you're looking for a quick, out of the box solution, I highly recommend Embedded Planet's new 'Linux Planet' product as a starting point for your search. This development kit is made up of Embedded Planet's RPX Lite board (MPC823) as well as a default kernel ready to run on this board, kernel sources, package sources, a minimal root filesystem for the board, and development tools for building applications. Of course, once you've built a kernel and applications to suit your requirements, you can purchase just the boards in any desired quantities from Embedded Planet. http://www.embeddedplanet.com Jo-Ellen --------------------------------------------------------- Jo-Ellen F. Mathews AbsoluteValue Software Web: http://www.absoval.com P.O. Box 941149 e-mail: joellen@absoval.com Maitland, FL 32794-1149 Phone: 407.644.8582 USA Fax: 407.539.1294 On Fri, 17 Mar 2000, Tom Shaver wrote: > > We are looking to go to an embedded Linux/PowerPC solution to replace our > existing IBM PPC403 design running IBM's OS Open. Are there any eval boards > out there now with corresponding Linux kernels, ready to boot out of the > box? We are looking to do as little kernel hacking as possible. Our only > requirement is an Ethernet interface, preferably 100Mbit. Nothing "fancy" > like PCI, USB, etc. > > Tom Shaver > Electrical Engineer > Planning Systems Inc. > > > ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: What is the catch with IDMA on MPC860? [not found] <38D2530F.3417D5BA@email.sps.mot.com> 2000-03-17 16:22 ` Best embedded PPC eval board for Linux Tom Shaver @ 2000-03-17 17:02 ` Geir Frode Raanes 2000-03-17 17:23 ` Alan Mimms 2000-03-17 21:09 ` Richard Hendricks 1 sibling, 2 replies; 17+ messages in thread From: Geir Frode Raanes @ 2000-03-17 17:02 UTC (permalink / raw) To: Richard Hendricks; +Cc: linuxppc-embedded On Fri, 17 Mar 2000, Richard Hendricks wrote: > > > Geir Frode Raanes wrote: > > > > Revision C or later of the '860 will even perform > > a single-address _burst_ transfer on IDMA channel 1. > > This I would love to do from our in-house designed > > frame grabber to main memory. Then I could avoid > > disabling all interrupts while bursting. Meaning > > I could still catch run-away situations on a > > time-out basis. Today things simply lock up... > The biggest complaint I hear is the performance stinks. > Which it does, since it is really a software based DMA > algorithm running on the CPM. Possibely. But where does the manual say that the performance stinks? It should be documented somewhere. > I *think* you mean Single-buffer burst flyby mode. That is correct. I just quoted the subtitle of figure 20-15. But the chapter is named Single-buffer burst flyby mode. The following figure numbers are collected from the current version of the MPC860UM user manual in PDF form @ motorola. Figure 14-5: Single-Beat Cycle Basic Timing Zero Wait States Two clock cycles per bus cycle. Figure 14-12: Burst-Read Cycle with Zero Wait state. Five clock cycles per four words burst cycle. Figure 20-15: Single Buffer/Address IDMA1 Burst Timing. /TA alternating resulting in one waitstate per word and thus nine clock cycles per four words burst cycle. Figure 14-14: Burst-Read Cycle with Wait States between Beats. Would have been identical to figure 20-15 with identical /TA pattern. Now, the question is - what controls the /TA line? Will I get full speed if actively driving the /TA line low for the duration of the IDMA1 burst cycle? Or for that matter in the Single-address/Single-cycle Fly-by transfer of figure 20-10? The subtitles states that /TA is externally generated. What then stops me from running the IDMA bus cycle with normal PIO mode timing as per figure 14-5? Figure 20-10: /SDACK timing diagram Single-Address Peripheral write __EXTERNALLY GENERATED /TA__ -- ****************************************************** Never ever underestimate the power of human stupidity. -Robert Anson Heinlein GeirFRS@invalid.and.so.forth ****************************************************** ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: What is the catch with IDMA on MPC860? 2000-03-17 17:02 ` What is the catch with IDMA on MPC860? Geir Frode Raanes @ 2000-03-17 17:23 ` Alan Mimms 2000-03-17 17:50 ` Dan Malek 2000-03-17 21:11 ` Richard Hendricks 2000-03-17 21:09 ` Richard Hendricks 1 sibling, 2 replies; 17+ messages in thread From: Alan Mimms @ 2000-03-17 17:23 UTC (permalink / raw) To: Geir Frode Raanes; +Cc: Richard Hendricks, linuxppc-embedded Regarding the "where does the manual say that the performance stinks" comment: even though people like Richard are VERY forthcoming with "issues" with chips (THANKS Richard), I doubt a company like MOT will EVER admit in a manual or other official document they built something that stinks even a little bit. See the MPC801 for an example of this where virtually EVERYTHING about the chip stinks (including the crappy inaccurate manual) and nothing is ever said in written form to that effect. (For those unused to my cynical style, I love MOT and my company has even made a bunch of money selling devices built on the MPC801. But they are NOT perfect - as I'm sure Richard and numerous will attest - and they will rarely admit it in writing.) a >>>>>>>>>>>>>>>>>> Original Message <<<<<<<<<<<<<<<<<< On 3/17/00, 9:02:22 AM, "Geir Frode Raanes" <geirfrs@invalid.ed.ntnu.no> wrote regarding Re: What is the catch with IDMA on MPC860?: > On Fri, 17 Mar 2000, Richard Hendricks wrote: > > > > > > Geir Frode Raanes wrote: > > > > > > Revision C or later of the '860 will even perform > > > a single-address _burst_ transfer on IDMA channel 1. > > > This I would love to do from our in-house designed > > > frame grabber to main memory. Then I could avoid > > > disabling all interrupts while bursting. Meaning > > > I could still catch run-away situations on a > > > time-out basis. Today things simply lock up... > > The biggest complaint I hear is the performance stinks. > > Which it does, since it is really a software based DMA > > algorithm running on the CPM. > Possibely. But where does the manual say that the > performance stinks? It should be documented somewhere. > > I *think* you mean Single-buffer burst flyby mode. > That is correct. I just quoted the subtitle of figure 20-15. > But the chapter is named Single-buffer burst flyby mode. > The following figure numbers are collected from the current > version of the MPC860UM user manual in PDF form @ motorola. > Figure 14-5: Single-Beat Cycle Basic Timing Zero Wait States > Two clock cycles per bus cycle. > Figure 14-12: Burst-Read Cycle with Zero Wait state. > Five clock cycles per four words burst cycle. > Figure 20-15: Single Buffer/Address IDMA1 Burst Timing. > /TA alternating resulting in one waitstate per > word and thus nine clock cycles per four words > burst cycle. > Figure 14-14: Burst-Read Cycle with Wait States between Beats. > Would have been identical to figure 20-15 > with identical /TA pattern. > Now, the question is - what controls the /TA line? > Will I get full speed if actively driving the /TA line low for > the duration of the IDMA1 burst cycle? Or for that matter in the > Single-address/Single-cycle Fly-by transfer of figure 20-10? > The subtitles states that /TA is externally generated. What then > stops me from running the IDMA bus cycle with normal PIO mode > timing as per figure 14-5? > Figure 20-10: /SDACK timing diagram > Single-Address Peripheral write > __EXTERNALLY GENERATED /TA__ > -- > ****************************************************** > Never ever underestimate the power of human stupidity. > -Robert Anson Heinlein > GeirFRS@invalid.and.so.forth > ****************************************************** ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: What is the catch with IDMA on MPC860? 2000-03-17 17:23 ` Alan Mimms @ 2000-03-17 17:50 ` Dan Malek 2000-03-17 21:20 ` Richard Hendricks 2000-03-17 21:11 ` Richard Hendricks 1 sibling, 1 reply; 17+ messages in thread From: Dan Malek @ 2000-03-17 17:50 UTC (permalink / raw) To: Alan Mimms; +Cc: Geir Frode Raanes, Richard Hendricks, linuxppc-embedded Alan Mimms wrote: > > Regarding the "where does the manual say that the performance stinks" That's an irrelevant question, as no one literally said "the performance stinks", and no one should. If you take a look at the timing diagrams and the CPM performance worksheets, you will find the IDMA is not terribly efficient. This is a system design choice. You can move data significantly faster using PPC core programmed I/O operations. The other system design considerations surround the use of the CPM. If you choose to use the IDMA, it affects other CPM operations. The IDMA could very well statisfy a particular system design. If the feature wasn't there, people would be complaining for that reason. The 860 is a killer communication processor. When you start using some of these other features, it significantly impacts this capability. In the case if IDMA, control signals used for some communication capabilities are lost, and you have to choose configuration options that further erode the communication processing performance. Just be aware of this. -- Dan ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: What is the catch with IDMA on MPC860? 2000-03-17 17:50 ` Dan Malek @ 2000-03-17 21:20 ` Richard Hendricks 2000-03-17 21:46 ` Dan Malek 0 siblings, 1 reply; 17+ messages in thread From: Richard Hendricks @ 2000-03-17 21:20 UTC (permalink / raw) To: Dan Malek; +Cc: Alan Mimms, Geir Frode Raanes, linuxppc-embedded Ah, but there's an assumption you're making Dan, and that's the IDMA was added for the 860. It was really added for camera customers using the MPC821/MPC823. That's why single buffer burst flyby was added, and that's why it supports interlacing. In the MPC823 manual, we even describe how to setup IDMA to interface to a CCD camera with multiple fields. Anyways, IDMA performance is horse that has been beaten enough here in Motorola. The hardware DMA controller in the original 360 took too much space, and so using the CPM to do IDMA was born. For most situations, it is a perfect compromise. Actually, I was remiss in my earlier statement. The biggest complaint about IDMA is that you can't use it with Ethernet. On the latest version of the MPC823 this is fixed. The problem comes about because the CAM capability of the Ethernet can't be turned off. CAM was removed from the feature list of the MPC823, but wasn't removed from the die itself until Rev. A (I think). It caused us many a headaches as we couldn't understand why a collegue's audio codec using DMA would always go haywire whenever he received an Ethernet packet. Dan Malek wrote: > > Alan Mimms wrote: > > > > Regarding the "where does the manual say that the performance stinks" > > That's an irrelevant question, as no one literally said "the performance > stinks", and no one should. > > If you take a look at the timing diagrams and the CPM performance > worksheets, you will find the IDMA is not terribly efficient. This > is a system design choice. You can move data significantly faster > using PPC core programmed I/O operations. The other system design > considerations surround the use of the CPM. If you choose to use > the IDMA, it affects other CPM operations. > > The IDMA could very well statisfy a particular system design. If > the feature wasn't there, people would be complaining for that > reason. > > The 860 is a killer communication processor. When you start using > some of these other features, it significantly impacts this capability. > In the case if IDMA, control signals used for some communication > capabilities are lost, and you have to choose configuration options > that further erode the communication processing performance. Just > be aware of this. > > -- Dan ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: What is the catch with IDMA on MPC860? 2000-03-17 21:20 ` Richard Hendricks @ 2000-03-17 21:46 ` Dan Malek 0 siblings, 0 replies; 17+ messages in thread From: Dan Malek @ 2000-03-17 21:46 UTC (permalink / raw) To: Richard Hendricks; +Cc: linuxppc-embedded Richard Hendricks wrote: > > Ah, but there's an assumption you're making Dan, and that's the IDMA > was added for the 860. Geeze, I guess my couple of years of technical writing classes were a waste of time. Where did it appear I was making an assumption? I said: 1. The 860 is a killer communication processor 2. The IDMA is a feature that requires system design trade offs 3. If IDMA wasn't present, people would likely request it > .... It was really added for camera customers using > the MPC821/MPC823. OK, but we weren't talking about 821 or 823. There is a wide range of features available in the 8xx family, and unfortunately you can't get everything all of the time. The IDMA on the 860 falls into this category. My original response long ago was to ensure people consider the system design, and I attempted to include some supporting detail. This has been turned into "performance sucks" and "Dan is making assumptions." Neither is true. -- Dan ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: What is the catch with IDMA on MPC860? 2000-03-17 17:23 ` Alan Mimms 2000-03-17 17:50 ` Dan Malek @ 2000-03-17 21:11 ` Richard Hendricks 2000-03-17 21:35 ` Alan Mimms 1 sibling, 1 reply; 17+ messages in thread From: Richard Hendricks @ 2000-03-17 21:11 UTC (permalink / raw) To: Alan Mimms; +Cc: Geir Frode Raanes, linuxppc-embedded Alan Mimms wrote: > > Regarding the "where does the manual say that the performance stinks" > comment: even though people like Richard are VERY forthcoming with > "issues" with chips (THANKS Richard), I doubt a company like MOT will > EVER admit in a manual or other official document they built something > that stinks even a little bit. See the MPC801 for an example of this > where virtually EVERYTHING about the chip stinks (including the crappy > inaccurate manual) and nothing is ever said in written form to that > effect. (For those unused to my cynical style, I love MOT and my > company has even made a bunch of money selling devices built on the > MPC801. But they are NOT perfect - as I'm sure Richard and numerous > will attest - and they will rarely admit it in writing.) I think this issue is covered quite well in the boilerplate at the beginning of the MPC823 manual. "Motorola makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose..." ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: What is the catch with IDMA on MPC860? 2000-03-17 21:11 ` Richard Hendricks @ 2000-03-17 21:35 ` Alan Mimms 0 siblings, 0 replies; 17+ messages in thread From: Alan Mimms @ 2000-03-17 21:35 UTC (permalink / raw) To: Richard Hendricks, Alan Mimms; +Cc: Geir Frode Raanes, linuxppc-embedded So THAT's why these big companies never tell us when they find their junk sucks. They have it in the fine print at the front of every manual! a On Fri, 17 Mar 2000, Richard Hendricks wrote: > Alan Mimms wrote: > > > > Regarding the "where does the manual say that the performance stinks" > > comment: even though people like Richard are VERY forthcoming with > > "issues" with chips (THANKS Richard), I doubt a company like MOT will > > EVER admit in a manual or other official document they built something > > that stinks even a little bit. See the MPC801 for an example of this > > where virtually EVERYTHING about the chip stinks (including the crappy > > inaccurate manual) and nothing is ever said in written form to that > > effect. (For those unused to my cynical style, I love MOT and my > > company has even made a bunch of money selling devices built on the > > MPC801. But they are NOT perfect - as I'm sure Richard and numerous > > will attest - and they will rarely admit it in writing.) > > I think this issue is covered quite well in the boilerplate at the > beginning of the MPC823 manual. > > "Motorola makes no warranty, representation or guarantee regarding > the suitability of its products for any particular purpose..." > -- Alan Mimms Packet Engines, Inc. Spokane, Washington [99214-0497] USA, Earth, Sol, Milky Way, The Local Group, Virgo Supercluster, U0 Despite the cost of living, have you noticed how popular it remains? -- Steven Wright? ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: What is the catch with IDMA on MPC860? 2000-03-17 17:02 ` What is the catch with IDMA on MPC860? Geir Frode Raanes 2000-03-17 17:23 ` Alan Mimms @ 2000-03-17 21:09 ` Richard Hendricks 2000-03-20 10:11 ` Geir Frode Raanes 1 sibling, 1 reply; 17+ messages in thread From: Richard Hendricks @ 2000-03-17 21:09 UTC (permalink / raw) To: Geir Frode Raanes; +Cc: linuxppc-embedded Geir Frode Raanes wrote: > > On Fri, 17 Mar 2000, Richard Hendricks wrote: > > > > > > > Geir Frode Raanes wrote: > > > > > > Revision C or later of the '860 will even perform > > > a single-address _burst_ transfer on IDMA channel 1. > > > This I would love to do from our in-house designed > > > frame grabber to main memory. Then I could avoid > > > disabling all interrupts while bursting. Meaning > > > I could still catch run-away situations on a > > > time-out basis. Today things simply lock up... > > > The biggest complaint I hear is the performance stinks. > > Which it does, since it is really a software based DMA > > algorithm running on the CPM. > > Possibely. But where does the manual say that the > performance stinks? It should be documented somewhere. Of course! It's documented in the Serial Communications Performance chapter. Something like 3-4 pages at the very end. At 25 MHz (the values scale linearly with frequency, more or less), and with no other loading on the CPM, Memory to Memory burst IDMA transactions top out at 10.4 MB/sec, or, at a more reasonable speed like 66 MHz, 27.45 MB/sec. YMMV, btw. :) > > I *think* you mean Single-buffer burst flyby mode. > > That is correct. I just quoted the subtitle of figure 20-15. > But the chapter is named Single-buffer burst flyby mode. > The following figure numbers are collected from the current > version of the MPC860UM user manual in PDF form @ motorola. > > Figure 14-5: Single-Beat Cycle Basic Timing Zero Wait States > Two clock cycles per bus cycle. > > Figure 14-12: Burst-Read Cycle with Zero Wait state. > Five clock cycles per four words burst cycle. > > Figure 20-15: Single Buffer/Address IDMA1 Burst Timing. > /TA alternating resulting in one waitstate per > word and thus nine clock cycles per four words > burst cycle. > > Figure 14-14: Burst-Read Cycle with Wait States between Beats. > Would have been identical to figure 20-15 > with identical /TA pattern. > > Now, the question is - what controls the /TA line? Er, you're doing DMA to/from a memory. The timing of that memory controls /TA. If you're using your DRAM with one of the UPMs, and you're targeting that DRAM with IDMA, it uses the UPM to control the DRAM. (For a flyby-mode transaction). > Will I get full speed if actively driving the /TA line low for > the duration of the IDMA1 burst cycle? Or for that matter in the > Single-address/Single-cycle Fly-by transfer of figure 20-10? > The subtitles states that /TA is externally generated. What then > stops me from running the IDMA bus cycle with normal PIO mode > timing as per figure 14-5? You're limited to however fast you can interface to the memory. If your peripheral needs extra cycles inserted in, it could use UPWAITx to do so. > Figure 20-10: /SDACK timing diagram > Single-Address Peripheral write > __EXTERNALLY GENERATED /TA__ > > -- > ****************************************************** > Never ever underestimate the power of human stupidity. > -Robert Anson Heinlein > > GeirFRS@invalid.and.so.forth > ****************************************************** > ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: What is the catch with IDMA on MPC860? 2000-03-17 21:09 ` Richard Hendricks @ 2000-03-20 10:11 ` Geir Frode Raanes 2000-03-22 16:49 ` Richard Hendricks 0 siblings, 1 reply; 17+ messages in thread From: Geir Frode Raanes @ 2000-03-20 10:11 UTC (permalink / raw) To: Richard Hendricks; +Cc: linuxppc-embedded On Fri, 17 Mar 2000, Richard Hendricks wrote: > Geir Frode Raanes wrote: > > > > Possibely. But where does the manual say that the > > performance stinks? It should be documented somewhere. > > Of course! It's documented in the Serial Communications > Performance chapter. Something like 3-4 pages at the very > end. At 25 MHz (the values scale linearly with frequency, > more or less), and with no other loading on the CPM, > Memory to Memory burst IDMA transactions top out at 10.4 MB/sec, > or, at a more reasonable speed like 66 MHz, 27.45 MB/sec. Ah. RTFM. The paper version - Appendix B - that is. Can still not find it in the PDF version. Funny. Thank you anyway. Those where the timing diagrams I were looking for. I am just moving up from the world of microcontrollers and FPGA to microprocessors. Can't say I am all that thrilled about IF-THEN-ELSE soft timing datasheets. But I'll manage. And 27.45 MBytes per sec gives me a reasonable headroom from the 20 MBytes per second requirement of the grabber, and still allow me to leave interrupts enabeled. And yes, it is in fact a CCD camera grabber without much local buffering. What I was really asking was what the "inefficient" label on IDMA was all about. More specifically, if that meant that IDMA wasted bus clock cycles - i.e. hogging the bus while setting up the transfer or requiring wait states irrespectible of the source/target speed. Considering the timing diagrams in Appendix B and given the Motorola "will then perform a fast back-to-back transfer" statement this does not seem to be the case. I can live with the fact that IDMA can not utilize the bus 100% of the time as long as it __relinquish the bus__ at all times it does not perform __full speed__ data movements. Actually I prefer it does just that. The other use of these IDMA channels is for soft PCI interface. There is specified a limit of 8 PCI clocks on target latency. That rules out any interrupt based interface handling. But IDMA to configuration space and memory space respectively in combination with an interrupt migth do the trick. > > Now, the question is - what controls the /TA line? > > Er, you're doing DMA to/from a memory. The timing of that > memory controls /TA. If you're using your DRAM with one > of the UPMs, and you're targeting that DRAM with IDMA, it > uses the UPM to control the DRAM. (For a flyby-mode transaction). I am aware of that. What I was really asking was what is the upper boundary on the timing. Like for instance the timing of the TMP68303 microcontroller from Toshiba wich stated that the _slower_ of the internally generated /DTACK and externally applied is used for DMA transfers. -- ****************************************************** Never ever underestimate the power of human stupidity. -Robert Anson Heinlein GeirFRS@invalid.and.so.forth ****************************************************** ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: What is the catch with IDMA on MPC860? 2000-03-20 10:11 ` Geir Frode Raanes @ 2000-03-22 16:49 ` Richard Hendricks 2000-03-22 22:59 ` Noah Misch 0 siblings, 1 reply; 17+ messages in thread From: Richard Hendricks @ 2000-03-22 16:49 UTC (permalink / raw) To: Geir Frode Raanes, linuxppc-embedded Geir Frode Raanes wrote: > > On Fri, 17 Mar 2000, Richard Hendricks wrote: > > > Geir Frode Raanes wrote: > > > > > > Possibely. But where does the manual say that the > > > performance stinks? It should be documented somewhere. > > > > Of course! It's documented in the Serial Communications > > Performance chapter. Something like 3-4 pages at the very > > end. At 25 MHz (the values scale linearly with frequency, > > more or less), and with no other loading on the CPM, > > Memory to Memory burst IDMA transactions top out at 10.4 MB/sec, > > or, at a more reasonable speed like 66 MHz, 27.45 MB/sec. > > Ah. RTFM. The paper version - Appendix B - that is. > Can still not find it in the PDF version. Funny. > Thank you anyway. Those where the timing diagrams I > were looking for. Ah, I am support for the MPC823/MPC823, so everything is tinged with MPC82x colored glasses. I don't happen to have an MPC860 manual handy anymore. > I am just moving up from the world > of microcontrollers and FPGA to microprocessors. > Can't say I am all that thrilled about IF-THEN-ELSE > soft timing datasheets. But I'll manage. Such is life in the high end world ;) > And 27.45 MBytes per sec gives me a reasonable headroom > from the 20 MBytes per second requirement of the grabber, > and still allow me to leave interrupts enabeled. > And yes, it is in fact a CCD camera grabber without > much local buffering. Just be sure you don't overtax your CPM. 20/27.45 = 73%, but if you start adding in UARTs, etc, you might be getting close to the edge. > What I was really asking was what the "inefficient" > label on IDMA was all about. More specifically, if that > meant that IDMA wasted bus clock cycles - i.e. hogging > the bus while setting up the transfer or requiring > wait states irrespectible of the source/target speed. > Considering the timing diagrams in Appendix B and given > the Motorola "will then perform a fast back-to-back > transfer" statement this does not seem to be the case. Oh yes, you're right. The CPM does all the staging internally, and it doesn't need to "hold" the bus for the cycles while it is packing/unpacking data. It only takes the bus when it is actively transferring data. > I can live with the fact that IDMA can not utilize the > bus 100% of the time as long as it __relinquish the bus__ > at all times it does not perform __full speed__ data > movements. Actually I prefer it does just that. And that's just what it does. Sorry about the misunderstanding. > The other use of these IDMA channels is for soft > PCI interface. There is specified a limit of 8 PCI > clocks on target latency. That rules out any interrupt > based interface handling. But IDMA to configuration > space and memory space respectively in combination > with an interrupt migth do the trick. > > > > Now, the question is - what controls the /TA line? > > > > Er, you're doing DMA to/from a memory. The timing of that > > memory controls /TA. If you're using your DRAM with one > > of the UPMs, and you're targeting that DRAM with IDMA, it > > uses the UPM to control the DRAM. (For a flyby-mode transaction). > > I am aware of that. What I was really asking was what is the > upper boundary on the timing. Like for instance the timing > of the TMP68303 microcontroller from Toshiba wich stated that > the _slower_ of the internally generated /DTACK and externally > applied is used for DMA transfers. The timing is controlled by either the UPM or GPCM currently in control of the transaction. If you want finer scale timings, then you can check out the timing spreadsheets (for the MPC821/MPC823 anyways). > -- > ****************************************************** > Never ever underestimate the power of human stupidity. > -Robert Anson Heinlein > > GeirFRS@invalid.and.so.forth > ****************************************************** ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: What is the catch with IDMA on MPC860? 2000-03-22 16:49 ` Richard Hendricks @ 2000-03-22 22:59 ` Noah Misch 2000-03-23 2:34 ` Graham Stoney 2000-03-23 22:49 ` Richard Hendricks 0 siblings, 2 replies; 17+ messages in thread From: Noah Misch @ 2000-03-22 22:59 UTC (permalink / raw) To: Richard Hendricks; +Cc: linuxppc-embedded Would you mind telling me briefly what CPM, UART, DMA/IDMA, UPM, and SCC are, or pointing me to a document that explains them? I see these terms used a lot, but I don't know what they stand for and have only a general idea of what they are. I apologize for wasting your time with a worthless question. <snip> >Just be sure you don't overtax your CPM. 20/27.45 = 73%, >but if you start adding in UARTs, etc, you might be getting >close to the edge. <snip> >> I can live with the fact that IDMA can not utilize the >> bus 100% of the time as long as it __relinquish the bus__ >> at all times it does not perform __full speed__ data >> movements. Actually I prefer it does just that. <snip >> > Er, you're doing DMA to/from a memory. The timing of that >> > memory controls /TA. If you're using your DRAM with one >> > of the UPMs, and you're targeting that DRAM with IDMA, it >> > uses the UPM to control the DRAM. (For a flyby-mode transaction). <snip> Noah Misch nmisch@erols.com ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: What is the catch with IDMA on MPC860? 2000-03-22 22:59 ` Noah Misch @ 2000-03-23 2:34 ` Graham Stoney 2000-03-23 13:30 ` Claude Robitaille 2000-03-23 22:49 ` Richard Hendricks 1 sibling, 1 reply; 17+ messages in thread From: Graham Stoney @ 2000-03-23 2:34 UTC (permalink / raw) To: Noah Misch; +Cc: Richard Hendricks, linuxppc-embedded Hi Noad, Noah Misch writes: > Would you mind telling me briefly what CPM, UART, DMA/IDMA, UPM, and SCC > are, or pointing me to a document that explains them? I see these terms > used a lot, but I don't know what they stand for and have only a general > idea of what they are. I apologize for wasting your time with a worthless > question. Have a look at the Glossary in the HOWTO, at: http://members.xoom.com/greyhams/linux/PowerPC-Embedded-HOWTO-19.html As always, I'd be very interested in any feedback and pointers to more authoratative references. Regards, Graham ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: What is the catch with IDMA on MPC860? 2000-03-23 2:34 ` Graham Stoney @ 2000-03-23 13:30 ` Claude Robitaille 0 siblings, 0 replies; 17+ messages in thread From: Claude Robitaille @ 2000-03-23 13:30 UTC (permalink / raw) To: Graham Stoney; +Cc: Noah Misch, Richard Hendricks, linuxppc-embedded The most authoritative reference for thoses terms is the PowerQUICC (MPC8xx) user's manual. You can find it on the Motorola web site at: http://www.mot.com/netcomm Claude On Thu, 23 Mar 2000, Graham Stoney wrote: > > Hi Noad, > > Noah Misch writes: > > Would you mind telling me briefly what CPM, UART, DMA/IDMA, UPM, and SCC > > are, or pointing me to a document that explains them? I see these terms > > used a lot, but I don't know what they stand for and have only a general > > idea of what they are. I apologize for wasting your time with a worthless > > question. > > Have a look at the Glossary in the HOWTO, at: > http://members.xoom.com/greyhams/linux/PowerPC-Embedded-HOWTO-19.html > > As always, I'd be very interested in any feedback and pointers to more > authoratative references. > > Regards, > Graham > > > ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: What is the catch with IDMA on MPC860? 2000-03-22 22:59 ` Noah Misch 2000-03-23 2:34 ` Graham Stoney @ 2000-03-23 22:49 ` Richard Hendricks 1 sibling, 0 replies; 17+ messages in thread From: Richard Hendricks @ 2000-03-23 22:49 UTC (permalink / raw) To: Noah Misch; +Cc: linuxppc-embedded Noah, Everyone else pointed you to documents, but I'll give you a nickel explaination. CPM = Communications processor module. It's the second CPU on the MPC8xx family that handles communication (so, say, the PowerPC CPU doesn't need to worry about handling each byte of an ethernet packet). It is based off the MPC68360 CPM. It has been modifed by adding a MAC unit to do DSP, and changing the hardware DMA to software (running on the CPM). Kinda makes the MPC8xx family "dual core", but that may be strecthing it a bit. Programming of the CPM is restricted to Motorola and a few key customers. UART = Universal Asynchronous Receiver/Transmitter. A serial port, where data is transmitted one bit at a time. Used mostly in PCs as RS-232. DMA/IDMA = Direct Memory Access/ Independant DMA. DMA allows memory transactions to go on without CPU intervention. Say you have a digital camera with a CCD. You would want the CCD's information constantly copied to main memory. With DMA, you can do that without the CPU having to transfer every byte itself. IDMA is just how DMA is implemented in the MPC8xx by the CPM. Independant means independant from the serial channels, I guess. You could also use DMA, say, to feed an audio chip data when it requests it. UPM = User Programmable Machine. A special state machine within the Memory Controller for handling complex memories like DRAM and custom user interfaces. It allows you to control the waveforms of the various memory signals. Sorta like a microcode for a memory controller. SCC = Serial Communications Controller. Many serial protocols are similar enough that a general "serial engine" can handle them. The SCC is powerful enough to do everything from RS-232 up to Ethernet. There's also a FCC, or Fast CC, and an SMC. An SMC is a Serial Management Controller, which is designed for very simple serial protocols. As far as actual nuts & bolts, the SCC can handle more bandwidth since much of its functionality is hardware-based, while most of the SMC functionality is controlled by software. This is why the SMC can't handle the same amount of data bandwidth the SCC can. Noah Misch wrote: > > Would you mind telling me briefly what CPM, UART, DMA/IDMA, UPM, and SCC > are, or pointing me to a document that explains them? I see these terms > used a lot, but I don't know what they stand for and have only a general > idea of what they are. I apologize for wasting your time with a worthless > question. > > <snip> > > >Just be sure you don't overtax your CPM. 20/27.45 = 73%, > >but if you start adding in UARTs, etc, you might be getting > >close to the edge. > > <snip> > > >> I can live with the fact that IDMA can not utilize the > >> bus 100% of the time as long as it __relinquish the bus__ > >> at all times it does not perform __full speed__ data > >> movements. Actually I prefer it does just that. > > <snip > > >> > Er, you're doing DMA to/from a memory. The timing of that > >> > memory controls /TA. If you're using your DRAM with one > >> > of the UPMs, and you're targeting that DRAM with IDMA, it > >> > uses the UPM to control the DRAM. (For a flyby-mode transaction). > > <snip> > Noah Misch > nmisch@erols.com > ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 17+ messages in thread
* What is the catch with IDMA on MPC860? @ 2000-03-17 12:18 Geir Frode Raanes 0 siblings, 0 replies; 17+ messages in thread From: Geir Frode Raanes @ 2000-03-17 12:18 UTC (permalink / raw) To: linuxppc-embedded I must admit - I love DMA. A DMA a day keeps the software away. But I repeatedly hear - both inhouse and on this list that the MPC860 IDMA implementation leaves somewhat to be wanted. Problem is, I can not figure out what. MPC860 IDMA looks OK. According to the documentation, the SDMA/IDMA (DSP-) controller will perform a normal arbitration on the internal U-bus and, when granted access, perform a fast back-to-back transfer. In the IDMA case the transfer will continue until exhaustion of the (possibely chained) Buffer Descriptor (list.) The SDMA will OTOH perform an alternating bus cycle-steal transfer. Dual address modes will even interface between different bus sizes on source and target by grouping data in the internal buffer memory, thus utilizing the widest bus width possible on both read and write. Revision C or later of the '860 will even perform a single-address _burst_ transfer on IDMA channel 1. This I would love to do from our in-house designed frame grabber to main memory. Then I could avoid disabling all interrupts while bursting. Meaning I could still catch run-away situations on a time-out basis. Today things simply lock up... Sooo, what is really the problem with IDMA? --- ****************************************************** Never ever underestimate the power of human stupidity. -Robert Anson Heinlein GeirFRS@invalid.and.so.forth ****************************************************** ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2000-03-23 22:49 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <38D2530F.3417D5BA@email.sps.mot.com>
2000-03-17 16:22 ` Best embedded PPC eval board for Linux Tom Shaver
2000-03-17 18:05 ` Jo-Ellen F. Mathews
2000-03-17 17:02 ` What is the catch with IDMA on MPC860? Geir Frode Raanes
2000-03-17 17:23 ` Alan Mimms
2000-03-17 17:50 ` Dan Malek
2000-03-17 21:20 ` Richard Hendricks
2000-03-17 21:46 ` Dan Malek
2000-03-17 21:11 ` Richard Hendricks
2000-03-17 21:35 ` Alan Mimms
2000-03-17 21:09 ` Richard Hendricks
2000-03-20 10:11 ` Geir Frode Raanes
2000-03-22 16:49 ` Richard Hendricks
2000-03-22 22:59 ` Noah Misch
2000-03-23 2:34 ` Graham Stoney
2000-03-23 13:30 ` Claude Robitaille
2000-03-23 22:49 ` Richard Hendricks
2000-03-17 12:18 Geir Frode Raanes
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).