CPM2 USB host driver

Laurent Pinchart laurentp at cse-semaphore.com
Sat Dec 1 02:28:27 EST 2007


On Friday 30 November 2007 13:48, Anton Vorontsov wrote:
> On Fri, Nov 30, 2007 at 01:30:18PM +0100, Laurent Pinchart wrote:
> > On Friday 30 November 2007 12:16, Vitaly Bordug wrote:
> > > On Fri, 30 Nov 2007 11:45:49 +0100
> > >
> > > Laurent Pinchart wrote:
> > > > Hi everybody,
> > > >
> > > > Linux USB host support for the CPM, CPM2 and CPM2 pro is far from
> > > > complete. Many people showed interest on this list (and on
> > > > linuxppc-embedded) in the past, but nobody managed to complete a
> > > > driver and get it merged.
> > >
> > > that is mainly because of its semi-software nature. However, any
> > > approach would be helpful I beleive.
> >
> > The CPM/CPM2 USB host controller does indeed put some pressure on the
> > CPU. The PowerQuick III family is much better in that respect as its USB
> > host controller is EHCI compliant.
>
> I didn't yet compare with CPM/CPM2, but I wonder if PQIIPro (MPC8360E)
> USB controller is similar to cpms?..

If I'm not mistaken it is very similar to the CPM2 USB host controller, with 
the added ability to generate SOF packets automatically.

The CPM has a packet-level USB host controller. CPM2 introduced a 
transaction-level mode (it still supports packet-level mode). CPM2 pro fixes 
the SOF packets generation issue that wakes the CPU once per millisecond with 
CPM and CPM2.

Some members of the PQ2 and PQ2 pro families don't have a CPM but include a 
USB EHCI controller. I suppose those processors are less versatile (as the 
communication controllers are hardware-based instead of software-based) but 
offer more communication performance.

If I'm not mistaken, the only processor to support USB in the PQ3 family is 
the MPC8555E. Its USB host controller is similar to the CPM2 as it supports 
both packet-level and transaction-level modes, but doesn't generate SOF 
packets automatically. I assume the PQ3 integrates a CPM2 and not a CPM2 pro.

To summarize the issue (and I'd appreciate if someone could confirm this), a 
packet-level FHCI driver would work with CPM, CPM2 and CPM2 pro based 
processors. A transaction-level FHCI driver would work with the CPM2 and CPM2 
pro based processors. For CPM2 pro based processors, SOF packet generation 
can be handled by the CPM.

> I tried to forward-port FHCI from Freescale 2.6.11 kernels. Twice.
> But these efforts always stumbled over more important tasks.

Do you think I start from the FHCI driver provided by Freescale for 2.6.11, 
from the cpm2usb driver or from scratch ?

Both the cpm2usb and FHCI drivers seem to use the packet-level interface. Is 
there any reason not to use the transaction-level interface ?

Best regards,

-- 
Laurent Pinchart
CSE Semaphore Belgium

Chaussée de Bruxelles, 732A
B-1410 Waterloo
Belgium

T +32 (2) 387 42 59
F +32 (2) 387 42 75
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20071130/1b0b6136/attachment.pgp>


More information about the Linuxppc-dev mailing list