I have a highly customized device tree for BeagleBone Black, which is loaded by u-boot and perfectly works with 4.x kernels. Now I’m trying to migrate to 5.x kernels, and realized that my dtb/dtbo files won’t work ― the kernel gets stuck at the very beginning.
What would be the best strategy to migrate my DTS code? Is there a place I can find any description on principle differences?
Thanks!
1 Like
v4.x to v5.x. shouldn’t have too many changes…
This repo has device tree’s from v4.4.x → 5.14.x
Regards,
Thanks Robert!
Since my DT code is significantly deviated from the original, it’s not easy to compare. Well, I’ll have to do it anyway.
Here is what I get with 5.4 kernel and the DT from 4.14 until it gets stuck:
Starting kernel ...
[ 0.000409] timer_probe: no matching timers found
[ 0.044680] omap_hwmod: emif: no dt node
[ 0.063499] platform 44e07000.gpio: Cannot lookup hwmod 'gpio1'
[ 0.063652] omap_gpio 44e07000.gpio: Could not get gpio dbck. Disable debounce
[ 0.064348] platform 4804c000.gpio: Cannot lookup hwmod 'gpio2'
[ 0.064506] omap_gpio 4804c000.gpio: Could not get gpio dbck. Disable debounce
[ 0.065073] platform 481ac000.gpio: Cannot lookup hwmod 'gpio3'
[ 0.065192] omap_gpio 481ac000.gpio: Could not get gpio dbck. Disable debounce
[ 0.065730] platform 481ae000.gpio: Cannot lookup hwmod 'gpio4'
[ 0.065852] omap_gpio 481ae000.gpio: Could not get gpio dbck. Disable debounce
[ 0.066371] platform 44e09000.serial: Cannot lookup hwmod 'uart1'
[ 0.066612] platform 48022000.serial: Cannot lookup hwmod 'uart2'
[ 0.066832] platform 48024000.serial: Cannot lookup hwmod 'uart3'
[ 0.067060] platform 481a8000.serial: Cannot lookup hwmod 'uart5'
[ 0.067339] platform 44e0b000.i2c: Cannot lookup hwmod 'i2c1'
[ 0.067567] platform 4819c000.i2c: Cannot lookup hwmod 'i2c3'
[ 0.067784] platform 48060000.mmc: Cannot lookup hwmod 'mmc1'
[ 0.068004] platform 481d8000.mmc: Cannot lookup hwmod 'mmc2'
[ 0.071248] platform 4a100000.ethernet: Cannot lookup hwmod 'cpgmac0'
[ 0.960005] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
[ 1.093183] OF: graph: no port node found in /ocp/lcdc@4830e000
[ 1.100448] OF: graph: no port node found in /ocp/lcdc@4830e000
[ 1.107075] OF: graph: no port node found in /ocp/lcdc@4830e000
[ 1.192211] omap_voltage_late_init: Voltage driver support not added
[ 1.199214] PM: Cannot get wkup_m3_ipc handle
[ 1.225217] pm33xx pm33xx: PM: am33xx_pm_alloc_sram: Unable to get sram pool for ocmcram
The 5.10 kernel shows nothing at all.
Most of those “hwmod”'s are gone… Are you at-least building your *.dts against the newer am335x<>.dtsi files? Unless you want to share your *.dts file, this will be too fun…
Regards,
Are you at-least building your *.dts against the newer am335x<>.dtsi files?
I tried, but got errors. I think, it’s easier to do it from scratch.
Just tried 5.10 from your GIT repository, and am335x-boneblack-uboot.dtb and overlays/BB-BONE-eMMC1-01-00A0.dtbo are enough to get it running. I’ll work on the rest.
Thanks!
I cannot get kernel’s logo displayed, the LCD is not active, I guess, the problem is this, but I have no idea how to fix it:
[ 1.083753][ T75] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
After booting it is okay, the framebuffer works as expected.