diff --git a/utils/README.md b/utils/README.md
index fd2cf97..6fa3409 100644
--- a/utils/README.md
+++ b/utils/README.md
@@ -195,7 +195,8 @@
       dt_entry_count = 3
    dt_entries_offset = 32
            page_size = 2048
-         reserved[0] = 00000000
+             version = 0
+
 dt_table_entry[0]:
              dt_size = 380
            dt_offset = 128
diff --git a/utils/src/dt_table.c b/utils/src/dt_table.c
index 6eda182..19d443a 100644
--- a/utils/src/dt_table.c
+++ b/utils/src/dt_table.c
@@ -33,4 +33,5 @@
   header->dt_entry_size = cpu_to_fdt32(entry_size);
   header->dt_entries_offset = cpu_to_fdt32(header_size);
   header->page_size = cpu_to_fdt32(DT_TABLE_DEFAULT_PAGE_SIZE);
+  header->version = cpu_to_fdt32(DT_TABLE_DEFAULT_VERSION);
 }
diff --git a/utils/src/dt_table.h b/utils/src/dt_table.h
index e7cd9d5..831b80f 100644
--- a/utils/src/dt_table.h
+++ b/utils/src/dt_table.h
@@ -25,6 +25,7 @@
 
 #define DT_TABLE_MAGIC 0xd7b7ab1e
 #define DT_TABLE_DEFAULT_PAGE_SIZE 2048
+#define DT_TABLE_DEFAULT_VERSION 0
 
 struct dt_table_header {
   uint32_t magic;             /* DT_TABLE_MAGIC */
@@ -40,7 +41,9 @@
                                  no padding is appended */
 
   uint32_t page_size;         /* flash page size we assume */
-  uint32_t reserved[1];       /* must be zero */
+  uint32_t version;           /* DTBO image version, the current version is 0.
+                                 The version will be incremented when the dt_table_header
+                                 struct is updated. */
 };
 
 struct dt_table_entry {
diff --git a/utils/src/mkdtboimg.py b/utils/src/mkdtboimg.py
index 5f7e40f..c2dbb08 100755
--- a/utils/src/mkdtboimg.py
+++ b/utils/src/mkdtboimg.py
@@ -186,7 +186,7 @@
                          self.total_size, self.header_size,
                          self.dt_entry_size, self.dt_entry_count,
                          self.dt_entries_offset, self.page_size,
-                         self.reserved)
+                         self.version)
 
     def _update_dt_entry_header(self, dt_entry, metadata_offset):
         """Converts each DT entry header entry into binary data for DTBO file.
@@ -231,7 +231,7 @@
         """
         (self.magic, self.total_size, self.header_size,
          self.dt_entry_size, self.dt_entry_count, self.dt_entries_offset,
-         self.page_size, self.reserved) = struct.unpack_from('>8I', buf, 0)
+         self.page_size, self.version) = struct.unpack_from('>8I', buf, 0)
 
         # verify the header
         if self.magic != self._DTBO_MAGIC:
@@ -246,10 +246,6 @@
             raise ValueError('Invalid DT entry header size (%d) in DTBO file' %
                              (self.dt_entry_size))
 
-        if self.reserved:
-            raise ValueError('Invalid reserved field (%d) in DTBO header' %
-                             (self.reserved))
-
     def _read_dt_entries_from_metadata(self):
         """Reads individual DT entry headers from metadata buffer.
 
@@ -321,7 +317,7 @@
                 return entry
         return None
 
-    def __init__(self, file_handle, page_size=None):
+    def __init__(self, file_handle, page_size=None, version=0):
         """Constructor for Dtbo Object
 
         Args:
@@ -345,7 +341,7 @@
             self.dt_entry_count = 0
             self.dt_entries_offset = self._DT_TABLE_HEADER_SIZE
             self.page_size = page_size
-            self.reserved = 0
+            self.version = version
             self.__metadata_size = self._DT_TABLE_HEADER_SIZE
         else:
             self._read_dtbo_image()
@@ -354,7 +350,7 @@
         sb = []
         sb.append('dt_table_header:')
         _keys = ('magic', 'total_size', 'header_size', 'dt_entry_size',
-                 'dt_entry_count', 'dt_entries_offset', 'page_size')
+                 'dt_entry_count', 'dt_entries_offset', 'page_size', 'version')
         for key in _keys:
             if key == 'magic':
                 sb.append('{key:>20} = {value:08x}'.format(key=key,
@@ -362,8 +358,6 @@
             else:
                 sb.append('{key:>20} = {value:d}'.format(key=key,
                                                          value=self.__dict__[key]))
-        sb.append('{key:>20} = {value:08d}'.format(key='reserved[0]',
-                                                   value=self.reserved))
         count = 0
         for dt_entry in self.__dt_entries:
             sb.append('dt_table_entry[{0:d}]:'.format(count))
@@ -591,6 +585,7 @@
     # set all global defaults
     global_args = dict((k, '0') for k in dt_keys)
     global_args['page_size'] = 2048
+    global_args['version'] = 0
 
     dt_args = []
     found_dt_entry = False
@@ -639,6 +634,8 @@
     parser = argparse.ArgumentParser(prog='create', add_help=False)
     parser.add_argument('--page_size', type=int, dest='page_size',
                         action='store', default=2048)
+    parser.add_argument('--version', type=int, dest='version',
+                        action='store', default=0)
     parser.add_argument('--id', type=str, dest='global_id',
                         action='store', default='0')
     parser.add_argument('--rev', type=str, dest='global_rev',
@@ -705,7 +702,7 @@
     if not remainder:
         raise ValueError('List of dtimages to add to DTBO not provided')
     dt_entries = parse_dt_entries(global_args, remainder)
-    dtbo = Dtbo(fout, global_args.page_size)
+    dtbo = Dtbo(fout, global_args.page_size, global_args.version)
     dtbo.add_dt_entries(dt_entries)
     dtbo.commit()
     fout.close()
@@ -743,7 +740,7 @@
         raise ValueError('Configuration file must be provided')
 
     _DT_KEYS = ('id', 'rev', 'custom0', 'custom1', 'custom2', 'custom3')
-    _GLOBAL_KEYS = ('page_size')
+    _GLOBAL_KEYS = ('page_size', 'version')
 
     global_args, dt_args = parse_config_file(args.conf_file,
                                              _DT_KEYS, _GLOBAL_KEYS)
@@ -762,7 +759,7 @@
         dt_entries.append(DtEntry(**params))
 
     # Create and write DTBO file
-    dtbo = Dtbo(fout, global_args['page_size'])
+    dtbo = Dtbo(fout, global_args['page_size'], global_args['version'])
     dtbo.add_dt_entries(dt_entries)
     dtbo.commit()
     fout.close()
@@ -804,7 +801,8 @@
     sb = []
     sb.append('  ' + progname + ' create <image_file> (<global_option>...) (<dtb_file> (<entry_option>...) ...)\n')
     sb.append('    global_options:')
-    sb.append('      --page_size <number>     Output file name. Default: 2048')
+    sb.append('      --page_size <number>     Page size. Default: 2048')
+    sb.append('      --version <number>       DTBO version. Default: 0')
     sb.append('      --id <number>       The default value to set property id in dt_table_entry. Default: 0')
     sb.append('      --rev <number>')
     sb.append('      --custom0=<number>')
diff --git a/utils/src/mkdtimg_core.c b/utils/src/mkdtimg_core.c
index 4c2059f..849ca4c 100644
--- a/utils/src/mkdtimg_core.c
+++ b/utils/src/mkdtimg_core.c
@@ -38,6 +38,7 @@
 struct dt_global_options {
   struct dt_options default_options;
   uint32_t page_size;
+  uint32_t version;
 };
 
 struct dt_image_writer_fdt_info {
@@ -68,6 +69,7 @@
 static void init_dt_global_options(struct dt_global_options *options) {
   init_dt_options(&options->default_options);
   options->page_size = DT_TABLE_DEFAULT_PAGE_SIZE;
+  options->version = DT_TABLE_DEFAULT_VERSION;
 }
 
 static void copy_dt_options(struct dt_options *target, struct dt_options *options) {
@@ -178,6 +180,7 @@
   header.dt_entry_count = cpu_to_fdt32(entry_count);
   header.total_size = cpu_to_fdt32(total_size);
   header.page_size = cpu_to_fdt32(options->page_size);
+  header.version = cpu_to_fdt32(options->version);
 
   fseek(img_fp, 0, SEEK_SET);
   fwrite(&header, sizeof(header), 1, img_fp);
@@ -296,6 +299,8 @@
 
   if (strcmp(option, "page_size") == 0) {
     global_options->page_size = strtoul(value, NULL, 0);
+  } else if (strcmp(option, "version") == 0) {
+    global_options->version = strtoul(value, NULL, 0);
   } else {
     return set_dt_options(&global_options->default_options, option, value);
   }
diff --git a/utils/src/mkdtimg_create.c b/utils/src/mkdtimg_create.c
index bce2a08..74fd687 100644
--- a/utils/src/mkdtimg_create.c
+++ b/utils/src/mkdtimg_create.c
@@ -96,7 +96,8 @@
   fprintf(out_fp, "  %s create <image_file> (<global_option>...) (<dtb_file> (<entry_option>...) ...)\n\n", prog_name);
   fprintf(out_fp,
     "    global_options:\n"
-    "      --page_size <number>     Output file name. Default: 2048\n"
+    "      --page_size <number>     Output page size. Default: 2048\n"
+    "      --version <version>      DTBO version. Default: 0\n"
     "      --id=<number|path>       The default value to set property id in dt_table_entry. Default: 0\n"
     "      --rev=<number|path>\n"
     "      --custom0=<number|path>\n"
diff --git a/utils/src/mkdtimg_dump.c b/utils/src/mkdtimg_dump.c
index b04a816..382cefb 100644
--- a/utils/src/mkdtimg_dump.c
+++ b/utils/src/mkdtimg_dump.c
@@ -114,7 +114,7 @@
   output_prop_int(out_fp, "dt_entry_count", header->dt_entry_count);
   output_prop_int(out_fp, "dt_entries_offset", header->dt_entries_offset);
   output_prop_int(out_fp, "page_size", header->page_size);
-  output_prop_hex(out_fp, "reserved[0]", header->reserved[0]);
+  output_prop_int(out_fp, "version", header->version);
 }
 
 static void output_table_entry(FILE *out_fp, int index, const struct dt_table_entry *entry) {
diff --git a/utils/tests/data/mkdtboimg.cfg b/utils/tests/data/mkdtboimg.cfg
index a5e8c2d..603292c 100644
--- a/utils/tests/data/mkdtboimg.cfg
+++ b/utils/tests/data/mkdtboimg.cfg
@@ -3,6 +3,7 @@
   id=0x100                # Read the value form the path in dtb
   rev=0x100               # Read the value form the path in dtb
   custom0=0xabc           # default value
+  version=1
 
 board1v1.dts.dtb
 
diff --git a/utils/tests/data/mkdtimg.cfg b/utils/tests/data/mkdtimg.cfg
index 3cf2a81..e7a464e 100644
--- a/utils/tests/data/mkdtimg.cfg
+++ b/utils/tests/data/mkdtimg.cfg
@@ -3,6 +3,7 @@
   id=/:board_id           # Read the value form the path in dtb
   rev=/:board_rev         # Read the value form the path in dtb
   custom0=0xabc           # default value
+  version=1
 
 board1v1.dts.dtb
 
diff --git a/utils/tests/mkdtboimg_testdata.sh b/utils/tests/mkdtboimg_testdata.sh
index 50cafe2..1574343 100755
--- a/utils/tests/mkdtboimg_testdata.sh
+++ b/utils/tests/mkdtboimg_testdata.sh
@@ -52,14 +52,14 @@
 done
 
 echo "Creating dtbo image with mkdtbimg"
-mkdtimg create ${MKDTIMG_OUT}/create.img --page_size=4096 --id=0x100 \
+mkdtimg create ${MKDTIMG_OUT}/create.img --page_size=4096 --id=0x100 --version=1\
     --rev=0x100 --custom0=0xabc "${OUTDIR}/board1v1.dts.dtb" "${OUTDIR}/board1v1_1.dts.dtb" \
     --id=0xddccbbaa --rev=0x01000100 "${OUTDIR}/board2v1.dts.dtb" --id=0x200 \
     --rev=0x201 "${OUTDIR}/board1v1.dts.dtb" --custom0=0xdef > /dev/null
 
 echo "Creating dtbo image with mkdtboimg"
 ../src/mkdtboimg.py create  ${MKDTBOIMG_OUTCREATE}/create.img --page_size=4096 \
-    --id=0x100 --rev=0x100 --custom0=0xabc "${OUTDIR}/board1v1.dts.dtb" \
+    --id=0x100 --rev=0x100 --custom0=0xabc --version=1 "${OUTDIR}/board1v1.dts.dtb" \
     "${OUTDIR}/board1v1_1.dts.dtb" --id=0xddccbbaa --rev=0x01000100 \
     "${OUTDIR}/board2v1.dts.dtb" --id=0x200 --rev=0x201 \
     "${OUTDIR}/board1v1.dts.dtb" --custom0=0xdef > /dev/null
diff --git a/utils/tests/mkdtimg_testdata.sh b/utils/tests/mkdtimg_testdata.sh
index d5b7f2f..7243e9f 100755
--- a/utils/tests/mkdtimg_testdata.sh
+++ b/utils/tests/mkdtimg_testdata.sh
@@ -50,7 +50,7 @@
 
 IMG="${OUTDIR}/create.img"
 mkdtimg create "$IMG" \
-  --page_size=4096 --id=/:board_id --rev=/:board_rev --custom0=0xabc \
+  --page_size=4096 --id=/:board_id --rev=/:board_rev --custom0=0xabc --version=1 \
   "${OUTDIR}/board1v1.dts.dtb" \
   "${OUTDIR}/board1v1_1.dts.dtb" --id=/:another_board_id \
   "${OUTDIR}/board2v1.dts.dtb" --rev=0x201 \
