Kernel oops when initializing ethernet driver
tricknology at gmx.de
Fri Aug 27 23:06:39 EST 2004
> > Interestingly, the kernel only crashes when accessing that one
> > register (at offset 0x0040). Every other register in that range can be
> > written to and read from w/o problems.
> So that sounds like a hardware problem, doesn't it. This is one of those
> things where the FPGA has a hard PPC core and a bunch of VHDL
Yes, exactly. The peripherals are connected to the PPC core via the OPB
(on-chip peripheral bus) and now I must assume that the address decode /
"chip" select logic within that OPB is buggy or not configured right.
> The good thing there is that the VHDL isn't much harder
> to fix than C code. That would be my wild guess - the VHDL is not
> decoding the address correctly.
I don't even know if we have the VHDL source - the peripherals are
ready-to-go logic units that are just inserted in the FPGA design.
> However, also check that you are not accidentally writing past 0x0040.
> For instance, if 0x0040 is a byte address and you write 16 bits you'll
> be writing to 0x0040 and 0x0041.
It is a 32-bit access at 0x0040.
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-embedded