Lennert Buytenhek | abc0197 | 2008-03-27 14:51:40 -0400 | [diff] [blame] | 1 | /* |
Lennert Buytenhek | 6f088f1 | 2008-08-09 13:44:58 +0200 | [diff] [blame] | 2 | * arch/arm/plat-orion/include/plat/pcie.h |
Lennert Buytenhek | abc0197 | 2008-03-27 14:51:40 -0400 | [diff] [blame] | 3 | * |
| 4 | * Marvell Orion SoC PCIe handling. |
| 5 | * |
| 6 | * This file is licensed under the terms of the GNU General Public |
| 7 | * License version 2. This program is licensed "as is" without any |
| 8 | * warranty of any kind, whether express or implied. |
| 9 | */ |
| 10 | |
Lennert Buytenhek | 6f088f1 | 2008-08-09 13:44:58 +0200 | [diff] [blame] | 11 | #ifndef __PLAT_PCIE_H |
| 12 | #define __PLAT_PCIE_H |
Lennert Buytenhek | abc0197 | 2008-03-27 14:51:40 -0400 | [diff] [blame] | 13 | |
Nicolas Pitre | 3924996 | 2010-10-21 15:48:33 -0400 | [diff] [blame] | 14 | struct pci_bus; |
| 15 | |
Lennert Buytenhek | abc0197 | 2008-03-27 14:51:40 -0400 | [diff] [blame] | 16 | u32 orion_pcie_dev_id(void __iomem *base); |
| 17 | u32 orion_pcie_rev(void __iomem *base); |
| 18 | int orion_pcie_link_up(void __iomem *base); |
Lennert Buytenhek | a9311cf | 2008-06-22 22:45:09 +0200 | [diff] [blame] | 19 | int orion_pcie_x4_mode(void __iomem *base); |
Lennert Buytenhek | abc0197 | 2008-03-27 14:51:40 -0400 | [diff] [blame] | 20 | int orion_pcie_get_local_bus_nr(void __iomem *base); |
| 21 | void orion_pcie_set_local_bus_nr(void __iomem *base, int nr); |
Nicolas Pitre | 3924996 | 2010-10-21 15:48:33 -0400 | [diff] [blame] | 22 | void orion_pcie_reset(void __iomem *base); |
Andrew Lunn | 63a9332 | 2011-12-07 21:48:07 +0100 | [diff] [blame] | 23 | void orion_pcie_setup(void __iomem *base); |
Lennert Buytenhek | abc0197 | 2008-03-27 14:51:40 -0400 | [diff] [blame] | 24 | int orion_pcie_rd_conf(void __iomem *base, struct pci_bus *bus, |
| 25 | u32 devfn, int where, int size, u32 *val); |
| 26 | int orion_pcie_rd_conf_tlp(void __iomem *base, struct pci_bus *bus, |
| 27 | u32 devfn, int where, int size, u32 *val); |
| 28 | int orion_pcie_rd_conf_wa(void __iomem *wa_base, struct pci_bus *bus, |
| 29 | u32 devfn, int where, int size, u32 *val); |
| 30 | int orion_pcie_wr_conf(void __iomem *base, struct pci_bus *bus, |
| 31 | u32 devfn, int where, int size, u32 val); |
| 32 | |
| 33 | |
| 34 | #endif |