diff mbox series

[U-Boot] Import Android's dt_table.h for DT image format

Message ID 20180528151935.27990-1-deymo@google.com
State Accepted
Delegated to: Tom Rini
Headers show
Series [U-Boot] Import Android's dt_table.h for DT image format | expand

Commit Message

Alex Deymo May 28, 2018, 3:19 p.m. UTC
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.

Signed-off-by: Alex Deymo <deymo@google.com>
---
 include/dt_table.h | 50 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)
 create mode 100644 include/dt_table.h

Comments

Sam Protsenko May 29, 2018, 1:23 p.m. UTC | #1
On 28 May 2018 at 18:19, Alex Deymo <deymo@google.com> wrote:
> 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.
>
> Signed-off-by: Alex Deymo <deymo@google.com>
> ---
>  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

> diff --git a/include/dt_table.h b/include/dt_table.h
> new file mode 100644
> index 00000000000..f91657c0c76
> --- /dev/null
> +++ b/include/dt_table.h
> @@ -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@lists.denx.de
> https://lists.denx.de/listinfo/u-boot
Tom Rini May 30, 2018, 1:57 a.m. UTC | #2
On Mon, May 28, 2018 at 05:19:35PM +0200, Alex Deymo wrote:

> 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.
> 
> Signed-off-by: Alex Deymo <deymo@google.com>

Applied to u-boot/master, thanks!
diff mbox series

Patch

diff --git a/include/dt_table.h b/include/dt_table.h
new file mode 100644
index 00000000000..f91657c0c76
--- /dev/null
+++ b/include/dt_table.h
@@ -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