> li t0, 0xfc000000 > lb t1, 0xc(t0) > >After all, >isn't that what ioremap is supposed to do? I think the problem is that you need to use the pointer which ioremap() returns to access the region you requested. It looks like you've assumed that ioremap() will map it 1:1 which I don't think is the case. i.e. struct hw_regs *foo; foo = (struct hw_regs *)ioremap(0xfc000000, <Size>); foo->command = hw_reset; ... Jon