Thread (7 messages) 7 messages, 2 authors, 2014-04-14

Re: Question about Talitos Linux driver for MPC885

From: leroy christophe <hidden>
Date: 2012-11-23 14:30:51

Dear Kim,

Thank you for you quick answer.
I didn't have much time to look at it until this week unfortunatly.

I have some more questions/observations below

Le 26/09/2012 02:47, Kim Phillips a écrit :
On Tue, 25 Sep 2012 10:45:17 +0200
leroy christophe [off-list ref] wrote:
quoted
I'm trying to use the Talitos crypto driver with the MPC885
microcontroller. For the time being, it doesn't work.
yes, they're not exactly compatible...
quoted
The kernel startup blocks at the test of the DES function.

I have added the following definition in the DTS file:

          crypto@20000 {
              compatible = "fsl,sec2.0";
interesting, its called "SEC Lite" and its version register does
indeed say 2.  I see it has a single channel FIFO instead of a ring,
that the SEC v1.x (MPC185) used, so you probably don't have to
rewrite talitos_submit.
Good news, it was also my understanding.
quoted
              reg = <0x20000 0x8000>;
              interrupts = <1 1>;
I couldn't find the IRQ line in the MPC855RM - if there's no IRQ
line, then that's a problem.
Neither do I on the drawing, however in Table 52-1, there are 3 bits in 
the CPTR register for defining the interrupt level of the SEC lite, just 
like you do for the CPM and for the FEC.
So I believe this should be ok ?
quoted
              interrupt-parent = <&PIC>;
              fsl,num-channels = <1>;
              fsl,channel-fifo-len = <24>;
              fsl,exec-units-mask = <0x4c>;
              fsl,descriptor-types-mask = <0x301f>;
the descriptor type enumeration isn't uniform across into the mpc8xx
SEC version, e.g., the SEC Lite doesn't support the ipsec_esp
descriptor type, represented in mpc8xxx SEC versions as the second
bit, so this descriptor-types-mask setting should be fixed to at
least omit that since the driver checks for, and uses it if
available.
quoted
Is there anything wrong in what I did ? Or is there something else I
should do ?
might want to go through the defines in talitos.h, e.g,
TALITOS_MCR_SWR is 0x1 on mpc8xxx vs. 0x10000000 on
mpc8xx (I suppose CONFIG_PPC_8xx can be used as the ifdef, btw).
I'm surprised about this, I didn't check the talitos.h file, but had 
checked the Reference Manual of the MPC 8272.
I rechecked yesterday and the SWR bit is at the same place as on the 
MPC885 which is different from what is defined in talitos.h
Descriptor header and pointer formats, along with field locations,
sizes, and enumerations may also be different.

It also appears the SEC Lite doesn't support scatter-gather tables,
which will make performance hurt for fragmented (large) packet sizes.
Does it mean something has to be modified if the SW ?
Kim
Thanks,
Christophe
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help