mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-03-13 21:36:57 +00:00
pci: layerscape: Fixup device tree node for ls2088a
LS2088A and its variants have different PCIe node than LS2080A. The compatible string is updated accordingly. Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com> Reviewed-by: York Sun <york.sun@nxp.com>
This commit is contained in:
parent
3d8553f0a3
commit
0aaa1a90b3
1 changed files with 24 additions and 11 deletions
|
@ -72,19 +72,26 @@ static void fdt_pcie_set_msi_map_entry(void *blob, struct ls_pcie *pcie,
|
|||
u32 *prop;
|
||||
u32 phandle;
|
||||
int nodeoffset;
|
||||
uint svr;
|
||||
char *compat = NULL;
|
||||
|
||||
/* find pci controller node */
|
||||
nodeoffset = fdt_node_offset_by_compat_reg(blob, "fsl,ls-pcie",
|
||||
pcie->dbi_res.start);
|
||||
if (nodeoffset < 0) {
|
||||
#ifdef CONFIG_FSL_PCIE_COMPAT /* Compatible with older version of dts node */
|
||||
nodeoffset = fdt_node_offset_by_compat_reg(blob,
|
||||
CONFIG_FSL_PCIE_COMPAT, pcie->dbi_res.start);
|
||||
svr = (get_svr() >> SVR_VAR_PER_SHIFT) & 0xFFFFFE;
|
||||
if (svr == SVR_LS2088A || svr == SVR_LS2084A ||
|
||||
svr == SVR_LS2048A || svr == SVR_LS2044A)
|
||||
compat = "fsl,ls2088a-pcie";
|
||||
else
|
||||
compat = CONFIG_FSL_PCIE_COMPAT;
|
||||
if (compat)
|
||||
nodeoffset = fdt_node_offset_by_compat_reg(blob,
|
||||
compat, pcie->dbi_res.start);
|
||||
#endif
|
||||
if (nodeoffset < 0)
|
||||
return;
|
||||
#else
|
||||
return;
|
||||
#endif
|
||||
}
|
||||
|
||||
/* get phandle to MSI controller */
|
||||
|
@ -146,19 +153,25 @@ static void fdt_fixup_pcie(void *blob)
|
|||
static void ft_pcie_ls_setup(void *blob, struct ls_pcie *pcie)
|
||||
{
|
||||
int off;
|
||||
uint svr;
|
||||
char *compat = NULL;
|
||||
|
||||
off = fdt_node_offset_by_compat_reg(blob, "fsl,ls-pcie",
|
||||
pcie->dbi_res.start);
|
||||
if (off < 0) {
|
||||
#ifdef CONFIG_FSL_PCIE_COMPAT /* Compatible with older version of dts node */
|
||||
off = fdt_node_offset_by_compat_reg(blob,
|
||||
CONFIG_FSL_PCIE_COMPAT,
|
||||
pcie->dbi_res.start);
|
||||
svr = (get_svr() >> SVR_VAR_PER_SHIFT) & 0xFFFFFE;
|
||||
if (svr == SVR_LS2088A || svr == SVR_LS2084A ||
|
||||
svr == SVR_LS2048A || svr == SVR_LS2044A)
|
||||
compat = "fsl,ls2088a-pcie";
|
||||
else
|
||||
compat = CONFIG_FSL_PCIE_COMPAT;
|
||||
if (compat)
|
||||
off = fdt_node_offset_by_compat_reg(blob,
|
||||
compat, pcie->dbi_res.start);
|
||||
#endif
|
||||
if (off < 0)
|
||||
return;
|
||||
#else
|
||||
return;
|
||||
#endif
|
||||
}
|
||||
|
||||
if (pcie->enabled)
|
||||
|
|
Loading…
Add table
Reference in a new issue