[PATCH v1 5/5] pci: keystone: add pcie driver based on designware core driver
From: arnd@arndb.de (Arnd Bergmann)
Date: 2014-05-15 16:28:23
Also in:
linux-pci, lkml
On Thursday 15 May 2014 12:01:32 Murali Karicheri wrote:
+Sample bindings shown below:- + + - Remove ti,enable-linktrain if boot loader already does Link training and do EP + configuration. + - Remove ti,init-phy if boot loader already initialize the phy and sets up pcie + link
You actually have to document all the properties. Have a look at the other bindings for what this means.
+
+ pcie at 21800000 {
+ compatible = "ti,keystone-pcie";
+ device_type = "pci";
+ clocks = <&clkpcie>;
+ clock-names = "pcie";The dw-pcie binding lists two clocks.
+ #address-cells = >; + #size-cells = <2>; + reg = <0x21800000 0x1000>, <0x0262014c 4>; + reg-names = "reg_rc_app", "reg_devcfg";
There should be standard names that are documented in the binding.
+ interrupts = <GIC_SPI 30 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 31 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 32 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 33 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 34 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 35 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 36 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 37 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 38 IRQ_TYPE_EDGE_RISING>; /* Error IRQ */
What are all these interrupts?
+ ranges = <0x00000800 0 0x21801000 0x21801000 0 0x0002000 /* Configuration space */ + 0x81000000 0 0 0x24000000 0 0x4000 /* downstream I/O */ + 0x82000000 0 0x50000000 0x50000000 0 0x10000000>; /* non-prefetchable memory */
Please move the config space into 'reg' now instead of 'ranges'. This was a mistake earlier, and there are already other front-ends doing the same thing.
+ num-lanes = <2>; + ti,enable-linktrain; + ti,init-phy; + + /* PCIE phy */ + phys = <&pcie0_phy>; + phy-names = "pcie-phy"; + + #interrupt-cells = <1>; + interrupt-map-mask = <0 0 0 0>; + interrupt-map = <0 0 0 1 &pcie_intc 1>, // INT A + <0 0 0 2 &pcie_intc 2>, // INT B + <0 0 0 3 &pcie_intc 3>, // INT C + <0 0 0 4 &pcie_intc 4>; // INT D
I think this is the wrong map-mask. Arnd