Hi everybody. I think I found out an error in arch/ppc/8260io/fcc_enet.c source (kernel version Vanilla 2.6.10). When obtaining the pointer to the CPM DPRAM, ioremap() is not used. In 85xx architecture, it causes a bus error each time the driver attempts to access a location in the CCSRBAR region.
I used the follwing patch (valid only for 85xx devices) --- fcc_enet.c 2004-12-24 22:34:44.000000000 +0100 +++ fcc_enet_new.c 2005-05-30 15:00:38.000000000 +0200 @@ -1450,7 +1450,7 @@ volatile cpm2_map_t *immap; volatile iop_cpm2_t *io; - immap = (cpm2_map_t *)CPM_MAP_ADDR; /* and to internal registers */ + immap = (cpm2_map_t *)ioremap(CPM_MAP_ADDR,MPC85xx_CPM_SIZE); /* and to i nternal registers */ io = &immap->im_ioport; np = sizeof(fcc_ports) / sizeof(fcc_info_t); Can anyone tell me why a 1 to 1 logical to physical mapping was assumed? Ennio Turconi Senior Fw Designer Gateway Products ITALTEL SpA Settimo Mil., Italy