Skip to content

Device Tree Overlays Loadable at Run-Time #62

Closed
@greenbreakfast

Description

Context

openwrt-22.03

Motivation

By being able to dynamically add hardware support to any running firmware just by installing packages, this opens the door for easier support of more use cases for the Omega2.

With this, users can avoid:

  • Having to build fully custom firmware to configure specific hardware functionality
  • Having to maintain multiple DTS files

With the current static device tree setup, if a user wants to make a change in the device tree, they have to build a completely custom firmware using the build system. Not only does this take time to first figure out and then compile, but it also limits the number of people who are able to make these types of hardware configurations changes on the Omega2.

Description

Add support for runtime loading of device tree overlays to the Omega2 openwrt-22.03 firmware

The end-result: when device tree overlay definition files are placed in a specific location in the filesystem, on the next boot, the overlay should be loaded.

Specifics

  • Add patches required to support DT overlay to buildsystem wrapper
  • Create a package that can be installed with opkg to enable software SPI - as a demo

Alternatives Considered

This is the best path forward.
Dynamic device tree overlays offer flexibility for all users. This also gives us a chance to create packages around some of the most common hardware functionality requests that device tree changes.

Much better than statically having to define DTS files and recompile firmware from scratch.

Additional Resources

See this post by @plan44 on the Onion Community: https://community.onion.io/topic/4993/beta-firmware-update-nodejs-v16-19-openwrt-22-03-3-pwm-and-more/4

Reference to existing IPK package file?

Implemented previously by @plan44
See patches 251 to 253 in https://github.com/plan44/plan44-feed/tree/main/p44b-onion/p44build/global-patches

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

Type

No type

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions