Hello community,
At present, the problem has been solved, and the controller driver of the gen3 pcie of the lx2 series uses pci-layerscape.c.
In uboot, the function determines the chip type and then modifies the fdt to initialize the pcie controller at the linux stage.
int pcie_board_fix_fdt(void *fdt)
{
uint svr;
svr = SVR_SOC_VER(get_svr());
if ((svr == SVR_LX2160A || svr == SVR_LX2162A ||
svr == SVR_LX2120A || svr == SVR_LX2080A ||
svr == SVR_LX2122A || svr == SVR_LX2082A) &&
IS_SVR_REV(get_svr(), 2, 0))
return lx2_board_fix_fdt(fdt);
return 0;
}
Because I am using an older version, the chip model of lx2080 cannot correspond to the model in the code, resulting in failure to reconfigure devce-tree, so that linux pcie cannot be initialized.
Friends with the same problem can be used as a reference.