diff --git a/src/binwalk/magic/firmware b/src/binwalk/magic/firmware
index e300521..c836859 100644
--- a/src/binwalk/magic/firmware
+++ b/src/binwalk/magic/firmware
@@ -870,3 +870,29 @@
 >0x24      ulelong     0
 >0x28      ulelong     0
 >0x2c      ulelong     0
+
+# Flattened device tree
+# Device Tree specification v0.2
+# https://github.com/devicetree-org/devicetree-specification/releases/download/v0.2/devicetree-specification-v0.2.pdf
+# Device tree magic
+0           ubelong   0xd00dfeed  Flattened device tree,
+# Device tree size, may not be less than header size (40)
+>4          ubelong   <40         {invalid}
+>4          ubelong   x               size: %d bytes,
+# Offset of structure block, may not be less than header size (40), must be aligned to 4 byte boundary
+>8          ubelong   <40         {invalid}
+>8          ubelong&3 !0          {invalid}
+>8          ubelong   !0
+# First node of structure block, must be either FDT_BEGIN_NODE (1), FDT_NOP (4) or FDT_END (9)
+>>(8.L)     ubelong   !1
+>>>(8.L)    ubelong   !4
+>>>>(8.L)   ubelong   !9          {invalid}
+>>>>(8.L)   ubelong   9               empty device tree,
+# Offset of strings block, may not be less than header size (40)
+>12         ubelong   <40         {invalid}
+# Version
+>20         ubelong   x               version: %d
+# Size of strings block, must be greater than 0
+>32         ubelong   0           {invalid}
+# Size of structure block, must be greater than 0
+>36         ubelong   0           {invalid}