[U-Boot] Whose responsibility is it to enable FPU?

gnemas at gmail.com
2010-06-15T18:12:40Z

On Jun 14, 2010 5:08pm, gnemas at gmail.com wrote:
> On Jun 14, 2010 4:30pm, Wolfgang Denk wd at denx.de> wrote:

> >
> > U-Boot does not need nor use the FPU, so enabling it would not help
> > you in any way.
> >

> It may not need it, but enabling it in u-boot did actually fix the
> problem. I just called the fpu_enable function in the u-boot post code.

> >
> > Linux will do it's own settings, so this is where you need to look for
> > your incorrect configuration settings (incorrect CPU description in
> > the DT?).
> >

> Okay, thanks. I'll try to find out more about how Linux sets this up.

> By the way, my dts file has

> cpu at 0 {
> device_type = "cpu";
> model = "PowerPC,440EPx";

I discovered what was causing the FPU problem. Maybe this might help
someone.

I noticed that my processor was being recognized by Linux as a 440GRX
(which does not have FPU) rather than the correct 440EPx. It seems that
these two processors have the same PVR value. The kernel differentiates
these based on the value of the CPU model in the device tree.

Even though I had the correct entries in my device tree source, the kernel
was not finding the correct model entry.

The problem was that I was using the device tree compiler from

git://git.kernel.org/pub/scm/linux/kernel/git/galak/dtc.git

instead of the one included with the kernel source. When I started working
on this, it did not occur to me that the dtc was included in the kernel
tree, so I had searched for it online and discovered that git repository.
The galak dtc reports version 1.1.0, whereas the kernel dtc reports versio
1.2.0.

So it all works correctly now.

Thanks for the DT pointer.

Gregg