mpc8248: how to map SEC

Vikas Aggarwal va824363 at albany.edu
Thu Apr 7 02:46:13 EST 2005


freescale's mpc8248: how to map SEC ?
I am trying to map SEC(Security Engine). The linux-kernel i have from
embeddedplanet.com already  works great for CPM on this mpc8248.

In my first  approach i tried to run this block-of-code at the end of
fec_enet_init/fcc_enet.c
{
 unsigned long coremask1;
 unsigned long IOBaseAddress1;
 bd_t     *bd;
 bd = (bd_t *)__res;
 #define IDENTIFICATION_OFFSET1 0x1020
 #define SEC_BASE_ADDRESS       0x00040000
 #define SEC2_BASE_SIZE1        0x10000
 IOBaseAddress1=(unsigned long)
ioremap((phys_addr_t)(bd->bi_immr+SEC_BASE_ADDRESS), SEC_BASE_SIZE);
 coremask1=*((volatile unsigned long *)(IOBaseAddress1 +
IDENTIFICATION_OFFSET1) +1);
 printk(KERN_EMERG"SEC1.0 ID=%lu",coremask1);
}
But it will OOPS complaining 0x00040000 was passed to ioremap, that means 
bd->bi_immr is NULL. Why is it so? This approach works well for mpc8555E
SEC engine.

Second approach , i am trying to immitate based on how CPM is accessed on
mpc8248, here CPM_MAP_ADDR is #defined to ((uint)0xf0000000). Can i make a
similar #define for SEC_MAP_ADDR ? How the above value for CPM_MAP_ADDR
was chosen in arch/ppc/platforms/ep8248.h:line 42 ?

Will appreciate the help? I am struck here right now





More information about the Linuxppc-embedded mailing list