[PATCH] pci: layerscape: Fixup PCIe EP mode DT nodes for LX2160A rev2
Priyanka Jain
priyanka.jain at nxp.com
Fri Sep 18 15:45:48 CEST 2020
>-----Original Message-----
>From: Zhiqiang Hou <Zhiqiang.Hou at nxp.com>
>Sent: Sunday, September 13, 2020 8:43 PM
>To: u-boot at lists.denx.de; Priyanka Jain <priyanka.jain at nxp.com>; Wasim
>Khan <wasim.khan at nxp.com>
>Cc: Z.q. Hou <zhiqiang.hou at nxp.com>
>Subject: [PATCH] pci: layerscape: Fixup PCIe EP mode DT nodes for LX2160A
>rev2
>
>From: Hou Zhiqiang <Zhiqiang.Hou at 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 at 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 at nxp.com>
More information about the U-Boot
mailing list