binman: Support templates at any level

Allow templates to be used inside a section, not just in the top-level
/binman node.

Signed-off-by: Simon Glass <sjg@chromium.org>
diff --git a/tools/binman/control.py b/tools/binman/control.py
index f92c152..25e6681 100644
--- a/tools/binman/control.py
+++ b/tools/binman/control.py
@@ -493,8 +493,8 @@
     Processing involves copying each subnode of the template node into the
     target node.
 
-    For now this is not done recursively, so templates must be at the top level
-    of the binman image.
+    This is done recursively, so templates can be at any level of the binman
+    image, e.g. inside a section.
 
     See 'Templates' in the Binman documnentation for details.
     """
@@ -502,6 +502,7 @@
         tmpl = fdt_util.GetPhandleList(node, 'insert-template')
         if tmpl:
             node.copy_subnodes_from_phandles(tmpl)
+        _ProcessTemplates(node)
 
 def PrepareImagesAndDtbs(dtb_fname, select_images, update_fdt, use_expanded):
     """Prepare the images to be processed and select the device tree