diff options
| -rw-r--r-- | arch/arm/plat-orion/pcie.c | 6 | ||||
| -rw-r--r-- | include/asm-arm/plat-orion/pcie.h | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/arch/arm/plat-orion/pcie.c b/arch/arm/plat-orion/pcie.c index abfda53f1800..ca32c60e14d7 100644 --- a/arch/arm/plat-orion/pcie.c +++ b/arch/arm/plat-orion/pcie.c | |||
| @@ -39,6 +39,7 @@ | |||
| 39 | #define PCIE_CONF_DATA_OFF 0x18fc | 39 | #define PCIE_CONF_DATA_OFF 0x18fc |
| 40 | #define PCIE_MASK_OFF 0x1910 | 40 | #define PCIE_MASK_OFF 0x1910 |
| 41 | #define PCIE_CTRL_OFF 0x1a00 | 41 | #define PCIE_CTRL_OFF 0x1a00 |
| 42 | #define PCIE_CTRL_X1_MODE 0x0001 | ||
| 42 | #define PCIE_STAT_OFF 0x1a04 | 43 | #define PCIE_STAT_OFF 0x1a04 |
| 43 | #define PCIE_STAT_DEV_OFFS 20 | 44 | #define PCIE_STAT_DEV_OFFS 20 |
| 44 | #define PCIE_STAT_DEV_MASK 0x1f | 45 | #define PCIE_STAT_DEV_MASK 0x1f |
| @@ -62,6 +63,11 @@ int orion_pcie_link_up(void __iomem *base) | |||
| 62 | return !(readl(base + PCIE_STAT_OFF) & PCIE_STAT_LINK_DOWN); | 63 | return !(readl(base + PCIE_STAT_OFF) & PCIE_STAT_LINK_DOWN); |
| 63 | } | 64 | } |
| 64 | 65 | ||
| 66 | int __init orion_pcie_x4_mode(void __iomem *base) | ||
| 67 | { | ||
| 68 | return !(readl(base + PCIE_CTRL_OFF) & PCIE_CTRL_X1_MODE); | ||
| 69 | } | ||
| 70 | |||
| 65 | int orion_pcie_get_local_bus_nr(void __iomem *base) | 71 | int orion_pcie_get_local_bus_nr(void __iomem *base) |
| 66 | { | 72 | { |
| 67 | u32 stat = readl(base + PCIE_STAT_OFF); | 73 | u32 stat = readl(base + PCIE_STAT_OFF); |
diff --git a/include/asm-arm/plat-orion/pcie.h b/include/asm-arm/plat-orion/pcie.h index 6434ac685d21..e61b7bd97af5 100644 --- a/include/asm-arm/plat-orion/pcie.h +++ b/include/asm-arm/plat-orion/pcie.h | |||
| @@ -14,6 +14,7 @@ | |||
| 14 | u32 orion_pcie_dev_id(void __iomem *base); | 14 | u32 orion_pcie_dev_id(void __iomem *base); |
| 15 | u32 orion_pcie_rev(void __iomem *base); | 15 | u32 orion_pcie_rev(void __iomem *base); |
| 16 | int orion_pcie_link_up(void __iomem *base); | 16 | int orion_pcie_link_up(void __iomem *base); |
| 17 | int orion_pcie_x4_mode(void __iomem *base); | ||
| 17 | int orion_pcie_get_local_bus_nr(void __iomem *base); | 18 | int orion_pcie_get_local_bus_nr(void __iomem *base); |
| 18 | void orion_pcie_set_local_bus_nr(void __iomem *base, int nr); | 19 | void orion_pcie_set_local_bus_nr(void __iomem *base, int nr); |
| 19 | void orion_pcie_setup(void __iomem *base, | 20 | void orion_pcie_setup(void __iomem *base, |
