Skip to contentSkip to conversation

Import Android's dt_table.h for DT image format

PATCH In review Alex Deymo 3 participants 3 messages May 28, 2018 – May 30, 2018 1 message not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): f42878729a647cf9dbd7ffacc6ba455e17a91676

Alex Deymo

author
#1 lore raw

PATCH 1/1 Import Android's dt_table.h for DT image format

Android documentation defines the recommended image format for storing DTB/DTBO files in a single dtbo.img image. This patch includes the latest header file with the struct definitions for this format from AOSP.

The header was adapted to U-Boot's coding style and the function declarations were removed.

---
 include/dt_table.h | 50 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)
 create mode 100644 include/dt_table.h
include/dt_table.h new file +50 -0
new file mode 100644
index 00000000000..f91657c0c76
@@ -0,0 +1,50 @@
+/*
+ * This is from the Android Project,
+ * Repository: https://android.googlesource.com/platform/system/libufdt
+ * File: utils/src/dt_table.h
+ * Commit: 2626d8b9e4d8e8c6cc67ceb1dc4e05a47779785c
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#ifndef DT_TABLE_H
+#define DT_TABLE_H
+
+#include <linux/types.h>
+
+#define DT_TABLE_MAGIC			0xd7b7ab1e
+#define DT_TABLE_DEFAULT_PAGE_SIZE	2048
+#define DT_TABLE_DEFAULT_VERSION	0
+
+struct dt_table_header {
+	u32 magic;		/* DT_TABLE_MAGIC */
+	u32 total_size;		/* includes dt_table_header + all dt_table_entry
+				 * and all dtb/dtbo
+				 */
+	u32 header_size;	/* sizeof(dt_table_header) */
+
+	u32 dt_entry_size;	/* sizeof(dt_table_entry) */
+	u32 dt_entry_count;	/* number of dt_table_entry */
+	u32 dt_entries_offset;	/* offset to the first dt_table_entry
+				 * from head of dt_table_header.
+				 * The value will be equal to header_size if
+				 * no padding is appended
+				 */
+	u32 page_size;		/* flash page size we assume */
+	u32 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 {
+	u32 dt_size;
+	u32 dt_offset;		/* offset from head of dt_table_header */
+
+	u32 id;			/* optional, must be zero if unused */
+	u32 rev;		/* optional, must be zero if unused */
+	u32 custom[4];		/* optional, must be zero if unused */
+};
+
+#endif
Signature · 1 line
2.17.0.921.gf22659ad46-goog
#2 lore raw

PATCH 1/1 Import Android's dt_table.h for DT image format

Quoted 5 lines · Alex Deymo

Android documentation defines the recommended image format for storing DTB/DTBO files in a single dtbo.img image. This patch includes the latest header file with the struct definitions for this format from AOSP.

Quoted 9 lines

The header was adapted to U-Boot's coding style and the function declarations were removed.

---
 include/dt_table.h | 50 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)
 create mode 100644 include/dt_table.h

Hi Tom,

Can you please pull this one along with my patches for DT image support [1,2]?

Thanks!

[1] https://lists.denx.de/pipermail/u-boot/2018-April/326050.html
[2] https://lists.denx.de/pipermail/u-boot/2018-April/326051.html

Quoted 63 lines
include/dt_table.h new file +50 -1
new file mode 100644
index 00000000000..f91657c0c76
@@ -0,0 +1,50 @@
+/*
+ * This is from the Android Project,
+ * Repository: https://android.googlesource.com/platform/system/libufdt
+ * File: utils/src/dt_table.h
+ * Commit: 2626d8b9e4d8e8c6cc67ceb1dc4e05a47779785c
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#ifndef DT_TABLE_H
+#define DT_TABLE_H
+
+#include <linux/types.h>
+
+#define DT_TABLE_MAGIC                 0xd7b7ab1e
+#define DT_TABLE_DEFAULT_PAGE_SIZE     2048
+#define DT_TABLE_DEFAULT_VERSION       0
+
+struct dt_table_header {
+       u32 magic;              /* DT_TABLE_MAGIC */
+       u32 total_size;         /* includes dt_table_header + all dt_table_entry
+                                * and all dtb/dtbo
+                                */
+       u32 header_size;        /* sizeof(dt_table_header) */
+
+       u32 dt_entry_size;      /* sizeof(dt_table_entry) */
+       u32 dt_entry_count;     /* number of dt_table_entry */
+       u32 dt_entries_offset;  /* offset to the first dt_table_entry
+                                * from head of dt_table_header.
+                                * The value will be equal to header_size if
+                                * no padding is appended
+                                */
+       u32 page_size;          /* flash page size we assume */
+       u32 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 {
+       u32 dt_size;
+       u32 dt_offset;          /* offset from head of dt_table_header */
+
+       u32 id;                 /* optional, must be zero if unused */
+       u32 rev;                /* optional, must be zero if unused */
+       u32 custom[4];          /* optional, must be zero if unused */
+};
+
+#endif
--

2.17.0.921.gf22659ad46-goog

_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
https://lists.denx.de/listinfo/u-boot

#3 lore raw
In reply to Alex Deymo
Quoted 9 lines · Alex Deymo

Android documentation defines the recommended image format for storing DTB/DTBO files in a single dtbo.img image. This patch includes the latest header file with the struct definitions for this format from AOSP.

The header was adapted to U-Boot's coding style and the function declarations were removed.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180529/9ce9006e/attachment.sig>