Device Tree Binding Not Working – Macros Not Generated & YAML Errors Not Detected

Hello,

I'm working on developing a driver for the AD4130 ADC in Zephyr and I'm facing issues related to the device tree binding integration. Specifically, it seems the chain between the .yaml binding file, the overlay file (.overlay), and the driver source code is not functioning correctly.

The main problems are:

  1. Device Tree Macros Not Generated
    The expected macros such as __device_dts_ord_*, or alias macros like DT_ALIAS(myad4130) are not being generated or worked automatically during the build, even though my overlay and bindings seem to be defined.

  2. Binding File Errors Are Not Caught
    When I make a mistake in the .yaml binding file (e.g., invalid syntax, wrong indentation, or incompatible structure), the build system does not report any error. It silently ignores the incorrect binding file, making it very difficult to debug.

I suspect there might be a misconfiguration in the way my bindings are integrated or that Zephyr is not correctly locating or parsing the .yaml file.

Could you please help me identify:

  • How to verify the functionality of my driver?

  • What are the correct steps to ensure macro generation from bindings/overlay?

Thank you in advance for your support!

Best regards,      1205.4130ad-zephyr-driver.zip

Parents Reply Children
  • Thank you for your response.
    However, I have already followed those tutorials, and this is not my first custom driver in Zephyr. Still, I’m completely lost when it comes to this particular issue.

    Would it be possible for you to review the project as a .zip file, or take a look at the information I can provide in screenshots?

    We need this driver to continue our development with the nRF5340 SoC, so your help would be greatly appreciated

    We use already Eval-Board nrf7002 with nrf5340 SoC

Related