UNO Q - Device Tree Overlay Help (Linux)

I'm looking to add a device tree overlay for the UNO Q's linux. However, I cannot find any configuration files to tell the system to boot with the .dtbo file I created.

Some specifics I need help with:

  • default location of overlay .dtbo files
  • how to confugre the system to boot with this new .dtbo file

I'm fairly new to the device tree (in general).

To use an overlay you have to recompile the Core. The Arduino core includes Zephyr and the device tree fully compiled and there seems to be no way to specify an overlay at run time.

Zephyr's DT != Linux DT

He is asking about Linux one.

Zephyr's DT affects FW running on STM32 while Linux's DT affects Linux drivers on QRB2210.

Sorry I missed the word “Linux”.

I've made some headway with the camera on my breakout board. Here are some things I've come to understand.

Device tree overlays are disabled by default in the kernel configuration. Under the /boot directory there is a config file. The file name seems to change when updates are made to the board. But, there is only one. Using, grep "OVERLAY" for that file, I get this output:

CONFIG_LD_CAN_USE_KEEP_IN_OVERLAY=y
CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y
# CONFIG_OF_OVERLAY is not set
CONFIG_OVERLAY_FS=m
# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set
CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
# CONFIG_OVERLAY_FS_INDEX is not set
# CONFIG_OVERLAY_FS_XINO_AUTO is not set
# CONFIG_OVERLAY_FS_METACOPY is not set
# CONFIG_OVERLAY_FS_DEBUG is not set

The CONFIG_OF_OVERLAY is not set. This seems to mean that overlays cannot be applied in the same way that you do on a Raspberry Pi. I am not sure what CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y allows for. It may offer another path forward. However, I have found another way around this for the meantime.

To get around this, I decided to copy over an existing .dtb file that was close to what I want (qrb2210-arduino-imola-camera-rpiv2.dtb). Then I added my overlay using fdtoverlay. Then, I copied that modified dtb to a new folder with this path /boot/efi/dtb/my_new_folder. I then copied over the modified device tree blob (dtb) to my_new_folder.

To have the system load this new dtb on startup, I modified the .conf file located at /boot/efi/entries/. At the end of the file I added the path to my device tree. Note: this file name seems to change occasionally too, but here is only one .conf file in there. Here is the modification:

# Boot Loader Specification type#1 entry
# File created by /usr/lib/kernel/install.d/90-loaderentry.install (systemd 257.9-1~deb13u1)
title      Debian GNU/Linux 13 (trixie)
version    6.16.7-g0dd6551ae96b
...
...
devicetree /dtb/my_new_folder/my_new_device_tree.dtb

Upon reboot, the camera (Raspberry Pi V2) was recognized by the system.

Current state:

  • I have a working board that can take an image.
  • Still figuring out software stack on top of this (trying to find something similar to libcamera).
  • Working on the device tree overlay for a MIPI-DSI display.


Could you explain exactly how you took the pictures? The only thing that worked was the cam tool, but the pictures are bad because cam only supports BGR888.

Where I can purchase this board? Also, what about quality?

@eddso So far, I've only gotten the cam tool to work myself too. Running into the same roadblock as you. Getting a signal, pictures seem OK on my end, but still need to figure out formatting and the software stack.

I'll post an update (hopefully this week) when I get a chance to explore further.

@extender777 These are from my own run. But, I have 4 of them from that run. It's on my website.

So far, the camera is working electrically and can take a photo with cam. The display is still a question mark, but if there's an updated needed to that I can always send you the updated board.

I've open-sourced the design as well. I'll be uploading software updates there too. It seems like a few people on the forum are working through similar software hurdles.

The Image Quality Lab adapter board pre-launch page is now live for you to sign up to receive updates and information on the launch of our Uno Q camera RPi camera adapter board. IQL Camera Bridge for Arduino UNO Q | Crowd Supply

OK, so we were able to get an image out of our IMX219 RPi adapter board. Some fine tuning needed but it proves out our board works.