dtoc: Support deleting device tree properties

Add support for deleting a device tree property. With the fallback
implementation this uses fdtput. With libfdt it uses the API call and
updates the offsets afterwards.

Signed-off-by: Simon Glass <sjg@chromium.org>
diff --git a/tools/dtoc/fdt_fallback.py b/tools/dtoc/fdt_fallback.py
index 1c8c9c7..0c0ebbc 100644
--- a/tools/dtoc/fdt_fallback.py
+++ b/tools/dtoc/fdt_fallback.py
@@ -70,6 +70,19 @@
 
             node.Scan()
 
+    def DeleteProp(self, prop_name):
+        """Delete a property of a node
+
+        The property is deleted using fdtput.
+
+        Args:
+            prop_name: Name of the property to delete
+        Raises:
+            CommandError if the property does not exist
+        """
+        args = [self._fdt._fname, '-d', self.path, prop_name]
+        command.Output('fdtput', *args)
+        del self.props[prop_name]
 
 class FdtFallback(Fdt):
     """Provides simple access to a flat device tree blob using fdtget/fdtput