[U-Boot] [PATCH] freescale: fman: make sure phy-handle property is big endian

shh.xie at gmail.com shh.xie at gmail.com
Tue Nov 10 12:20:16 CET 2015


From: Shaohui Xie <Shaohui.Xie at freescale.com>

When creating phy-handle property, an unsigned int value is created by
fdt_create_phandle, and memcpy is used to get the value, since DTS is
big endian, the value cannot be used directly on little endian SoCs,
it should be converted by cpu_to_fdt32.

Signed-off-by: Shaohui Xie <Shaohui.Xie at freescale.com>
---
 board/freescale/common/fman.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/board/freescale/common/fman.c b/board/freescale/common/fman.c
index 26cf517..b5025ab 100644
--- a/board/freescale/common/fman.c
+++ b/board/freescale/common/fman.c
@@ -52,6 +52,8 @@ int fdt_set_phy_handle(void *fdt, char *compat, phys_addr_t addr,
 	if (!ph)
 		return -FDT_ERR_BADPHANDLE;
 
+	ph = cpu_to_fdt32(ph);
+
 	offset = fdt_node_offset_by_compat_reg(fdt, compat, addr);
 	if (offset < 0)
 		return offset;
-- 
2.1.0.27.g96db324



More information about the U-Boot mailing list