diff options
Diffstat (limited to 'arch/arm/mach-orion5x')
-rw-r--r-- | arch/arm/mach-orion5x/addr-map.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-orion5x/common.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-orion5x/dns323-setup.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-orion5x/include/mach/bridge-regs.h | 20 | ||||
-rw-r--r-- | arch/arm/mach-orion5x/include/mach/orion5x.h | 56 | ||||
-rw-r--r-- | arch/arm/mach-orion5x/irq.c | 5 | ||||
-rw-r--r-- | arch/arm/mach-orion5x/pci.c | 6 |
7 files changed, 49 insertions, 47 deletions
diff --git a/arch/arm/mach-orion5x/addr-map.c b/arch/arm/mach-orion5x/addr-map.c index eaac83d1df6f..b5efc0fd31cb 100644 --- a/arch/arm/mach-orion5x/addr-map.c +++ b/arch/arm/mach-orion5x/addr-map.c | |||
@@ -113,7 +113,8 @@ void __init orion5x_setup_cpu_mbus_bridge(void) | |||
113 | /* | 113 | /* |
114 | * Setup MBUS dram target info. | 114 | * Setup MBUS dram target info. |
115 | */ | 115 | */ |
116 | orion_setup_cpu_mbus_target(&addr_map_cfg, ORION5X_DDR_WINDOW_CPU_BASE); | 116 | orion_setup_cpu_mbus_target(&addr_map_cfg, |
117 | (void __iomem *) ORION5X_DDR_WINDOW_CPU_BASE); | ||
117 | } | 118 | } |
118 | 119 | ||
119 | void __init orion5x_setup_dev_boot_win(u32 base, u32 size) | 120 | void __init orion5x_setup_dev_boot_win(u32 base, u32 size) |
diff --git a/arch/arm/mach-orion5x/common.c b/arch/arm/mach-orion5x/common.c index 073c7d799068..b3eb3da01160 100644 --- a/arch/arm/mach-orion5x/common.c +++ b/arch/arm/mach-orion5x/common.c | |||
@@ -42,12 +42,12 @@ | |||
42 | ****************************************************************************/ | 42 | ****************************************************************************/ |
43 | static struct map_desc orion5x_io_desc[] __initdata = { | 43 | static struct map_desc orion5x_io_desc[] __initdata = { |
44 | { | 44 | { |
45 | .virtual = ORION5X_REGS_VIRT_BASE, | 45 | .virtual = (unsigned long) ORION5X_REGS_VIRT_BASE, |
46 | .pfn = __phys_to_pfn(ORION5X_REGS_PHYS_BASE), | 46 | .pfn = __phys_to_pfn(ORION5X_REGS_PHYS_BASE), |
47 | .length = ORION5X_REGS_SIZE, | 47 | .length = ORION5X_REGS_SIZE, |
48 | .type = MT_DEVICE, | 48 | .type = MT_DEVICE, |
49 | }, { | 49 | }, { |
50 | .virtual = ORION5X_PCIE_WA_VIRT_BASE, | 50 | .virtual = (unsigned long) ORION5X_PCIE_WA_VIRT_BASE, |
51 | .pfn = __phys_to_pfn(ORION5X_PCIE_WA_PHYS_BASE), | 51 | .pfn = __phys_to_pfn(ORION5X_PCIE_WA_PHYS_BASE), |
52 | .length = ORION5X_PCIE_WA_SIZE, | 52 | .length = ORION5X_PCIE_WA_SIZE, |
53 | .type = MT_DEVICE, | 53 | .type = MT_DEVICE, |
diff --git a/arch/arm/mach-orion5x/dns323-setup.c b/arch/arm/mach-orion5x/dns323-setup.c index 0e19db69f5c4..e533588880ff 100644 --- a/arch/arm/mach-orion5x/dns323-setup.c +++ b/arch/arm/mach-orion5x/dns323-setup.c | |||
@@ -701,7 +701,7 @@ static void __init dns323_init(void) | |||
701 | * Note: AFAIK, rev B1 needs the same treatement but I'll let | 701 | * Note: AFAIK, rev B1 needs the same treatement but I'll let |
702 | * somebody else test it. | 702 | * somebody else test it. |
703 | */ | 703 | */ |
704 | writel(0x5, ORION5X_SATA_VIRT_BASE | 0x2c); | 704 | writel(0x5, ORION5X_SATA_VIRT_BASE + 0x2c); |
705 | break; | 705 | break; |
706 | } | 706 | } |
707 | } | 707 | } |
diff --git a/arch/arm/mach-orion5x/include/mach/bridge-regs.h b/arch/arm/mach-orion5x/include/mach/bridge-regs.h index 11a3c1e9801f..461fd69a10ae 100644 --- a/arch/arm/mach-orion5x/include/mach/bridge-regs.h +++ b/arch/arm/mach-orion5x/include/mach/bridge-regs.h | |||
@@ -13,27 +13,27 @@ | |||
13 | 13 | ||
14 | #include <mach/orion5x.h> | 14 | #include <mach/orion5x.h> |
15 | 15 | ||
16 | #define CPU_CONF (ORION5X_BRIDGE_VIRT_BASE | 0x100) | 16 | #define CPU_CONF (ORION5X_BRIDGE_VIRT_BASE + 0x100) |
17 | 17 | ||
18 | #define CPU_CTRL (ORION5X_BRIDGE_VIRT_BASE | 0x104) | 18 | #define CPU_CTRL (ORION5X_BRIDGE_VIRT_BASE + 0x104) |
19 | 19 | ||
20 | #define RSTOUTn_MASK (ORION5X_BRIDGE_VIRT_BASE | 0x108) | 20 | #define RSTOUTn_MASK (ORION5X_BRIDGE_VIRT_BASE + 0x108) |
21 | #define WDT_RESET_OUT_EN 0x0002 | 21 | #define WDT_RESET_OUT_EN 0x0002 |
22 | 22 | ||
23 | #define CPU_SOFT_RESET (ORION5X_BRIDGE_VIRT_BASE | 0x10c) | 23 | #define CPU_SOFT_RESET (ORION5X_BRIDGE_VIRT_BASE + 0x10c) |
24 | 24 | ||
25 | #define BRIDGE_CAUSE (ORION5X_BRIDGE_VIRT_BASE | 0x110) | 25 | #define BRIDGE_CAUSE (ORION5X_BRIDGE_VIRT_BASE + 0x110) |
26 | 26 | ||
27 | #define POWER_MNG_CTRL_REG (ORION5X_BRIDGE_VIRT_BASE | 0x11C) | 27 | #define POWER_MNG_CTRL_REG (ORION5X_BRIDGE_VIRT_BASE + 0x11C) |
28 | 28 | ||
29 | #define WDT_INT_REQ 0x0008 | 29 | #define WDT_INT_REQ 0x0008 |
30 | 30 | ||
31 | #define BRIDGE_INT_TIMER1_CLR (~0x0004) | 31 | #define BRIDGE_INT_TIMER1_CLR (~0x0004) |
32 | 32 | ||
33 | #define MAIN_IRQ_CAUSE (ORION5X_BRIDGE_VIRT_BASE | 0x200) | 33 | #define MAIN_IRQ_CAUSE (ORION5X_BRIDGE_VIRT_BASE + 0x200) |
34 | 34 | ||
35 | #define MAIN_IRQ_MASK (ORION5X_BRIDGE_VIRT_BASE | 0x204) | 35 | #define MAIN_IRQ_MASK (ORION5X_BRIDGE_VIRT_BASE + 0x204) |
36 | 36 | ||
37 | #define TIMER_VIRT_BASE (ORION5X_BRIDGE_VIRT_BASE | 0x300) | 37 | #define TIMER_VIRT_BASE (ORION5X_BRIDGE_VIRT_BASE + 0x300) |
38 | #define TIMER_PHYS_BASE (ORION5X_BRIDGE_PHYS_BASE | 0x300) | 38 | #define TIMER_PHYS_BASE (ORION5X_BRIDGE_PHYS_BASE + 0x300) |
39 | #endif | 39 | #endif |
diff --git a/arch/arm/mach-orion5x/include/mach/orion5x.h b/arch/arm/mach-orion5x/include/mach/orion5x.h index 1b60131b7f60..d265f5484a8e 100644 --- a/arch/arm/mach-orion5x/include/mach/orion5x.h +++ b/arch/arm/mach-orion5x/include/mach/orion5x.h | |||
@@ -37,7 +37,7 @@ | |||
37 | * fd000000 f0000000 16M PCIe WA space (Orion-1/Orion-NAS only) | 37 | * fd000000 f0000000 16M PCIe WA space (Orion-1/Orion-NAS only) |
38 | ****************************************************************************/ | 38 | ****************************************************************************/ |
39 | #define ORION5X_REGS_PHYS_BASE 0xf1000000 | 39 | #define ORION5X_REGS_PHYS_BASE 0xf1000000 |
40 | #define ORION5X_REGS_VIRT_BASE 0xfe000000 | 40 | #define ORION5X_REGS_VIRT_BASE IOMEM(0xfe000000) |
41 | #define ORION5X_REGS_SIZE SZ_1M | 41 | #define ORION5X_REGS_SIZE SZ_1M |
42 | 42 | ||
43 | #define ORION5X_PCIE_IO_PHYS_BASE 0xf2000000 | 43 | #define ORION5X_PCIE_IO_PHYS_BASE 0xf2000000 |
@@ -53,7 +53,7 @@ | |||
53 | 53 | ||
54 | /* Relevant only for Orion-1/Orion-NAS */ | 54 | /* Relevant only for Orion-1/Orion-NAS */ |
55 | #define ORION5X_PCIE_WA_PHYS_BASE 0xf0000000 | 55 | #define ORION5X_PCIE_WA_PHYS_BASE 0xf0000000 |
56 | #define ORION5X_PCIE_WA_VIRT_BASE 0xfd000000 | 56 | #define ORION5X_PCIE_WA_VIRT_BASE IOMEM(0xfd000000) |
57 | #define ORION5X_PCIE_WA_SIZE SZ_16M | 57 | #define ORION5X_PCIE_WA_SIZE SZ_16M |
58 | 58 | ||
59 | #define ORION5X_PCIE_MEM_PHYS_BASE 0xe0000000 | 59 | #define ORION5X_PCIE_MEM_PHYS_BASE 0xe0000000 |
@@ -66,42 +66,42 @@ | |||
66 | * Orion Registers Map | 66 | * Orion Registers Map |
67 | ******************************************************************************/ | 67 | ******************************************************************************/ |
68 | 68 | ||
69 | #define ORION5X_DDR_VIRT_BASE (ORION5X_REGS_VIRT_BASE | 0x00000) | 69 | #define ORION5X_DDR_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x00000) |
70 | #define ORION5X_DDR_WINDOW_CPU_BASE (ORION5X_DDR_VIRT_BASE | 0x1500) | 70 | #define ORION5X_DDR_WINDOW_CPU_BASE (ORION5X_DDR_VIRT_BASE + 0x1500) |
71 | #define ORION5X_DEV_BUS_PHYS_BASE (ORION5X_REGS_PHYS_BASE | 0x10000) | 71 | #define ORION5X_DEV_BUS_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x10000) |
72 | #define ORION5X_DEV_BUS_VIRT_BASE (ORION5X_REGS_VIRT_BASE | 0x10000) | 72 | #define ORION5X_DEV_BUS_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x10000) |
73 | #define ORION5X_DEV_BUS_REG(x) (ORION5X_DEV_BUS_VIRT_BASE | (x)) | 73 | #define ORION5X_DEV_BUS_REG(x) (ORION5X_DEV_BUS_VIRT_BASE + (x)) |
74 | #define GPIO_VIRT_BASE ORION5X_DEV_BUS_REG(0x0100) | 74 | #define GPIO_VIRT_BASE ORION5X_DEV_BUS_REG(0x0100) |
75 | #define SPI_PHYS_BASE (ORION5X_DEV_BUS_PHYS_BASE | 0x0600) | 75 | #define SPI_PHYS_BASE (ORION5X_DEV_BUS_PHYS_BASE + 0x0600) |
76 | #define I2C_PHYS_BASE (ORION5X_DEV_BUS_PHYS_BASE | 0x1000) | 76 | #define I2C_PHYS_BASE (ORION5X_DEV_BUS_PHYS_BASE + 0x1000) |
77 | #define UART0_PHYS_BASE (ORION5X_DEV_BUS_PHYS_BASE | 0x2000) | 77 | #define UART0_PHYS_BASE (ORION5X_DEV_BUS_PHYS_BASE + 0x2000) |
78 | #define UART0_VIRT_BASE (ORION5X_DEV_BUS_VIRT_BASE | 0x2000) | 78 | #define UART0_VIRT_BASE (ORION5X_DEV_BUS_VIRT_BASE + 0x2000) |
79 | #define UART1_PHYS_BASE (ORION5X_DEV_BUS_PHYS_BASE | 0x2100) | 79 | #define UART1_PHYS_BASE (ORION5X_DEV_BUS_PHYS_BASE + 0x2100) |
80 | #define UART1_VIRT_BASE (ORION5X_DEV_BUS_VIRT_BASE | 0x2100) | 80 | #define UART1_VIRT_BASE (ORION5X_DEV_BUS_VIRT_BASE + 0x2100) |
81 | 81 | ||
82 | #define ORION5X_BRIDGE_VIRT_BASE (ORION5X_REGS_VIRT_BASE | 0x20000) | 82 | #define ORION5X_BRIDGE_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x20000) |
83 | #define ORION5X_BRIDGE_PHYS_BASE (ORION5X_REGS_PHYS_BASE | 0x20000) | 83 | #define ORION5X_BRIDGE_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x20000) |
84 | 84 | ||
85 | #define ORION5X_PCI_VIRT_BASE (ORION5X_REGS_VIRT_BASE | 0x30000) | 85 | #define ORION5X_PCI_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x30000) |
86 | 86 | ||
87 | #define ORION5X_PCIE_VIRT_BASE (ORION5X_REGS_VIRT_BASE | 0x40000) | 87 | #define ORION5X_PCIE_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x40000) |
88 | 88 | ||
89 | #define ORION5X_USB0_PHYS_BASE (ORION5X_REGS_PHYS_BASE | 0x50000) | 89 | #define ORION5X_USB0_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x50000) |
90 | #define ORION5X_USB0_VIRT_BASE (ORION5X_REGS_VIRT_BASE | 0x50000) | 90 | #define ORION5X_USB0_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x50000) |
91 | 91 | ||
92 | #define ORION5X_XOR_PHYS_BASE (ORION5X_REGS_PHYS_BASE | 0x60900) | 92 | #define ORION5X_XOR_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x60900) |
93 | #define ORION5X_XOR_VIRT_BASE (ORION5X_REGS_VIRT_BASE | 0x60900) | 93 | #define ORION5X_XOR_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x60900) |
94 | 94 | ||
95 | #define ORION5X_ETH_PHYS_BASE (ORION5X_REGS_PHYS_BASE | 0x70000) | 95 | #define ORION5X_ETH_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x70000) |
96 | #define ORION5X_ETH_VIRT_BASE (ORION5X_REGS_VIRT_BASE | 0x70000) | 96 | #define ORION5X_ETH_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x70000) |
97 | 97 | ||
98 | #define ORION5X_SATA_PHYS_BASE (ORION5X_REGS_PHYS_BASE | 0x80000) | 98 | #define ORION5X_SATA_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x80000) |
99 | #define ORION5X_SATA_VIRT_BASE (ORION5X_REGS_VIRT_BASE | 0x80000) | 99 | #define ORION5X_SATA_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x80000) |
100 | 100 | ||
101 | #define ORION5X_CRYPTO_PHYS_BASE (ORION5X_REGS_PHYS_BASE | 0x90000) | 101 | #define ORION5X_CRYPTO_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x90000) |
102 | 102 | ||
103 | #define ORION5X_USB1_PHYS_BASE (ORION5X_REGS_PHYS_BASE | 0xa0000) | 103 | #define ORION5X_USB1_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0xa0000) |
104 | #define ORION5X_USB1_VIRT_BASE (ORION5X_REGS_VIRT_BASE | 0xa0000) | 104 | #define ORION5X_USB1_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0xa0000) |
105 | 105 | ||
106 | /******************************************************************************* | 106 | /******************************************************************************* |
107 | * Device Bus Registers | 107 | * Device Bus Registers |
diff --git a/arch/arm/mach-orion5x/irq.c b/arch/arm/mach-orion5x/irq.c index e152641cdb0e..30a192b9c517 100644 --- a/arch/arm/mach-orion5x/irq.c +++ b/arch/arm/mach-orion5x/irq.c | |||
@@ -12,6 +12,7 @@ | |||
12 | #include <linux/gpio.h> | 12 | #include <linux/gpio.h> |
13 | #include <linux/kernel.h> | 13 | #include <linux/kernel.h> |
14 | #include <linux/irq.h> | 14 | #include <linux/irq.h> |
15 | #include <linux/io.h> | ||
15 | #include <mach/bridge-regs.h> | 16 | #include <mach/bridge-regs.h> |
16 | #include <plat/orion-gpio.h> | 17 | #include <plat/orion-gpio.h> |
17 | #include <plat/irq.h> | 18 | #include <plat/irq.h> |
@@ -25,11 +26,11 @@ static int __initdata gpio0_irqs[4] = { | |||
25 | 26 | ||
26 | void __init orion5x_init_irq(void) | 27 | void __init orion5x_init_irq(void) |
27 | { | 28 | { |
28 | orion_irq_init(0, (void __iomem *)MAIN_IRQ_MASK); | 29 | orion_irq_init(0, MAIN_IRQ_MASK); |
29 | 30 | ||
30 | /* | 31 | /* |
31 | * Initialize gpiolib for GPIOs 0-31. | 32 | * Initialize gpiolib for GPIOs 0-31. |
32 | */ | 33 | */ |
33 | orion_gpio_init(NULL, 0, 32, (void __iomem *)GPIO_VIRT_BASE, 0, | 34 | orion_gpio_init(NULL, 0, 32, GPIO_VIRT_BASE, 0, |
34 | IRQ_ORION5X_GPIO_START, gpio0_irqs); | 35 | IRQ_ORION5X_GPIO_START, gpio0_irqs); |
35 | } | 36 | } |
diff --git a/arch/arm/mach-orion5x/pci.c b/arch/arm/mach-orion5x/pci.c index 6921d49b988d..cd50e328db2a 100644 --- a/arch/arm/mach-orion5x/pci.c +++ b/arch/arm/mach-orion5x/pci.c | |||
@@ -38,7 +38,7 @@ | |||
38 | /***************************************************************************** | 38 | /***************************************************************************** |
39 | * PCIe controller | 39 | * PCIe controller |
40 | ****************************************************************************/ | 40 | ****************************************************************************/ |
41 | #define PCIE_BASE ((void __iomem *)ORION5X_PCIE_VIRT_BASE) | 41 | #define PCIE_BASE (ORION5X_PCIE_VIRT_BASE) |
42 | 42 | ||
43 | void __init orion5x_pcie_id(u32 *dev, u32 *rev) | 43 | void __init orion5x_pcie_id(u32 *dev, u32 *rev) |
44 | { | 44 | { |
@@ -111,7 +111,7 @@ static int pcie_rd_conf_wa(struct pci_bus *bus, u32 devfn, | |||
111 | return PCIBIOS_DEVICE_NOT_FOUND; | 111 | return PCIBIOS_DEVICE_NOT_FOUND; |
112 | } | 112 | } |
113 | 113 | ||
114 | ret = orion_pcie_rd_conf_wa((void __iomem *)ORION5X_PCIE_WA_VIRT_BASE, | 114 | ret = orion_pcie_rd_conf_wa(ORION5X_PCIE_WA_VIRT_BASE, |
115 | bus, devfn, where, size, val); | 115 | bus, devfn, where, size, val); |
116 | 116 | ||
117 | return ret; | 117 | return ret; |
@@ -188,7 +188,7 @@ static int __init pcie_setup(struct pci_sys_data *sys) | |||
188 | /***************************************************************************** | 188 | /***************************************************************************** |
189 | * PCI controller | 189 | * PCI controller |
190 | ****************************************************************************/ | 190 | ****************************************************************************/ |
191 | #define ORION5X_PCI_REG(x) (ORION5X_PCI_VIRT_BASE | (x)) | 191 | #define ORION5X_PCI_REG(x) (ORION5X_PCI_VIRT_BASE + (x)) |
192 | #define PCI_MODE ORION5X_PCI_REG(0xd00) | 192 | #define PCI_MODE ORION5X_PCI_REG(0xd00) |
193 | #define PCI_CMD ORION5X_PCI_REG(0xc00) | 193 | #define PCI_CMD ORION5X_PCI_REG(0xc00) |
194 | #define PCI_P2P_CONF ORION5X_PCI_REG(0x1d14) | 194 | #define PCI_P2P_CONF ORION5X_PCI_REG(0x1d14) |