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 -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/