freescale: fman: make sure phy-handle property is big endian
authorShaohui Xie <Shaohui.Xie@freescale.com>
Tue, 10 Nov 2015 11:20:16 +0000 (19:20 +0800)
committerYork Sun <yorksun@freescale.com>
Mon, 14 Dec 2015 02:27:28 +0000 (18:27 -0800)
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@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
board/freescale/common/fman.c

index 26cf5175c77f757b289b9a360f5cc54278c46db1..b5025ab14e84da5f10cf9348cddccb5c98a34930 100644 (file)
@@ -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;