[Letux-kernel] letux 5.4 +pyra

H. Nikolaus Schaller hns at goldelico.com
Wed Dec 18 10:43:00 CET 2019


Hi,

> Am 17.12.2019 um 22:29 schrieb H. Nikolaus Schaller <hns at goldelico.com>:
> 
> 
>> Am 17.12.2019 um 21:39 schrieb H. Nikolaus Schaller <hns at goldelico.com>:
>> 
>> 
>>> Am 07.12.2019 um 23:06 schrieb Andreas Kemnade <andreas at kemnade.info>:
>>> 
>>> Hi,
>>> 
>>> I get this on the pyra. Is it just me or is there really something
>>> rotten with pyra and 5.4?
>> 
>> I now have got almost the same with 5.5-rc2. Hadn't tested yet on Pyra.
>> 
>> So there is something broken already in 5.4. Seems to be related to
>> serial_omap and/or hwmods.
>> 
>> Have to compare once again omap2plus_defconfig with letux_defconfig...
> 
> even binaries of 5.3 do no longer boot.
> 
> What I suspect is that there is the wrong device tree. And I have done
> a cleanup of the device tree files recently - maybe around 5.4.
> 
> Unfortunatley there was a mistake in the version encoding resistors
> so that some different boards do report the same version code.
> This breaks the automatic switch between all device tree files.
> 
> It affects only 3 or 4 prototypes and I have one of these...
> Maybe yours is also affected.
> 
> So what .dtb does u-boot report?
> 
> BR,
> Nikolaus
> 

Ok, I have found the issue.

There have been prototype mainboards v5.1, v5.1.1, v5.1.2, v5.1.3
And the one currently scheduled for mass production is v5.2

There are subtle differences in how some LEDs are hooked up so that
the DTB must match the mainboard.

Now, there was a bug in the placement of the version resistors during
production. The result is that U-Boot has no chance to differentiate
between the v5.1 mainboards.

This requires to have two different "flavours" of the v5.1 mainboard.

Previously this was done by a #define in the DTS so that it had to
be modified manually before compiling. The default was for v5.1.2
and the resulting file was omap5-letux-cortex15-v5.1+pyra-v5.1.dtb

Starting with 5.4-rc3 I have completely reworked the Pyra DTS
(to be based on some common.dtsi) so that it is more likely to
be accepted upstream.

This required to resolve the define into two separate .dts files.

They are now called

omap5-letux-cortex15-v5.1+pyra-v5.1.0.dts
omap5-letux-cortex15-v5.1+pyra-v5.1.2.dts

creating two different .dtb.

The issue now is that by just copying dtb or expanding a .tbz
on the SD card does NOT overwrite the omap5-letux-cortex15-v5.1+pyra-v5.1.dtb
which U-Boot is looking for.

So an old DTB may be loaded that had been installed to the SD card
previously. Since some OMAP5 core stuff is included into the DTB it
may not precisely match core drivers.

The solution is

mv omap5-letux-cortex15-v5.1+pyra-v5.1.2.dtb omap5-letux-cortex15-v5.1+pyra-v5.1.dtb

Unfortunately this is ugly for automation by an installer script.
There may be no omap5-letux-cortex15-v5.1+pyra-v5.1.2.dtb or there may be
an old one as well etc. So the safest way is to rm omap5-*.dtb before
installing something new.

What I also want to change is to rename omap5-letux-cortex15-v5.1+pyra-v5.1.0.dts
(back) to omap5-letux-cortex15-v5.1+pyra-v5.1.dts.

This will at least ensure that there is always an omap5-letux-cortex15-v5.1+pyra-v5.1.dtb
matching OMAP5 core. Just the LEDs may have wrong definitions which is not that
critical.

It will of course not help for the binary device-tree.tbz on
http://download.goldelico.com/letux-kernel/

After long discussion a DISCLAIMER: all this does not affect newer Pyra
versions with mainboard v5.2 (last series of prototypes and mass production),
just a hand full of early prototypes.

BR,
Nikolaus



More information about the Letux-kernel mailing list