fdt_support: fix an endian bug of fdt_fixup_memory_banks
authorMasahiro Yamada <yamada.m@jp.panasonic.com>
Fri, 18 Apr 2014 08:41:03 +0000 (17:41 +0900)
committerTom Rini <trini@ti.com>
Thu, 19 Jun 2014 15:18:51 +0000 (11:18 -0400)
commit739a01ed8e02c3b79a0f059d34b749bfab1a30df
tree79dd718c9fa35727729b67d33fc61330ecf3efac
parentf89d482fe5a95db637190cd49e1954588995d881
fdt_support: fix an endian bug of fdt_fixup_memory_banks

Data written to DTB must be converted to big endian order.
It is usually done by using cpu_to_fdt32(), cpu_to_fdt64(), etc.

fdt_fixup_memory_banks() invoked write_cell(), which always
swaps byte order.
It means the function only worked on little endian architectures.

This commit adds and uses a new helper function, fdt_pack_reg(),
which works on both big endian and little endian architrectures.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Acked-by: Simon Glass <sjg@chromium.org>
common/fdt_support.c