Thread (25 messages) 25 messages, 10 authors, 2008-11-03

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help