pci: layerscape: Fixup PCIe EP mode DT nodes for LX2160A rev2
LX2160A rev2 uses different PCIe controller, so EP mode DT nodes also need to be fixed up. Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
This commit is contained in:
parent
6fe7743d05
commit
8ec619f8fd
@ -41,6 +41,8 @@ int lx2_board_fix_fdt(void *fdt)
|
||||
{ "config_axi_slave", "config" }
|
||||
};
|
||||
int off = -1, i;
|
||||
const fdt32_t *prop;
|
||||
u32 ob_wins, ib_wins;
|
||||
|
||||
off = fdt_node_offset_by_compatible(fdt, -1, "fsl,lx2160a-pcie");
|
||||
while (off != -FDT_ERR_NOTFOUND) {
|
||||
@ -86,6 +88,30 @@ int lx2_board_fix_fdt(void *fdt)
|
||||
off = fdt_node_offset_by_compatible(fdt, off,
|
||||
"fsl,lx2160a-pcie");
|
||||
}
|
||||
|
||||
/* Fixup PCIe EP nodes */
|
||||
off = -1;
|
||||
off = fdt_node_offset_by_compatible(fdt, off, "fsl,lx2160a-pcie-ep");
|
||||
while (off != -FDT_ERR_NOTFOUND) {
|
||||
fdt_setprop_string(fdt, off, "compatible",
|
||||
"fsl,lx2160ar2-pcie-ep");
|
||||
prop = fdt_getprop(fdt, off, "apio-wins", NULL);
|
||||
if (!prop) {
|
||||
printf("%s: Failed to fixup PCIe EP node @0x%x\n",
|
||||
__func__, off);
|
||||
continue;
|
||||
}
|
||||
|
||||
ob_wins = fdt32_to_cpu(*prop);
|
||||
ib_wins = (ob_wins == 256) ? 24 : 8;
|
||||
fdt_setprop_u32(fdt, off, "num-ib-windows", ib_wins);
|
||||
fdt_setprop_u32(fdt, off, "num-ob-windows", ob_wins);
|
||||
fdt_delprop(fdt, off, "apio-wins");
|
||||
|
||||
off = fdt_node_offset_by_compatible(fdt, off,
|
||||
"fsl,lx2160a-pcie-ep");
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user