提交 365f7a43 编写于 作者: C Catalin Marinas

nommu: Add MMU-less support for Integrator platforms

This patch redefines the IO_ADDRESS macro in
include/asm-arm/hardware.h.
Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
上级 9a45f026
...@@ -36,8 +36,12 @@ ...@@ -36,8 +36,12 @@
#define PCIO_BASE PCI_IO_VADDR #define PCIO_BASE PCI_IO_VADDR
#define PCIMEM_BASE PCI_MEMORY_VADDR #define PCIMEM_BASE PCI_MEMORY_VADDR
#ifdef CONFIG_MMU
/* macro to get at IO space when running virtually */ /* macro to get at IO space when running virtually */
#define IO_ADDRESS(x) (((x) >> 4) + IO_BASE) #define IO_ADDRESS(x) (((x) >> 4) + IO_BASE)
#else
#define IO_ADDRESS(x) (x)
#endif
#define pcibios_assign_all_busses() 1 #define pcibios_assign_all_busses() 1
......
...@@ -49,14 +49,14 @@ ...@@ -49,14 +49,14 @@
#define INTCP_PA_CLCD_BASE 0xc0000000 #define INTCP_PA_CLCD_BASE 0xc0000000
#define INTCP_VA_CIC_BASE 0xf1000040 #define INTCP_VA_CIC_BASE IO_ADDRESS(INTEGRATOR_HDR_BASE) + 0x40
#define INTCP_VA_PIC_BASE 0xf1400000 #define INTCP_VA_PIC_BASE IO_ADDRESS(INTEGRATOR_IC_BASE)
#define INTCP_VA_SIC_BASE 0xfca00000 #define INTCP_VA_SIC_BASE IO_ADDRESS(0xca000000)
#define INTCP_PA_ETH_BASE 0xc8000000 #define INTCP_PA_ETH_BASE 0xc8000000
#define INTCP_ETH_SIZE 0x10 #define INTCP_ETH_SIZE 0x10
#define INTCP_VA_CTRL_BASE 0xfcb00000 #define INTCP_VA_CTRL_BASE IO_ADDRESS(0xcb000000)
#define INTCP_FLASHPROG 0x04 #define INTCP_FLASHPROG 0x04
#define CINTEGRATOR_FLASHPROG_FLVPPEN (1 << 0) #define CINTEGRATOR_FLASHPROG_FLVPPEN (1 << 0)
#define CINTEGRATOR_FLASHPROG_FLWREN (1 << 1) #define CINTEGRATOR_FLASHPROG_FLWREN (1 << 1)
...@@ -121,12 +121,12 @@ static struct map_desc intcp_io_desc[] __initdata = { ...@@ -121,12 +121,12 @@ static struct map_desc intcp_io_desc[] __initdata = {
.length = SZ_4K, .length = SZ_4K,
.type = MT_DEVICE .type = MT_DEVICE
}, { }, {
.virtual = 0xfca00000, .virtual = IO_ADDRESS(0xca000000),
.pfn = __phys_to_pfn(0xca000000), .pfn = __phys_to_pfn(0xca000000),
.length = SZ_4K, .length = SZ_4K,
.type = MT_DEVICE .type = MT_DEVICE
}, { }, {
.virtual = 0xfcb00000, .virtual = IO_ADDRESS(0xcb000000),
.pfn = __phys_to_pfn(0xcb000000), .pfn = __phys_to_pfn(0xcb000000),
.length = SZ_4K, .length = SZ_4K,
.type = MT_DEVICE .type = MT_DEVICE
...@@ -394,8 +394,8 @@ static struct platform_device *intcp_devs[] __initdata = { ...@@ -394,8 +394,8 @@ static struct platform_device *intcp_devs[] __initdata = {
*/ */
static unsigned int mmc_status(struct device *dev) static unsigned int mmc_status(struct device *dev)
{ {
unsigned int status = readl(0xfca00004); unsigned int status = readl(IO_ADDRESS(0xca000000) + 4);
writel(8, 0xfcb00008); writel(8, IO_ADDRESS(0xcb000000) + 8);
return status & 8; return status & 8;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册