
-----Original Message----- From: Zhiqiang Hou Zhiqiang.Hou@nxp.com Sent: Sunday, September 13, 2020 8:43 PM To: u-boot@lists.denx.de; Priyanka Jain priyanka.jain@nxp.com; Wasim Khan wasim.khan@nxp.com Cc: Z.q. Hou zhiqiang.hou@nxp.com Subject: [PATCH] pci: layerscape: Fixup PCIe EP mode DT nodes for LX2160A rev2
From: Hou Zhiqiang Zhiqiang.Hou@nxp.com
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
drivers/pci/pcie_layerscape_fixup_common.c | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+)
diff --git a/drivers/pci/pcie_layerscape_fixup_common.c b/drivers/pci/pcie_layerscape_fixup_common.c index fef0a75f11..0a42997696 100644 --- a/drivers/pci/pcie_layerscape_fixup_common.c +++ b/drivers/pci/pcie_layerscape_fixup_common.c @@ -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;
}
-- 2.17.1
Reviewed-by: Priyanka Jain priyanka.jain@nxp.com