U-Boot cape overlay -- hangs linux boot; functions properly when loaded in kernel

(… expert in the sense that I am not a newbie …)

I have a functioning system (BBB derivative) that works when the .dtbo overlays are loaded under rc.local, but hangs linux when loaded via u-boot. I am running serial port debugging and I get nothing. ( My motivation is that I want to enable the LCD as soon as possible to re-display the boot logo in linux, rather than leaving the ghost of the logo from u-boot that sits on the screen until the /dev/fb0 is activated by linux. )

Where can I look for any hints?

(successful boot with

echo OPD-LCD5-03:00A0 > /sys/devices/platform/bone_capemgr/slots
echo OPD-GPIO:00A0 > /sys/devices/platform/bone_capemgr/slots
echo OPD-ADC > /sys/devices/platform/bone_capemgr/slots

in script called/chained from rc.local )

… boot log from debug serial port:

Checking for: /boot/boot.scr …
Checking for: /boot/uEnv.txt …
gpio: pin 55 (gpio 55) value is 1
2417 bytes read in 15 ms (157.2 KiB/s)
armv7 Loaded environment from /boot/uEnv.txt
debug: [dtb=am335x-boneblack-emmc-overlay.dtb] …
Using: dtb=am335x-boneblack-emmc-overlay.dtb …
Checking if uname_r is set in /boot/uEnv.txt…
gpio: pin 56 (gpio 56) value is 1
Running ti_armv7 uname_boot …
loading /boot/vmlinuz-4.4.59-ti-r96 …
8598848 bytes read in 562 ms (14.6 MiB/s)
loading /boot/dtbs/4.4.59-ti-r96/am335x-boneblack-emmc-overlay.dtb …
54478 bytes read in 35 ms (1.5 MiB/s)
uboot_overlays: add [enable_uboot_overlays=1] to /boot/uEnv.txt to enable…
loading /boot/initrd.img-4.4.59-ti-r96 …
6098679 bytes read in 402 ms (14.5 MiB/s)
debug: [console=ttyO0,115200n8 root=UUID=f38a6281-f4c4-46e5-8544-85248cf060e8 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 quiet] …
debug: [bootz 0x82000000 0x88080000:5d0ef7 0x88000000] …

Flattened Device Tree blob at 88000000

Booting using the fdt blob at 0x88000000
Loading Ramdisk to 8fa2f000, end 8ffffef7 … OK
Loading Device Tree to 8fa1e000, end 8fa2e4cd … OK

Starting kernel (mjp - mod to 4) …

[ 0.000987] clocksource_probe: no matching clocksources found
[ 2.102373] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
[ 2.306201] omap_voltage_late_init: Voltage driver support not added
[ 2.317741] PM: Cannot get wkup_m3_ipc handle
[ 3.607808] remoteproc1: failed to load am335x-pru0-fw
[ 3.613537] remoteproc1: request_firmware failed: -2
[ 3.618669] pru-rproc 4a334000.pru0: rproc_boot failed
[ 3.658590] remoteproc1: failed to load am335x-pru1-fw

… goes on to boot successfully

(hangs with

uboot_overlay_addr5=/lib/firmware/OPD-LCD5-03-00A0.dtbo
uboot_overlay_addr6=/lib/firmware/OPD-GPIO-00A0.dtbo
uboot_overlay_addr7=/lib/firmware/OPD-ADC-00A0.dtbo

in /boot/uEnv.txt)

… boot log from debug serial port:

Checking for: /boot/boot.scr …
Checking for: /boot/uEnv.txt …
gpio: pin 55 (gpio 55) value is 1
2469 bytes read in 71 ms (33.2 KiB/s)
armv7 Loaded environment from /boot/uEnv.txt
debug: [dtb=am335x-boneblack-emmc-overlay.dtb] …
Using: dtb=am335x-boneblack-emmc-overlay.dtb …
Checking if uname_r is set in /boot/uEnv.txt…
gpio: pin 56 (gpio 56) value is 1
Running ti_armv7 uname_boot …
loading /boot/vmlinuz-4.4.59-ti-r96 …
8598848 bytes read in 597 ms (13.7 MiB/s)
uboot_overlays: dtb=am335x-boneblack-emmc-overlay.dtb in /boot/uEnv.txt, unable to use [uboot_base_dtb=am335x-boneblack-uboot.dtb] …
loading /boot/dtbs/4.4.59-ti-r96/am335x-boneblack-emmc-overlay.dtb …
54478 bytes read in 131 ms (405.3 KiB/s)
uboot_overlays: [fdt_buffer=0x60000] …
uboot_overlays: loading /lib/firmware/AM335X-20-00A0.dtbo …
378 bytes read in 174 ms (2 KiB/s)
uboot_overlays: loading /lib/firmware/OPD-LCD5-03-00A0.dtbo …
3835 bytes read in 95 ms (39.1 KiB/s)
uboot_overlays: loading /lib/firmware/OPD-GPIO-00A0.dtbo …
1094 bytes read in 223 ms (3.9 KiB/s)
uboot_overlays: loading /lib/firmware/OPD-ADC-00A0.dtbo …
563 bytes read in 93 ms (5.9 KiB/s)
uboot_overlays: uboot loading of [/lib/firmware/BB-BONE-eMMC1-01-00A0.dtbo] disabled by /boot/uEnv.txt [disable_uboot_overlay_emmc=1]…
uboot_overlays: uboot loading of [/lib/firmware/BB-HDMI-TDA998x-00A0.dtbo] disabled by /boot/uEnv.txt [disable_uboot_overlay_video=1]…
uboot_overlays: uboot loading of [/lib/firmware/BB-ADC-00A0.dtbo] disabled by /boot/uEnv.txt [disable_uboot_overlay_adc=1]…
uboot_overlays: cape universal disabled, external cape enabled or detected…
loading /boot/initrd.img-4.4.59-ti-r96 …
6098679 bytes read in 434 ms (13.4 MiB/s)
debug: [console=ttyO0,115200n8 bone_capemgr.uboot_capemgr_enabled=1 root=/dev/mmcblk0p1 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 quiet] …
debug: [bootz 0x82000000 0x88080000:5d0ef7 88000000] …

Flattened Device Tree blob at 88000000

Booting using the fdt blob at 0x88000000
Loading Ramdisk to 8fa2f000, end 8ffffef7 … OK
reserving fdt memory region: addr=88000000 size=6e000
Loading Device Tree to 8f9be000, end 8fa2efff … OK

Starting kernel (mjp - mod to 4) …

… hangs –

I would appreciate any hints as to where to look for clues.

Thanks

Mike Peters

uboot_overlays: dtb=am335x-boneblack-emmc-overlay.dtb in /boot/uEnv.txt, unable to use [uboot_base_dtb=am335x-boneblack-uboot.dtb] ...
loading /boot/dtbs/4.4.59-ti-r96/am335x-boneblack-emmc-overlay.dtb ...
54478 bytes read in 131 ms (405.3 KiB/s)

First thing to check: disable that ^ line in /boot/uEnv.txt

#dtb=am335x-boneblack-emmc-overlay.dtb

u-boot overlay will select the proper base..

uboot_overlays: [fdt_buffer=0x60000] ...
uboot_overlays: loading /lib/firmware/AM335X-20-00A0.dtbo ...
378 bytes read in 174 ms (2 KiB/s)

"This" ^ could cause lockup's it was removed awhile back and more
integrated in "am335x-boneblack-uboot.dtb"...

uboot_overlays: loading /lib/firmware/OPD-LCD5-03-00A0.dtbo ...
3835 bytes read in 95 ms (39.1 KiB/s)
uboot_overlays: loading /lib/firmware/OPD-GPIO-00A0.dtbo ...
1094 bytes read in 223 ms (3.9 KiB/s)
uboot_overlays: loading /lib/firmware/OPD-ADC-00A0.dtbo ...
563 bytes read in 93 ms (5.9 KiB/s)
uboot_overlays: uboot loading of [/lib/firmware/BB-BONE-eMMC1-01-00A0.dtbo] disabled by /boot/uEnv.txt [disable_uboot_overlay_emmc=1]...
uboot_overlays: uboot loading of [/lib/firmware/BB-HDMI-TDA998x-00A0.dtbo] disabled by /boot/uEnv.txt [disable_uboot_overlay_video=1]...
uboot_overlays: uboot loading of [/lib/firmware/BB-ADC-00A0.dtbo] disabled by /boot/uEnv.txt [disable_uboot_overlay_adc=1]...
uboot_overlays: cape universal disabled, external cape enabled or detected...
loading /boot/initrd.img-4.4.59-ti-r96 ...
6098679 bytes read in 434 ms (13.4 MiB/s)
debug: [console=ttyO0,115200n8 bone_capemgr.uboot_capemgr_enabled=1 root=/dev/mmcblk0p1 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 quiet] ...
debug: [bootz 0x82000000 0x88080000:5d0ef7 88000000] ...
## Flattened Device Tree blob at 88000000
   Booting using the fdt blob at 0x88000000
   Loading Ramdisk to 8fa2f000, end 8ffffef7 ... OK
   reserving fdt memory region: addr=88000000 size=6e000
   Loading Device Tree to 8f9be000, end 8fa2efff ... OK

Starting kernel (mjp - mod to 4) ...

... hangs --

I would appreciate any hints as to where to look for clues.

Considering 4.4.59-ti-r96 came out in Apri 4, 2017..

Any chance can you move your microSD image to u-boot: v2018.03 +
v4.14.x-ti (4.14.60-ti-r67)

Regards,

Robert,

Thanks for the quick reply. I tried my OPD-LCD5-03-00A0.dtbo overlay with the latest Ubuntu console image (7/14), and it also hangs.

I checked the sizes of the overlays for BB-BONE-LCD7-01-00A3.dtbo, which I use with a BBB, and the one I got (probably from an old Debian build), is a significantly different size than the one that comes with 4.14.54-ti-r63.

I noticed you suggested in another post on a related topic to get the latest DTC, and I will do that – Very likely I am working with an old compiler, and am therefore incompatible.

Thanks for your help

Mike