Re: USB support on mpc5200 broken
From: Jon Smirl <hidden>
Date: 2008-09-29 14:14:18
On Sun, Sep 28, 2008 at 11:43 PM, David Gibson [off-list ref] wrote:
On Sun, Sep 28, 2008 at 08:30:56PM -0500, Matt Sealey wrote:quoted
Benjamin Herrenschmidt wrote:quoted
On Wed, 2008-09-24 at 21:09 -0400, Jon Smirl wrote:quoted
quoted
Last time I noticed it was working was about ten days ago. I don't use it everyday.Efika is broken because of this: ohci-ppc-of.c... is_bigendian = of_device_is_compatible(dn, "ohci-bigendian") || of_device_is_compatible(dn, "ohci-be"); Efika doesn't have either of those in it's compatible string. This doesn't look to me like a very reliable way to determine bigendian.You mean it's not reliable to expect people device-trees not to suck ? :-)Alas, this is true :(.
Efika has this:
compatible = "fsl,mpc5200b-ohci","fsl,mpc5200-ohci";
That completely describes the hardware. Isn't that what a device tree
is supposed to do?
If we really need a big endian flag, should it be an attribute?
usb@1000 {
compatible = "fsl,mpc5200b-ohci","fsl,mpc5200-ohci";
ohci-be;
reg = <0x1000 0xff>;
interrupts = <0x2 0x6 0x0>;
interrupt-parent = <&mpc5200_pic>;
};
Shouldn't the driver already know it is being used on a BE machine?
quoted
It's reasonable to expect that device-trees do not get updated with the kernel for certain platforms (it does not fit into most quality assurance schedules to reflash every user's firmware every time they want to move up one revision to another, given the kernel release schedule of every 3-4 months) and when updating the search for compatible entries it should take into account these platforms.This, of course, is exactly why I *don't* recommend embedded platforms move to including the device tree in the flashed firmware. Keeping the device tree in the bootwrapper means that it *is* updated with the kernel and we don't have to mess around with as much backwards compatibility junk.
How do I adjust my build to put the DTB into a wrapper? I'm based on the pcm030 makefile and it assumes the DTB is built externally. Can u-boot handle the wrapped DTB? I'm using a pointer to kernel and one to DTB when booting from u-boot. -- Jon Smirl jonsmirl@gmail.com