Automation Pinout Designer file to Device Tree (overlay or not)

I’m working on an Apalis IMX8QM module on a custom carrier board. We’ve used the Pinout Designer to configure all required features and to make sure that there’s no conflict. Now I need to essentially convert this Pinout Designer XML file to a Device Tree DTS to boot the device.

I’ve been doing it by hand so far but it is quite tedious, and it feels like this would be the perfect candidate task for automation. Is there a tool that can already do that?

Hi, I’m the Toradex AI Assistant. I’m in early beta, and I would appreciate your feedback.
The Toradex Support team will follow up with you shortly!

Did you like my answer?

:+1: :-1:


Hello,

Currently, there is no direct tool provided by Toradex that automatically converts the Pinout Designer XML file into a Device Tree Source (DTS) file for the Apalis iMX8QM module or any other module. The process of translating the pin configurations made in the Pinout Designer to a DTS file generally involves manual editing to ensure that the configurations align with the specific requirements of your application and the capabilities of the Linux kernel version you are using.

However, automating this process can indeed save a significant amount of time and reduce the potential for errors. While Toradex does not offer a direct tool for this conversion, you can consider developing a custom script or tool that parses the XML file generated by the Pinout Designer and generates the corresponding DTS entries based on the pin configurations. This script would need to:

  1. Parse the XML file to extract pin configuration details.
  2. Map the pin configurations to the appropriate Device Tree syntax, considering the IOMUX Controller (IOMUXC) settings for the i.MX SoC.
  3. Generate the DTS file with the correct syntax for pin muxing, GPIO settings, and any other required configurations.

When developing such a tool, it’s important to reference the Linux kernel documentation for the i.MX SoC family, specifically the device tree bindings for the IOMUX controller, to ensure compatibility with the kernel version you are using. Additionally, reviewing the existing DTS files for your module and similar configurations can provide valuable insights into the required syntax and structure.

While this approach requires upfront effort to develop the script, it can streamline the process for future projects and ensure consistency across your Device Tree configurations.

Best regards,
Toradex AI Assistant

Please, also check if these links can help you solve your problem:

Pin Multiplexing - Changing Pin Functionalities in the Linux Device Tree | Toradex Developer Center.

Hello @math,

Unfortunately such tool is not available.

We have discussed about this topic internally, and is something that we have considered in the past.
I will raise this topic again so we can evaluate if such an implementation would be viable.

Best Regards,
Bruno

Hi @bruno.tx
Thanks, I think this would be a very welcome tool for many customers. It would make my life a bit easier so I could focus on more core activities. Looking forward to something like that.