We use cookies to provide our visitors with an optimal site experience. View our privacy notice and cookie notice to learn more about how we use cookies and how to manage your settings. By proceeding on our website you consent to the use of cookies.
with recent kernel I understand that cape management is moved from kernel to u-boot. I was using u-boot falcon mode to speed up the boot. Now I would use the recent Robert Nelson kernels (i.e. 4.14.87-bone-rt-r17) but I don’t understand how to load capes (for example to unable uarts) because with falcon mode I skip u-boot and I cannot set enable_uboot_overlays=1 and uboot_overlay_addr0=BB-UART1.dtb0 etc.
What I’m doing wrong? How can I enable uarts with recents kernels using u-boot falcon mode?
Falcon mode assumes one dtb, so you either patch your based device tree or you manually use fdtoverlay to apply the overlay to the base dtb:
voodoo@hestia:~$ fdtoverlay --help
Usage: apply a number of overlays to a base blob
fdtoverlay <options> [<overlay.dtbo> [<overlay.dtbo>]]
<type> s=string, i=int, u=unsigned, x=hex
Optional modifier prefix:
hh or b=byte, h=2 byte, l=4 byte (default)
Options: -[i:o:vhV]
-i, --input <arg> Input base DT blob
-o, --output <arg> Output DT blob
-v, --verbose Verbose messages
-h, --help Print this help and exit
-V, --version Print version and exit
This depends on the device, as enabling Falcon mode just removes loading the full version of u-boot.
Normal mode:
U-Boot SPL → U-Boot → Kernel
Falcon mode:
U-Boot SPL → Kernel
On some devices the full version of U-Boot is needed to initialize “all” peripherals, so while the Kernel will fully init everything, it may add extra delays into the kernel’s initialize time frame.
It “reduces” total boot time, from power on to login… Depending on device the “kernel” boot might be longer, but overall it should be shorter.
performance? Once you are booted up into the Linux Kernel there should be NO difference.