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