Skip to content

Device Tree Issues

This page collects Device Tree and overlay troubleshooting notes.

Overlay Compile Warnings

Typical checks:

dtc -@ -I dts -O dtb -o overlay.dtbo overlay.dts

Warnings around #address-cells, #size-cells, or reg formatting usually mean the node is missing parent bus context or uses an incomplete bus-style node definition.

Related page:

Driver Probe Does Not Run

Check the compatible string in both Device Tree and driver:

compatible = "myvendor,mydevice";
static const struct of_device_id my_of_match[] = {
    { .compatible = "myvendor,mydevice" },
    { }
};

The string must match exactly.

Related pages:

GPIO Property Not Found

If the driver uses:

devm_gpiod_get(dev, "reset", ...);

The Device Tree property should normally be:

reset-gpios = <...>;

The function name and property name must follow the GPIO descriptor naming convention.