[U-Boot] [PATCH] common/cmd_fdt.c: fix wrong data displayed in fdt print

Haojian Zhuang haojian.zhuang at marvell.com
Mon May 23 09:53:30 CEST 2011


From: Haojian Zhuang <haojian.zhuang at gmail.com>

All data in dtb is big endian. Some ARM devices are little-endian.
In print_data(), it displays data with big-endian format. For ARM device,
data should be converted to little-endian first.

Signed-off-by: Haojian Zhuang <haojian.zhuang at marvell.com>
Cc: Gerald Van Baren <vanbaren at cideas.com>
---
 common/cmd_fdt.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/common/cmd_fdt.c b/common/cmd_fdt.c
index 3d0c2b7..9bdecca 100644
--- a/common/cmd_fdt.c
+++ b/common/cmd_fdt.c
@@ -665,7 +665,7 @@ static void print_data(const void *data, int len)
 
 		printf("<");
 		for (j = 0, p = data; j < len/4; j ++)
-			printf("0x%x%s", p[j], j < (len/4 - 1) ? " " : "");
+			printf("0x%x%s", fdt32_to_cpu(p[j]), j < (len/4 - 1) ? " " : "");
 		printf(">");
 	} else { /* anything else... hexdump */
 		const u8 *s;
-- 
1.7.4.1



More information about the U-Boot mailing list