From 98ed4ceb93ba22268f35ebcbb7de0cb1c7e70231 Mon Sep 17 00:00:00 2001 From: Pawel Moll Date: Wed, 25 Jan 2012 15:37:29 +0000 Subject: ARM: vexpress: Get rid of MMIO_P2V This patch gets rid of the MMIO_P2V and __MMIO_P2V macros, defining constant virtual base for motherboard and tile peripherals instead. Additionally, in preparation for the new motherboard memory map, the motherboard peripherals are using base pointers calculated in runtime, instead of compile-time calculated values. Signed-off-by: Pawel Moll --- arch/arm/mach-vexpress/core.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'arch/arm/mach-vexpress/core.h') diff --git a/arch/arm/mach-vexpress/core.h b/arch/arm/mach-vexpress/core.h index f4397159c173..3508f6ef78ea 100644 --- a/arch/arm/mach-vexpress/core.h +++ b/arch/arm/mach-vexpress/core.h @@ -1,6 +1,3 @@ -#define __MMIO_P2V(x) (((x) & 0xfffff) | (((x) & 0x0f000000) >> 4) | 0xf8000000) -#define MMIO_P2V(x) ((void __iomem *)__MMIO_P2V(x)) - #define AMBA_DEVICE(name,busid,base,plat) \ struct amba_device name##_device = { \ .dev = { \ @@ -17,3 +14,9 @@ struct amba_device name##_device = { \ .irq = IRQ_##base, \ /* .dma = DMA_##base,*/ \ } + +/* 2MB large area for motherboard's peripherals static mapping */ +#define V2M_PERIPH 0xf8000000 + +/* Tile's peripherals static mappings should start here */ +#define V2T_PERIPH 0xf8200000 -- cgit From 95d59741d281a64eba60c3283827b73680849770 Mon Sep 17 00:00:00 2001 From: Pawel Moll Date: Fri, 24 Feb 2012 09:18:14 +0000 Subject: ARM: vexpress: Use FDT data in platform SMP calls Scan flatten device looking for A5/A9 SCU node and initialize it using base address in "reg" property. If nothing is found, assume that there is no special SCU initialization required and initialize CPUs basing on numbers of "cpu" type devices in "cpus" node of the Device Tree. All this happens only if the board was booted with FDT, otherwise ct_desc callbacks are used. Signed-off-by: Pawel Moll --- arch/arm/mach-vexpress/core.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'arch/arm/mach-vexpress/core.h') diff --git a/arch/arm/mach-vexpress/core.h b/arch/arm/mach-vexpress/core.h index 3508f6ef78ea..d78322d95a98 100644 --- a/arch/arm/mach-vexpress/core.h +++ b/arch/arm/mach-vexpress/core.h @@ -20,3 +20,5 @@ struct amba_device name##_device = { \ /* Tile's peripherals static mappings should start here */ #define V2T_PERIPH 0xf8200000 + +void vexpress_dt_smp_map_io(void); -- cgit