On Tue, Mar 26, 2013 at 10:34:21AM -0600, Jason Gunthorpe wrote:
[...]
> This basically looks fine to me, however, I think it is valuable if
> you and Thierry could use the same method to pass per-port registers. I
> expect others are going to reference these bindings for future work,
> and one standard method is more clear than two.
> 
> Thierry: Did you settle on using assigned-addresses? Can you share the
> final binding for your driver?

Yes, I have the final bindings ready and I was waiting for Andrew's new
version of the ranges parsing patch before sending the next (and
hopefully final) version of the series. He posted that patch now so I
should have something ready soon. For now here's what I currently use
for DT:

        pcie-controller {
                compatible = "nvidia,tegra20-pcie";
                device_type = "pci";
                reg = <0x80003000 0x00000800   /* PADS registers */
                       0x80003800 0x00000200   /* AFI registers */
                       0x90000000 0x10000000>; /* configuration space */
                reg-names = "pads", "afi", "cs";
                interrupts = <0 98 0x04   /* controller interrupt */
                              0 99 0x04>; /* MSI interrupt */
                interrupt-names = "intr", "msi";

                bus-range = <0x00 0xff>;
                #address-cells = <3>;
                #size-cells = <2>;

                ranges = <0x82000000 0 0x80000000 0x80000000 0 0x00001000   /* 
port 0 registers */
                          0x82000000 0 0x80001000 0x80001000 0 0x00001000   /* 
port 1 registers */
                          0x81000000 0 0          0x82000000 0 0x00010000   /* 
downstream I/O */
                          0x82000000 0 0xa0000000 0xa0000000 0 0x10000000   /* 
non-prefetchable memory */
                          0xc2000000 0 0xb0000000 0xb0000000 0 0x10000000>; /* 
prefetchable memory */

                clocks = <&tegra_car 70>, <&tegra_car 72>, <&tegra_car 74>,
                         <&tegra_car 118>;
                clock-names = "pex", "afi", "pcie_xclk", "pll_e";
                status = "disabled";

                pci@1,0 {
                        device_type = "pci";
                        assigned-addresses = <0x82000800 0 0x80000000 0 0x1000>;
                        reg = <0x000800 0 0 0 0>;
                        status = "disabled";

                        #address-cells = <3>;
                        #size-cells = <2>;

                        nvidia,num-lanes = <2>;
                };

                pci@2,0 {
                        device_type = "pci";
                        assigned-addresses = <0x82001000 0 0x80001000 0 0x1000>;
                        reg = <0x001000 0 0 0 0>;
                        status = "disabled";

                        #address-cells = <3>;
                        #size-cells = <2>;

                        nvidia,num-lanes = <2>;
                };
        };

I think that has everything that we discussed previously.

Thierry

Attachment: pgpwciOcAbM2n.pgp
Description: PGP signature

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

Reply via email to