On Sun, Sep 28, 2008 at 11:43 PM, David Gibson <[EMAIL PROTECTED]> wrote: > On Sun, Sep 28, 2008 at 08:30:56PM -0500, Matt Sealey wrote: >> >> Benjamin Herrenschmidt wrote: >>> On Wed, 2008-09-24 at 21:09 -0400, Jon Smirl wrote: >>>>> 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? [EMAIL PROTECTED] { 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? > >> 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 [EMAIL PROTECTED] _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev