> '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>;
> > 
> >             [EMAIL PROTECTED] {
> 
> 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 ([EMAIL PROTECTED] for
example) though I've seen the "i" ommited. Not terribly important I
would say but better to follow the spec.

> >             [EMAIL PROTECTED],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.


_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to