diff options
author | Lennert Buytenhek <buytenh@wantstofly.org> | 2008-02-07 15:55:17 -0500 |
---|---|---|
committer | Nicolas Pitre <nico@cam.org> | 2008-02-08 11:52:23 -0500 |
commit | 7f74c2c7f760fdd44116e3dd90a5aeeb9d9333c7 (patch) | |
tree | 46d579610a4baa5f9bd7ae7b7a0ed3f60b6628e1 /arch/arm/mach-orion/common.c | |
parent | 27cd3ad2313e5aca5304a6f32060a90367edbf51 (diff) |
[ARM] Orion: distinguish between physical and virtual addresses
Hack up the Orion port to distinguish between virtual and physical
addresses of register windows. This will allow moving virtual
mappings higher up in the address space, to free up more kernel
virtual address space.
Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Signed-off-by: Nicolas Pitre <nico@marvell.com>
Diffstat (limited to 'arch/arm/mach-orion/common.c')
-rw-r--r-- | arch/arm/mach-orion/common.c | 52 |
1 files changed, 26 insertions, 26 deletions
diff --git a/arch/arm/mach-orion/common.c b/arch/arm/mach-orion/common.c index 5f41fc537fa5..5f0ee4b8a9b7 100644 --- a/arch/arm/mach-orion/common.c +++ b/arch/arm/mach-orion/common.c | |||
@@ -27,26 +27,26 @@ | |||
27 | ****************************************************************************/ | 27 | ****************************************************************************/ |
28 | static struct map_desc orion_io_desc[] __initdata = { | 28 | static struct map_desc orion_io_desc[] __initdata = { |
29 | { | 29 | { |
30 | .virtual = ORION_REGS_BASE, | 30 | .virtual = ORION_REGS_VIRT_BASE, |
31 | .pfn = __phys_to_pfn(ORION_REGS_BASE), | 31 | .pfn = __phys_to_pfn(ORION_REGS_PHYS_BASE), |
32 | .length = ORION_REGS_SIZE, | 32 | .length = ORION_REGS_SIZE, |
33 | .type = MT_DEVICE | 33 | .type = MT_DEVICE |
34 | }, | 34 | }, |
35 | { | 35 | { |
36 | .virtual = ORION_PCIE_IO_BASE, | 36 | .virtual = ORION_PCIE_IO_VIRT_BASE, |
37 | .pfn = __phys_to_pfn(ORION_PCIE_IO_BASE), | 37 | .pfn = __phys_to_pfn(ORION_PCIE_IO_PHYS_BASE), |
38 | .length = ORION_PCIE_IO_SIZE, | 38 | .length = ORION_PCIE_IO_SIZE, |
39 | .type = MT_DEVICE | 39 | .type = MT_DEVICE |
40 | }, | 40 | }, |
41 | { | 41 | { |
42 | .virtual = ORION_PCI_IO_BASE, | 42 | .virtual = ORION_PCI_IO_VIRT_BASE, |
43 | .pfn = __phys_to_pfn(ORION_PCI_IO_BASE), | 43 | .pfn = __phys_to_pfn(ORION_PCI_IO_PHYS_BASE), |
44 | .length = ORION_PCI_IO_SIZE, | 44 | .length = ORION_PCI_IO_SIZE, |
45 | .type = MT_DEVICE | 45 | .type = MT_DEVICE |
46 | }, | 46 | }, |
47 | { | 47 | { |
48 | .virtual = ORION_PCIE_WA_BASE, | 48 | .virtual = ORION_PCIE_WA_VIRT_BASE, |
49 | .pfn = __phys_to_pfn(ORION_PCIE_WA_BASE), | 49 | .pfn = __phys_to_pfn(ORION_PCIE_WA_PHYS_BASE), |
50 | .length = ORION_PCIE_WA_SIZE, | 50 | .length = ORION_PCIE_WA_SIZE, |
51 | .type = MT_DEVICE | 51 | .type = MT_DEVICE |
52 | }, | 52 | }, |
@@ -63,8 +63,8 @@ void __init orion_map_io(void) | |||
63 | 63 | ||
64 | static struct resource orion_uart_resources[] = { | 64 | static struct resource orion_uart_resources[] = { |
65 | { | 65 | { |
66 | .start = UART0_BASE, | 66 | .start = UART0_PHYS_BASE, |
67 | .end = UART0_BASE + 0xff, | 67 | .end = UART0_PHYS_BASE + 0xff, |
68 | .flags = IORESOURCE_MEM, | 68 | .flags = IORESOURCE_MEM, |
69 | }, | 69 | }, |
70 | { | 70 | { |
@@ -73,8 +73,8 @@ static struct resource orion_uart_resources[] = { | |||
73 | .flags = IORESOURCE_IRQ, | 73 | .flags = IORESOURCE_IRQ, |
74 | }, | 74 | }, |
75 | { | 75 | { |
76 | .start = UART1_BASE, | 76 | .start = UART1_PHYS_BASE, |
77 | .end = UART1_BASE + 0xff, | 77 | .end = UART1_PHYS_BASE + 0xff, |
78 | .flags = IORESOURCE_MEM, | 78 | .flags = IORESOURCE_MEM, |
79 | }, | 79 | }, |
80 | { | 80 | { |
@@ -86,8 +86,8 @@ static struct resource orion_uart_resources[] = { | |||
86 | 86 | ||
87 | static struct plat_serial8250_port orion_uart_data[] = { | 87 | static struct plat_serial8250_port orion_uart_data[] = { |
88 | { | 88 | { |
89 | .mapbase = UART0_BASE, | 89 | .mapbase = UART0_PHYS_BASE, |
90 | .membase = (char *)UART0_BASE, | 90 | .membase = (char *)UART0_VIRT_BASE, |
91 | .irq = IRQ_ORION_UART0, | 91 | .irq = IRQ_ORION_UART0, |
92 | .flags = UPF_SKIP_TEST | UPF_BOOT_AUTOCONF, | 92 | .flags = UPF_SKIP_TEST | UPF_BOOT_AUTOCONF, |
93 | .iotype = UPIO_MEM, | 93 | .iotype = UPIO_MEM, |
@@ -95,8 +95,8 @@ static struct plat_serial8250_port orion_uart_data[] = { | |||
95 | .uartclk = ORION_TCLK, | 95 | .uartclk = ORION_TCLK, |
96 | }, | 96 | }, |
97 | { | 97 | { |
98 | .mapbase = UART1_BASE, | 98 | .mapbase = UART1_PHYS_BASE, |
99 | .membase = (char *)UART1_BASE, | 99 | .membase = (char *)UART1_VIRT_BASE, |
100 | .irq = IRQ_ORION_UART1, | 100 | .irq = IRQ_ORION_UART1, |
101 | .flags = UPF_SKIP_TEST | UPF_BOOT_AUTOCONF, | 101 | .flags = UPF_SKIP_TEST | UPF_BOOT_AUTOCONF, |
102 | .iotype = UPIO_MEM, | 102 | .iotype = UPIO_MEM, |
@@ -122,8 +122,8 @@ static struct platform_device orion_uart = { | |||
122 | 122 | ||
123 | static struct resource orion_ehci0_resources[] = { | 123 | static struct resource orion_ehci0_resources[] = { |
124 | { | 124 | { |
125 | .start = ORION_USB0_REG_BASE, | 125 | .start = ORION_USB0_PHYS_BASE, |
126 | .end = ORION_USB0_REG_BASE + SZ_4K, | 126 | .end = ORION_USB0_PHYS_BASE + SZ_4K, |
127 | .flags = IORESOURCE_MEM, | 127 | .flags = IORESOURCE_MEM, |
128 | }, | 128 | }, |
129 | { | 129 | { |
@@ -135,8 +135,8 @@ static struct resource orion_ehci0_resources[] = { | |||
135 | 135 | ||
136 | static struct resource orion_ehci1_resources[] = { | 136 | static struct resource orion_ehci1_resources[] = { |
137 | { | 137 | { |
138 | .start = ORION_USB1_REG_BASE, | 138 | .start = ORION_USB1_PHYS_BASE, |
139 | .end = ORION_USB1_REG_BASE + SZ_4K, | 139 | .end = ORION_USB1_PHYS_BASE + SZ_4K, |
140 | .flags = IORESOURCE_MEM, | 140 | .flags = IORESOURCE_MEM, |
141 | }, | 141 | }, |
142 | { | 142 | { |
@@ -177,8 +177,8 @@ static struct platform_device orion_ehci1 = { | |||
177 | 177 | ||
178 | static struct resource orion_eth_shared_resources[] = { | 178 | static struct resource orion_eth_shared_resources[] = { |
179 | { | 179 | { |
180 | .start = ORION_ETH_REG_BASE, | 180 | .start = ORION_ETH_PHYS_BASE, |
181 | .end = ORION_ETH_REG_BASE + 0xffff, | 181 | .end = ORION_ETH_PHYS_BASE + 0xffff, |
182 | .flags = IORESOURCE_MEM, | 182 | .flags = IORESOURCE_MEM, |
183 | }, | 183 | }, |
184 | }; | 184 | }; |
@@ -227,8 +227,8 @@ static struct mv64xxx_i2c_pdata orion_i2c_pdata = { | |||
227 | static struct resource orion_i2c_resources[] = { | 227 | static struct resource orion_i2c_resources[] = { |
228 | { | 228 | { |
229 | .name = "i2c base", | 229 | .name = "i2c base", |
230 | .start = I2C_BASE, | 230 | .start = I2C_PHYS_BASE, |
231 | .end = I2C_BASE + 0x20 -1, | 231 | .end = I2C_PHYS_BASE + 0x20 -1, |
232 | .flags = IORESOURCE_MEM, | 232 | .flags = IORESOURCE_MEM, |
233 | }, | 233 | }, |
234 | { | 234 | { |
@@ -255,8 +255,8 @@ static struct platform_device orion_i2c = { | |||
255 | static struct resource orion_sata_resources[] = { | 255 | static struct resource orion_sata_resources[] = { |
256 | { | 256 | { |
257 | .name = "sata base", | 257 | .name = "sata base", |
258 | .start = ORION_SATA_REG_BASE, | 258 | .start = ORION_SATA_PHYS_BASE, |
259 | .end = ORION_SATA_REG_BASE + 0x5000 - 1, | 259 | .end = ORION_SATA_PHYS_BASE + 0x5000 - 1, |
260 | .flags = IORESOURCE_MEM, | 260 | .flags = IORESOURCE_MEM, |
261 | }, | 261 | }, |
262 | { | 262 | { |