Maple fails to boot current git
Tom Rini
trini at kernel.crashing.org
Wed Feb 1 02:08:24 EST 2006
On Tue, Jan 31, 2006 at 02:53:11PM +1100, Benjamin Herrenschmidt wrote:
> On Tue, 2006-01-31 at 12:11 +1300, David Gibson wrote:
> > On Mon, Jan 30, 2006 at 10:17:59AM -0700, Tom Rini wrote:
> > > Hello, trying to boot my maple board (ppc64_defconfig +
> > > CONFIG_PPC_EARLY_DEBUG_MAPLE=y) fails as follows (the "dirty" is
> > > #define DEBUG in kernel/prom_parse.c and platforms/maple/time.c):
> >
> > Crud. Our Maple is stuffed at the moment (doesn't complete the CPU
> > init script, so PIBS never even comes up on the 970), so I can't
> > really investigate.
>
> Well, the RTC problem definitely looks like a bogus or lack of "ranges"
> property or the fact that the parser doesn't recognize "ht" as a PCI
> bus. You may want to try updating prom_parse.c to treat "ht" as a PCI
> bus and see if that helps.
With the following, I get parent bus is pci now, but still:
OF: ** translation for device /ht at 0/isa at 4/rtc at 900 **
OF: bus is isa (na=2, ns=1) on /ht at 0/isa at 4
OF: translating address: 00000001 00000900
OF: parent bus is pci (na=3, ns=2) on /ht at 0
OF: walking ranges...
OF: not found !
Maple: Unable to translate RTC address
Maple: No device node for RTC, assuming legacy address (0x70)
diff --git a/arch/powerpc/kernel/prom_parse.c b/arch/powerpc/kernel/prom_parse.c
index a8099c8..6006201 100644
--- a/arch/powerpc/kernel/prom_parse.c
+++ b/arch/powerpc/kernel/prom_parse.c
@@ -1,4 +1,4 @@
-#undef DEBUG
+#define DEBUG
#include <linux/kernel.h>
#include <linux/string.h>
@@ -113,8 +113,10 @@ static unsigned int of_bus_default_get_f
static int of_bus_pci_match(struct device_node *np)
{
- /* "vci" is for the /chaos bridge on 1st-gen PCI powermacs */
- return !strcmp(np->type, "pci") || !strcmp(np->type, "vci");
+ /* "vci" is for the /chaos bridge on 1st-gen PCI powermacs, "ht"
+ * is the maple board. */
+ return !strcmp(np->type, "pci") || !strcmp(np->type, "vci") ||
+ !strcmp(np->type, "ht");
}
static void of_bus_pci_count_cells(struct device_node *np,
@@ -239,6 +241,16 @@ static struct of_bus of_busses[] = {
.translate = of_bus_pci_translate,
.get_flags = of_bus_pci_get_flags,
},
+ /* HT */
+ {
+ .name = "ht",
+ .addresses = "assigned-addresses",
+ .match = of_bus_pci_match,
+ .count_cells = of_bus_pci_count_cells,
+ .map = of_bus_pci_map,
+ .translate = of_bus_pci_translate,
+ .get_flags = of_bus_pci_get_flags,
+ },
/* ISA */
{
.name = "isa",
--
Tom Rini
http://gate.crashing.org/~trini/
More information about the Linuxppc64-dev
mailing list