Hy everybody!

I’m working on a project:

On a proprietary board, (with a PowerPC 7448), a minimal Linux has been embedded. My first aim consist in using a graphic chipset on the board, that is to say make work the PCI bus. For the address mapping, I try to write a dts, using the dts of the mpc7448hpc2 board as a model. My problem is that I don’t understand how to fill the field “range” of the PCI. The “width” used and the number of range is different from on board to an other where PCI is used. I read the PCI specification, and don’t find anything about it.

Here is an extract of my dts, where the field in question is indicated thanks to commentaries:

p...@70000000 { compatible = "abac-pci";

device_type = "pci";

#size-cells = <2>;

#address-cells = <3>;

#interrupt-cells = <1>;

reg = <0x70000000 0x1000>;

bus-range = <0 0>;

/* how can I know how to chose the number of range and their width?*/

ranges = <0x2000000 0x0 0xe0000000 0xe0000000 0x0 0x1a000000

0x1000000 0x0 0x0 0xfa000000 0x0 0x10000>;

…

};

Then, I have a second question: why PCI’s addresses seem to be implemented on 96 bits, whereas the addressing is done on 32 bits?

Thanks for Your attention !

Nicolas Lavocat

_______________________________________________
devicetree-discuss mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/devicetree-discuss

Reply via email to