** Description changed: Impact: - Overlay dtb files should be applied to the main board dtb, before it's - being passed down to the kernel for boot - but this didn't happen in the - arm64 variant of the bionic/raspi2 kernel. + Overlay files are dtb fragments that, upon boot, patch the main dtb board + file to enable Raspberry Pi board hardware extension commonly know as + Raspberry HATs. + + This mechanism works fine for the bionic/raspi2 kernel, while it didn't + work for the arm64 variant since are dtb files are missing all symbols + there. + + This patch instruct the device tree compiler to add symbols to the dtb + files during the 'make dtbs' target, and fix overlay patching for + bionic/raspi2 arm64. + /boot/firmware/config.txt: ... dtoverlay=pitft35-resistive /boot/firmware/cmdline.txt: dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait fbcon=map:10 fbcon=font:VGA8x8 But the attached second display is never initialized. Fix: The main dtb must be built with symbols, to let overlay files find which section to patch - the applied patch does exactly that. Apply, build, install and reboot: dmesg: ... [ 5.157547] fb_hx8357d: module is from the staging directory, the quality is unknown, you have been warned. [ 5.158349] fbtft_of_value: buswidth = 8 [ 5.158362] fbtft_of_value: debug = 0 [ 5.158366] fbtft_of_value: rotate = 90 [ 5.158372] fbtft_of_value: fps = 25 ubuntu@raspi64:~$ ls -la /dev/fb1 crw-rw---- 1 root video 29, 1 Jan 28 15:58 /dev/fb1 Regression risk: We only change how the arm64 raspi2 dtbs are generated, and since we didn't produce any image using this kernel so far, the regression risk is zero. ---
** Description changed: Impact: Overlay files are dtb fragments that, upon boot, patch the main dtb board file to enable Raspberry Pi board hardware extension commonly know as Raspberry HATs. This mechanism works fine for the bionic/raspi2 kernel, while it didn't - work for the arm64 variant since are dtb files are missing all symbols + work for the raspi2 arm64 variant since our dtb files are missing symbols there. This patch instruct the device tree compiler to add symbols to the dtb files during the 'make dtbs' target, and fix overlay patching for bionic/raspi2 arm64. + The resulting increase is size is negligible (~30kb for the whole kernel + package). + + Fix: + + Apply the patch, build, install and reboot: /boot/firmware/config.txt: ... dtoverlay=pitft35-resistive /boot/firmware/cmdline.txt: dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait fbcon=map:10 fbcon=font:VGA8x8 - But the attached second display is never initialized. - - Fix: - - The main dtb must be built with symbols, to let overlay files find which - section to patch - the applied patch does exactly that. - - Apply, build, install and reboot: dmesg: ... [ 5.157547] fb_hx8357d: module is from the staging directory, the quality is unknown, you have been warned. [ 5.158349] fbtft_of_value: buswidth = 8 [ 5.158362] fbtft_of_value: debug = 0 [ 5.158366] fbtft_of_value: rotate = 90 [ 5.158372] fbtft_of_value: fps = 25 ubuntu@raspi64:~$ ls -la /dev/fb1 crw-rw---- 1 root video 29, 1 Jan 28 15:58 /dev/fb1 Regression risk: We only change how the arm64 raspi2 dtbs are generated, and since we didn't produce any image using this kernel so far, the regression risk is zero. --- -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1782121 Title: arm64: overlays don't get applied To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux-raspi2/+bug/1782121/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
