[PATCH v3] PCIe support for the Armada 370 and Armada XP SoCs
Christophe Vu-Brugier
cvubrugier at lacie.com
Wed Feb 13 10:27:50 EST 2013
Hi Thomas,
On Tue, 12 Feb 2013 17:28:34 +0100, Thomas Petazzoni wrote :
> This series of patches introduces PCIe support for the Marvell Armada
> 370 and Armada XP.
Tested on a Marvell DB-MV784MP-GP evaluation board with a Marvell 9220
SATA controller. Disks attached to this controller are working.
Tested-by: Christophe Vu-Brugier <cvubrugier at lacie.com>
# /usr/sbin/lspci -v -s 01:00.0
01:00.0 SATA controller: Marvell Technology Group Ltd. Device 9220 (rev 10) (prog-if 01 [AHCI 1.0])
Subsystem: Marvell Technology Group Ltd. Device 9220
Flags: bus master, fast devsel, latency 0, IRQ 105
I/O ports at 10020 [size=8]
I/O ports at 10030 [size=4]
I/O ports at 10028 [size=8]
I/O ports at 10034 [size=4]
I/O ports at 10000 [size=32]
Memory at c1000000 (32-bit, non-prefetchable) [size=2K]
Expansion ROM at c1100000 [disabled] [size=64K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit-
Capabilities: [70] Express Legacy Endpoint, MSI 00
Capabilities: [e0] SATA HBA v0.0
Capabilities: [100] Advanced Error Reporting
Kernel driver in use: ahci
>
> This PATCHv3 follows:
> * PATCHv2, sent on January, 28th 2013
> * RFCv1, sent on December, 7th 2012
>
> Thanks to all the people who discussed on the previous version of the
> patch set. The discussions have been long and complicated, but
> certainly very useful.
>
> In order to make progress on this, and help reducing the size of the
> patch set, I would ask if it would be possible to merge patches 1 to
> 17 from the series for 3.9 (only preparation work), keeping the rest
> for 3.10. The patches in question are PCI-related, ARM-related, and
> mvebu/orion-related.
>
> Changes between v2 and v3:
>
> * Use of_irq_map_pci() instead of of_irq_map_raw(), as suggested by
> Andrew Murray. In order to do this, we moved the interrupt-map and
> interrupt-map-mask DT properties from the main PCIe controller node
> to the DT subnodes representing each PCIe interface.
>
> * Remove the usage of the emulated host bridge.
>
> * Move the emulated PCI-to-PCI bridge code into the Marvell PCI
> driver itself, in order to allow a tighter integration. Suggested
> by Bjorn Helgaas and Jason Gunthorpe.
>
> * Make the allocation of address decoding windows dynamic: it's when
> memory accesses or I/O accesses are enabled at the PCI-to-PCI
> bridge level that we allocate and setup the corresponding address
> decoding window. Requested by Bjorn Helgaas.
>
> * Fixed the implementation of I/O accesses to use I/O addresses that
> fall within the normal IO_SPACE_LIMIT. This required using the
> "remap" functionality of address decoding windows, and therefore
> some changes in the address decoding window allocator. Follows a
> long discussion about I/O accesses.
>
> * Set up a correct bus number in the configuration of the PCIe
> interfaces so that we don't have to fake bus numbers
> anymore. Requested by Jason Gunthorpe.
>
> * Fix the of_pci_get_devfn() implementation according to Stephen
> Warren's comment.
>
> * Use CFLAGS_ instead of ccflags to add the mach-mvebu and plat-orion
> include paths when building the pci-mvebu driver. This ensures that
> the include paths are only added when building this specific
> driver. Requested by Stephen Warren.
>
> * Fix the ->resource_align() to only apply on bus 0 (the one on which
> the emulated PCI-to-PCI bridges sit), and to request an alignment
> on the size of the window (and not only 64 KB for I/O windows and 1
> MB for memory windows).
>
> * Clarified the commit log of "clk: mvebu: create parent-child
> relation for PCIe clocks on Armada 370"
>
> A quick description of the patches:
>
> * Patches 1 to 3 add PCI-related Device Tree parsing functions. Those
> patches are common with the Nvidia Tegra PCIe patch set from
> Thierry Redding. They are included in this series so that it can be
> tested easily.
>
> * Patch 4 extends the ARM PCI core to store a per-controller private
> data pointer. This patch is common with the Nvidia Tegra PCIe patch
> set from Thierry Redding. It is included in this series so that it
> can be tested easily.
>
> * Patch 5 fixes a problem in lib/devres.c that prevents certain
> PCI-related functions from being visible on NO_IOPORT platforms. I
> know this patch isn't acceptable by itself, but the discussion
> about this has been so huge and went in so many directions that in
> the end, I don't know what is the correct way of fixing this. If an
> agreement is found on how to fix this properly, I'm willing to work
> on it if needed.
>
> * Patch 6 extends the ARM PCI core with an additional hook that a PCI
> controller driver can register and get called to realign PCI
> ressource addresses. This is needed for the support of Marvell PCIe
> interfaces because the address decoding windows for I/O ranges have
> a granularity of 64 KB, while the PCI standard requires only a 4 KB
> alignement. See the patch itself for details.
>
> * Patch 7 fixes a mistake in the interrupt controller node of the
> Armada 370/XP Device Tree, which was invisible until we started
> using the of_irq_map_raw() function, needed in our PCIe support.
>
> * Patches 8 and 9 fix some issues in the Armada 370/XP clock gating
> driver, related to PCIe interfaces.
>
> * Patches 10 and 11 are cleanup/refactoring of the common plat-orion
> address decoding code, in preparation for further changes related
> to PCIe.
>
> * Patches 12 to 17 introduce a ORION_ADDR_MAP_NO_REMAP define that is
> used by existing Marvell SoC code to say "I don't need this window
> to remap anything". Previously a -1 value was used as the remap
> address to communicate the fact that no remap is needed, but this
> prevents any remap address higher than 2 GB.
>
> * Patch 18 removes __init from a few address window decoding
> functions that are now needed after boot.
>
> * Patch 19 introduces in the common plat-orion address decoding code
> functions to allocate/free an address decoding window. Until now,
> the address decoding windows were configured statically. With
> Armada XP having up to 10 PCIe interfaces, we don't want to
> allocate useless address decoding windows statically, so we move to
> a more dynamic model in which address decoding windows are
> configured only for the PCIe interfaces that are actually in use.
>
> * Patch 20 removes __init from a few PCIe functions that are now
> needed after boot.
>
> * Patch 21 improves the Armada 370/XP specific address decoding code
> to provide functions that add and remove an address decoding window
> for a given PCIe interface. It relies on the common functions added
> in patch 19.
>
> * Patch 22 makes the common plat-orion PCIe code available on
> PLAT_ORION platforms such as ARCH_MVEBU.
>
> * Patch 23 creates the drivers/pci/host directory and makes the
> related minimal changes to Kconfig/Makefile. This patch will
> trivially conflict with the NVidia Tegra PCIe support posted by
> Thierry Redding, which also creates the drivers/pci/host directory.
>
> * Patch 24 contains the Armada 370/XP PCIe driver itself, that
> implements the necessary operations required by the ARM PCI core,
> and configures the address decoding windows as needed. This driver
> relies on a Device Tree description of the PCIe interfaces.
>
> * Patch 25 marks the ARCH_MVEBU platform has having PCI available,
> which allows the compilation of the PCIe support.
>
> * Patches 26 and 27 add the SoC-level Device Tree informations
> related to PCIe for Armada 370 and Armada XP.
>
> * Patch 28 to 31 add the board-level Device Tree informations related
> to PCIe for the Armada XP DB, Armada 370 DB, PlatHome OpenBlocks
> AX3-4 and GlobalScale Mirabox boards.
>
> * Patch 32 updates mvebu_defconfig with PCI and USB support.
>
> This patch set applies on top of v3.8-rc7, and has been pushed
> at:
>
> git://github.com/MISL-EBU-System-SW/mainline-public.git marvell-pcie-v3
>
> Thanks,
>
> Thomas
>
> ---
> Output of lspci -vvv:
>
> 00:01.0 PCI bridge: Marvell Technology Group Ltd. Device 7846 (prog-if 00 [Normal decode])
> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx-
> Status: Cap+ 66MHz+ UDF+ FastB2B+ ParErr+ DEVSEL=?? >TAbort+ <TAbort+ <MAbort+ >SERR+ <PERR+ INTx+
> Latency: 0, Cache Line Size: 64 bytes
> Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
> I/O behind bridge: 0000f000-00000fff
> Memory behind bridge: fff00000-000fffff
> Prefetchable memory behind bridge: fff00000-000fffff
> Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
> BridgeCtl: Parity+ SERR+ NoISA+ VGA+ MAbort+ >Reset+ FastB2B+
> PriDiscTmr+ SecDiscTmr+ DiscTmrStat+ DiscTmrSERREn+
> Capabilities: [fc] <chain broken>
>
> 00:02.0 PCI bridge: Marvell Technology Group Ltd. Device 7846 (prog-if 00 [Normal decode])
> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx-
> Status: Cap+ 66MHz+ UDF+ FastB2B+ ParErr+ DEVSEL=?? >TAbort+ <TAbort+ <MAbort+ >SERR+ <PERR+ INTx+
> Latency: 0, Cache Line Size: 64 bytes
> Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
> I/O behind bridge: 0000f000-00000fff
> Memory behind bridge: fff00000-000fffff
> Prefetchable memory behind bridge: fff00000-000fffff
> Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
> BridgeCtl: Parity+ SERR+ NoISA+ VGA+ MAbort+ >Reset+ FastB2B+
> PriDiscTmr+ SecDiscTmr+ DiscTmrStat+ DiscTmrSERREn+
> Capabilities: [fc] <chain broken>
>
> 00:03.0 PCI bridge: Marvell Technology Group Ltd. Device 7846 (prog-if 00 [Normal decode])
> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx-
> Status: Cap+ 66MHz+ UDF+ FastB2B+ ParErr+ DEVSEL=?? >TAbort+ <TAbort+ <MAbort+ >SERR+ <PERR+ INTx+
> Latency: 0, Cache Line Size: 64 bytes
> Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
> I/O behind bridge: 00010000-00010fff
> Memory behind bridge: c1000000-c10fffff
> Prefetchable memory behind bridge: c1100000-c11fffff
> Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
> BridgeCtl: Parity+ SERR+ NoISA+ VGA+ MAbort+ >Reset+ FastB2B+
> PriDiscTmr+ SecDiscTmr+ DiscTmrStat+ DiscTmrSERREn+
> Capabilities: [fc] <chain broken>
>
> 00:04.0 PCI bridge: Marvell Technology Group Ltd. Device 7846 (prog-if 00 [Normal decode])
> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx-
> Status: Cap+ 66MHz+ UDF+ FastB2B+ ParErr+ DEVSEL=?? >TAbort+ <TAbort+ <MAbort+ >SERR+ <PERR+ INTx+
> Latency: 0, Cache Line Size: 64 bytes
> Bus: primary=00, secondary=04, subordinate=04, sec-latency=0
> I/O behind bridge: 0000f000-00000fff
> Memory behind bridge: fff00000-000fffff
> Prefetchable memory behind bridge: fff00000-000fffff
> Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
> BridgeCtl: Parity+ SERR+ NoISA+ VGA+ MAbort+ >Reset+ FastB2B+
> PriDiscTmr+ SecDiscTmr+ DiscTmrStat+ DiscTmrSERREn+
> Capabilities: [fc] <chain broken>
>
> 00:05.0 PCI bridge: Marvell Technology Group Ltd. Device 7846 (prog-if 00 [Normal decode])
> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx-
> Status: Cap+ 66MHz+ UDF+ FastB2B+ ParErr+ DEVSEL=?? >TAbort+ <TAbort+ <MAbort+ >SERR+ <PERR+ INTx+
> Latency: 0, Cache Line Size: 64 bytes
> Bus: primary=00, secondary=05, subordinate=05, sec-latency=0
> I/O behind bridge: 00020000-00020fff
> Memory behind bridge: c1200000-c12fffff
> Prefetchable memory behind bridge: c1300000-c13fffff
> Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
> BridgeCtl: Parity+ SERR+ NoISA+ VGA+ MAbort+ >Reset+ FastB2B+
> PriDiscTmr+ SecDiscTmr+ DiscTmrStat+ DiscTmrSERREn+
> Capabilities: [fc] <chain broken>
>
> 00:06.0 PCI bridge: Marvell Technology Group Ltd. Device 7846 (prog-if 00 [Normal decode])
> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx-
> Status: Cap+ 66MHz+ UDF+ FastB2B+ ParErr+ DEVSEL=?? >TAbort+ <TAbort+ <MAbort+ >SERR+ <PERR+ INTx+
> Latency: 0, Cache Line Size: 64 bytes
> Bus: primary=00, secondary=06, subordinate=06, sec-latency=0
> I/O behind bridge: 0000f000-00000fff
> Memory behind bridge: fff00000-000fffff
> Prefetchable memory behind bridge: fff00000-000fffff
> Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
> BridgeCtl: Parity+ SERR+ NoISA+ VGA+ MAbort+ >Reset+ FastB2B+
> PriDiscTmr+ SecDiscTmr+ DiscTmrStat+ DiscTmrSERREn+
> Capabilities: [fc] <chain broken>
>
> 03:00.0 SCSI storage controller: Marvell Technology Group Ltd. 88SX7042 PCI-e 4-port SATA-II (rev 02)
> Subsystem: Marvell Technology Group Ltd. Device 11ab
> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx-
> Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
> Latency: 0, Cache Line Size: 64 bytes
> Interrupt: pin A routed to IRQ 105
> Region 0: Memory at c1000000 (64-bit, non-prefetchable) [size=1M]
> Region 2: I/O ports at 10000 [size=256]
> [virtual] Expansion ROM at c1100000 [disabled] [size=512K]
> Capabilities: [40] Power Management version 2
> Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
> Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
> Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
> Address: 0000000012345678 Data: 0000
> Capabilities: [60] Express (v1) Legacy Endpoint, MSI 00
> DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <256ns, L1 <1us
> ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
> DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
> RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
> MaxPayload 128 bytes, MaxReadReq 512 bytes
> DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
> LnkCap: Port #0, Speed 2.5GT/s, Width x4, ASPM L0s, Latency L0 <256ns, L1 unlimited
> ClockPM- Surprise- LLActRep- BwNot-
> LnkCtl: ASPM Disabled; RCB 128 bytes Disabled- Retrain- CommClk-
> ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
> LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
> Capabilities: [100 v1] Advanced Error Reporting
> UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
> UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
> UESvrt: DLP+ SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
> CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
> CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
> AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-
> Kernel driver in use: sata_mv
>
> 05:00.0 Ethernet controller: Intel Corporation 82572EI Gigabit Ethernet Controller (Copper) (rev 06)
> Subsystem: Intel Corporation PRO/1000 PT Server Adapter
> Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx-
> Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
> Latency: 0, Cache Line Size: 64 bytes
> Interrupt: pin A routed to IRQ 106
> Region 0: Memory at c1200000 (32-bit, non-prefetchable) [size=128K]
> Region 1: Memory at c1220000 (32-bit, non-prefetchable) [size=128K]
> Region 2: I/O ports at 20000 [disabled] [size=32]
> [virtual] Expansion ROM at c1300000 [disabled] [size=128K]
> Capabilities: [c8] Power Management version 2
> Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
> Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=1 PME-
> Capabilities: [d0] MSI: Enable- Count=1/1 Maskable- 64bit+
> Address: 0000000000000000 Data: 0000
> Capabilities: [e0] Express (v1) Endpoint, MSI 00
> DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us
> ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
> DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
> RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
> MaxPayload 128 bytes, MaxReadReq 512 bytes
> DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
> LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s, Latency L0 <4us, L1 <64us
> ClockPM- Surprise- LLActRep- BwNot-
> LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk-
> ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
> LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
> Capabilities: [100 v1] Advanced Error Reporting
> UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
> UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
> UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
> CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
> CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
> AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-
> Capabilities: [140 v1] Device Serial Number 00-1b-21-ff-ff-c1-c4-fe
> Kernel driver in use: e1000e
>
> Boot messages from the PCI subsystem:
>
> mvebu-pcie pcie-controller.1: PCIe0.0: link down
> mvebu-pcie pcie-controller.1: PCIe0.1: link down
> mvebu-pcie pcie-controller.1: PCIe0.2: link up
> mvebu-pcie pcie-controller.1: PCIe0.3: link down
> mvebu-pcie pcie-controller.1: PCIe2.0: link up
> mvebu-pcie pcie-controller.1: PCIe3.0: link down
> mvebu-pcie pcie-controller.1: PCI host bridge to bus 0000:00
> pci_bus 0000:00: root bus resource [io 0x0000-0xfffff]
> pci_bus 0000:00: root bus resource [mem 0xc1000000-0xc8ffffff]
> pci_bus 0000:00: root bus resource [bus 00-ff]
> PCI: bus0: Fast back to back transfers disabled
> pci 0000:00:01.0: bridge configuration invalid ([bus 00-00]), reconfiguring
> pci 0000:00:02.0: bridge configuration invalid ([bus 00-00]), reconfiguring
> pci 0000:00:03.0: bridge configuration invalid ([bus 00-00]), reconfiguring
> pci 0000:00:04.0: bridge configuration invalid ([bus 00-00]), reconfiguring
> pci 0000:00:05.0: bridge configuration invalid ([bus 00-00]), reconfiguring
> pci 0000:00:06.0: bridge configuration invalid ([bus 00-00]), reconfiguring
> PCI: bus1: Fast back to back transfers enabled
> PCI: bus2: Fast back to back transfers enabled
> PCI: bus3: Fast back to back transfers disabled
> PCI: bus4: Fast back to back transfers enabled
> PCI: bus5: Fast back to back transfers disabled
> PCI: bus6: Fast back to back transfers enabled
> pci 0000:00:03.0: BAR 8: assigned [mem 0xc1000000-0xc10fffff]
> pci 0000:00:03.0: BAR 9: assigned [mem 0xc1100000-0xc11fffff pref]
> pci 0000:00:05.0: BAR 8: assigned [mem 0xc1200000-0xc12fffff]
> pci 0000:00:05.0: BAR 9: assigned [mem 0xc1300000-0xc13fffff pref]
> pci 0000:00:03.0: BAR 7: assigned [io 0x10000-0x10fff]
> pci 0000:00:05.0: BAR 7: assigned [io 0x20000-0x20fff]
> pci 0000:00:01.0: PCI bridge to [bus 01]
> pci 0000:00:02.0: PCI bridge to [bus 02]
> pci 0000:03:00.0: BAR 0: assigned [mem 0xc1000000-0xc10fffff 64bit]
> pci 0000:03:00.0: BAR 6: assigned [mem 0xc1100000-0xc117ffff pref]
> pci 0000:03:00.0: BAR 2: assigned [io 0x10000-0x100ff]
> pci 0000:00:03.0: PCI bridge to [bus 03]
> pci 0000:00:03.0: bridge window [io 0x10000-0x10fff]
> pci 0000:00:03.0: bridge window [mem 0xc1000000-0xc10fffff]
> pci 0000:00:03.0: bridge window [mem 0xc1100000-0xc11fffff pref]
> pci 0000:00:04.0: PCI bridge to [bus 04]
> pci 0000:05:00.0: BAR 0: assigned [mem 0xc1200000-0xc121ffff]
> pci 0000:05:00.0: BAR 1: assigned [mem 0xc1220000-0xc123ffff]
> pci 0000:05:00.0: BAR 6: assigned [mem 0xc1300000-0xc131ffff pref]
> pci 0000:05:00.0: BAR 2: assigned [io 0x20000-0x2001f]
> pci 0000:00:05.0: PCI bridge to [bus 05]
> pci 0000:00:05.0: bridge window [io 0x20000-0x20fff]
> pci 0000:00:05.0: bridge window [mem 0xc1200000-0xc12fffff]
> pci 0000:00:05.0: bridge window [mem 0xc1300000-0xc13fffff pref]
> pci 0000:00:06.0: PCI bridge to [bus 06]
> PCI: enabling device 0000:00:01.0 (0140 -> 0143)
> PCI: enabling device 0000:00:02.0 (0140 -> 0143)
> PCI: enabling device 0000:00:03.0 (0140 -> 0143)
> PCI: enabling device 0000:00:04.0 (0140 -> 0143)
> PCI: enabling device 0000:00:05.0 (0140 -> 0143)
> PCI: enabling device 0000:00:06.0 (0140 -> 0143)
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
--
Christophe Vu-Brugier
More information about the linux-arm-kernel
mailing list