public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] ftd_support: Fix regression causes by "fdt: Try to use fdt_address_cells()/fdt_size_cells()"
@ 2014-11-27 10:16 Hans de Goede
  2014-11-27 14:25 ` Simon Glass
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Hans de Goede @ 2014-11-27 10:16 UTC (permalink / raw)
  To: u-boot

After commit 933cdbb479: "fdt: Try to use fdt_address_cells()/fdt_size_cells()"
I noticed that allwinner boards would no longer boot.

Switching to fdt_address_cells / fdt_size_cells changes the result from
bytes to 32 bit words, so when we increment pointers into the blob, we must
do so by 32 bit words now.

This commit makes allwinner boards boot again.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 common/fdt_support.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/common/fdt_support.c b/common/fdt_support.c
index ea42c63..9e84937 100644
--- a/common/fdt_support.c
+++ b/common/fdt_support.c
@@ -379,13 +379,13 @@ static int fdt_pack_reg(const void *fdt, void *buf, u64 *address, u64 *size,
 			*(fdt64_t *)p = cpu_to_fdt64(address[i]);
 		else
 			*(fdt32_t *)p = cpu_to_fdt32(address[i]);
-		p += address_len;
+		p += 4 * address_len;
 
 		if (size_len == 2)
 			*(fdt64_t *)p = cpu_to_fdt64(size[i]);
 		else
 			*(fdt32_t *)p = cpu_to_fdt32(size[i]);
-		p += size_len;
+		p += 4 * size_len;
 	}
 
 	return p - (char *)buf;
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-11-30  3:44 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-27 10:16 [U-Boot] [PATCH] ftd_support: Fix regression causes by "fdt: Try to use fdt_address_cells()/fdt_size_cells()" Hans de Goede
2014-11-27 14:25 ` Simon Glass
2014-11-27 16:13   ` Simon Glass
2014-11-28  6:12 ` Jan Kiszka
2014-11-28  7:43   ` Masahiro Yamada
2014-11-30  3:44 ` Stephen Warren

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox