[RFC] AmigaOne device tree source v2

Benjamin Herrenschmidt benh at kernel.crashing.org
Mon Sep 3 18:41:40 EST 2007


> 'reg' and 'ranges' should not typically overlap.  'reg' should only
> encode control registers for the bridge, not the whole PCI space (not
> that I'm even entirely sure what you mean by that).
> 
> > 		ranges = <01000000 0 00000000 fe000000 0 00c00000	// PCI I/O
> > 			  02000000 0 80000000 80000000 0 7d000000	// PCI memory
> > 			  02000000 0 fd000000 fd000000 0 01000000>;	// PCI alias memory
> > 		8259-interrupt-acknowledge = <fef00000>;
> > 		#address-cells = <3>;
> > 		#size-cells = <2>;
> > 
> > 		host at 0 {
> 
> The unit address (after the @) should be derived from the first range
> listed in the 'reg' property.  It's a bus address, not a slot number.

Actually... on PCI, the unit address is often the slot number, or
rather, "slot,function" with the second part ommited for non
multifunction devices.

> All these devices should have unit addresses.

 ... which for ISA are generally in the form iPORT (8242 at i60 for
example) though I've seen the "i" ommited. Not terribly important I
would say but better to follow the spec.

> > 		ide at 7,1 {
> 
> This will need a compatible property, at least.

Actually, it's a PCI device, it can have a compatible property based on
the generic PCI device compatible property generation as defined in the
OF PCI binding. Since that's just derived from other fields, I suppose
it can be omitted in a flat DT. It would be -nice- to have a more
explicit cpmpatible property but in that case, not absolutely necessary
since that device will be probed as PCI anyway.

Ben.





More information about the Linuxppc-dev mailing list