add device tree support