powerpc/83xx: don't probe broken PCI on mpc837x_mds boards
In the standalone setup the board's CPLD disables the PCI internal arbiter, thus any access to the PCI bus will hang the board. The common way to disable particular devices in the device tree is to put the "status" property with any value other than "ok" or "okay" into the device node we want to disable. So, when there is no PCI arbiter on the bus the u-boot adds status = "broken (no arbiter)" property into the PCI controller's node, and so marks the PCI controller as unavailable. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
This commit is contained in:
Родитель
5c091193e4
Коммит
62666828ba
|
@ -85,8 +85,14 @@ static void __init mpc837x_mds_setup_arch(void)
|
||||||
ppc_md.progress("mpc837x_mds_setup_arch()", 0);
|
ppc_md.progress("mpc837x_mds_setup_arch()", 0);
|
||||||
|
|
||||||
#ifdef CONFIG_PCI
|
#ifdef CONFIG_PCI
|
||||||
for_each_compatible_node(np, "pci", "fsl,mpc8349-pci")
|
for_each_compatible_node(np, "pci", "fsl,mpc8349-pci") {
|
||||||
|
if (!of_device_is_available(np)) {
|
||||||
|
pr_warning("%s: disabled by the firmware.\n",
|
||||||
|
np->full_name);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
mpc83xx_add_bridge(np);
|
mpc83xx_add_bridge(np);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
mpc837xmds_usb_cfg();
|
mpc837xmds_usb_cfg();
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче