[U-Boot] [PATCH v2] drivers: core: Add translation in live tree case

Stephen Warren swarren at wwwdotorg.org
Fri Dec 15 17:06:16 UTC 2017


On 12/15/2017 01:19 AM, Mario Six wrote:
> On Fri, Dec 15, 2017 at 9:05 AM, Mario Six <mario.six at gdsys.cc> wrote:
>> Hi Simon,
>>
>> On Thu, Dec 14, 2017 at 9:36 PM, Simon Glass <sjg at chromium.org> wrote:
>>> +Stephen, Tom
>>>
>>> Hi Mario,
>>>
>>> I've had to drop this since it breaks tegra. Stephen feels that this
>>> is likely a bug in the patch rather than anything wrong with Tegra. Do
>>> you have any thoughts? I can potentially try things out on the Tegra
>>> boards I have.
>>>
>>> Regards,
>>> Simon
>>>
>>
>> I think I've found the problem: It's an endianness issue. The
>> of_translate_address function seems to return a raw big-endian address, while
>> the of_read_number function translates it to CPU endianness before returning
>> it. On the MPC8308 I tested on this made no difference, but little-endian
>> systems will have problems. When I put a bogus dev_read_addr in the sandbox
>> serial driver, I see the effect as well.
>>
>> Here's a hopefully fixed version (just the diff; I'll post a proper patch when
>> your tests succeeded); it corrects the issue on sandbox, so I hope it will work
>> on tegra as well:
...
> Small correction:

Yes, that seems to work. I tested:

a) u-boot-dm works fine on Jetson TK1.
b) Applying your original patch reproduces the failure.
c) Applying this latest patch make everything work again.

Thanks.


More information about the U-Boot mailing list