Commit 62666828 authored by Anton Vorontsov's avatar Anton Vorontsov Committed by Kumar Gala

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: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
parent 5c091193
...@@ -85,8 +85,14 @@ static void __init mpc837x_mds_setup_arch(void) ...@@ -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();
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment