Hi Scott! Thanks a lot for all your help with the device tree! As you suspected, I'm writing for a fairly old kernel (2.6.21, WindRiver). I know, I know.
On Tue, 24 Mar 2009 10:55:45 -0500 Scott Wood <scottw...@freescale.com> wrote: > Add compatible = "simple-bus". This lets children of this node be probed > by of_platform drivers (make sure you list simple-bus when calling > of_platform_bus_probe), and in a few other places (like legacy_serial.c). Right, thanks. I've added this of_platform_bus_probe as an initcall, and it now tries to configure the serial ports as expected (and with some other issues). > Compatible should be of the form "vendor,device" -- and does "isf" > uniquely identify the specific FPGA logic, or are there other versions > out there (or likely to exist in the future)? Note that there are some > bad examples in existing device trees that have yet to be fixed. There are no other versions yet, but I suppose there will be (it's implemented in a FPGA after all!). So what is the general handling of versions, should it be something like compatible = "ericsson,isf-pic", "ericsson,isf-pic-v2" etc if we'd make new revisions of the device? > I'm guessing that your FPGA PIC driver isn't getting its register address > from the device tree, given that it works without the ranges property? It is, but I didn't check it for correctness yet, so I suppose I might have mapped the wrong thing. The code looks like this: struct resource phys_addr; if (of_address_to_resource(np, 0, &phys_addr) != 0) { printk(KERN_ERR": Could not get ISF PIC memory resource\n"); return NULL; } spin_lock_init(&isf->lock); isf->ioaddr = ioremap(phys_addr.start, phys_addr.end - phys_addr.start); So I should use the reg property and platform_get_resource() instead? // Simon _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev