Subject: Re: USB support on mpc5200 broken

From: Matt Sealey <[email-masked]>
Date: Sun, 28 Sep 2008 20:30:56 -0500

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 ? :-)

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.

We had this discussion a few months back (just before I released the
last version of the device tree supplement script) when patches were
being submitted that broke detection. It was agreed that at least one
of the Efika compatibles should stay in there, mostly likely the least
insane one.

The same patch also introduced a big-endian property to replace the
stupid encoding of endianness into the controller compatible entries,
and we all though that was a great idea. "ohci-bigendian" is simply
wrong by this regard, and if the policy has changed since then, then
we are looking at yet another device tree policy flip-flop which is
starting to move more towards annoying, than being simply an acceptable
fact of life due to the Linux development process.

Jon, just use efika.forth from http://www.powerdeveloper.org/ and add
in the appropriate entry, or make a snippet for it and add it to nvramrc.

If it doesn't work, bug me about it and I will release an update as I
have one which goes way overboard and includes every variation for
compatible USB drivers and tries to make gpio fit the new gpio specs
and i2c and can buses exposed.

-- 
Matt Sealey <[email-masked]>
Genesi, Manager, Developer Relations