1

I'm currently developping a Raspberry pi HAT. The Raspberry pi HAT must contain a EEPROM with several information in it. This information will be read at boot time in order to configure the Raspberry pi (GPIO port direction, name of the card, vendor Id, ...). Moreover the information are available (after reboot) in the folder /proc/device-tree/hat.

The fact that I must reboot each time is an incredible loss of time for my test. So my question is the following: Is that possible to reload the device tree and have access to the folder /proc/device-tree/hat without rebooting?

Thanks in advance!

2

This page in the documentation (section 3.5) states:

As of Linux 4.4, the RPi kernels support the dynamic loading of overlays and parameters. Compatible kernels manage a stack of overlays that are applied on top of the base DTB. Changes are immediately reflected in /proc/device-tree and can cause modules to be loaded and platform devices to be created and destroyed.

It also describes the dtoverlay command:

dtoverlay is a command line utility that loads and removes overlays while the system is running, as well as listing the available overlays and displaying their help information

... and the dtparam command:

dtparam creates an overlay that has the same effect as using a dtparam directive in config.txt

Further, section 3.5.3 provides GUIDELINES FOR WRITING RUNTIME-CAPABLE OVERLAYS. Although it does state that the guidelines are poorly documented (but gives some tips).

  • Thanks for your response but I found another solution in order to avoid the reload of the device tree – Majonsi Oct 14 '16 at 12:40
0

I didn't find a solution with the commands so I found another solution. HAT's information are in the folder /proc/device-tree. Information come from the content of the eeprom which is read and then put in the device tree at the boot time.

In order to avoid to reboot I read directly the eeprom content and then convert it into readable value. The eeprom can be access in the folder i2c-adaptater anytime.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.