diff options
Diffstat (limited to 'arch/arm/mach-realview/include')
18 files changed, 34 insertions, 315 deletions
diff --git a/arch/arm/mach-realview/include/mach/barriers.h b/arch/arm/mach-realview/include/mach/barriers.h index 0c5d749d7b5..9a732195aa1 100644 --- a/arch/arm/mach-realview/include/mach/barriers.h +++ b/arch/arm/mach-realview/include/mach/barriers.h @@ -4,5 +4,5 @@   * operation to deadlock the system.   */  #define mb()		dsb() -#define rmb()		dmb() +#define rmb()		dsb()  #define wmb()		mb() diff --git a/arch/arm/mach-realview/include/mach/board-eb.h b/arch/arm/mach-realview/include/mach/board-eb.h index 794a8d91a6a..a301e61a555 100644 --- a/arch/arm/mach-realview/include/mach/board-eb.h +++ b/arch/arm/mach-realview/include/mach/board-eb.h @@ -47,21 +47,23 @@  #define REALVIEW_EB_USB_BASE		0x4F000000	/* USB */  #ifdef CONFIG_REALVIEW_EB_ARM11MP_REVB -#define REALVIEW_EB11MP_SCU_BASE	0x10100000	/* SCU registers */ -#define REALVIEW_EB11MP_GIC_CPU_BASE	0x10100100	/* Generic interrupt controller CPU interface */ -#define REALVIEW_EB11MP_TWD_BASE	0x10100600 -#define REALVIEW_EB11MP_GIC_DIST_BASE	0x10101000	/* Generic interrupt controller distributor */ +#define REALVIEW_EB11MP_PRIV_MEM_BASE	0x10100000  #define REALVIEW_EB11MP_L220_BASE	0x10102000	/* L220 registers */  #define REALVIEW_EB11MP_SYS_PLD_CTRL1	0xD8		/* Register offset for MPCore sysctl */  #else -#define REALVIEW_EB11MP_SCU_BASE	0x1F000000	/* SCU registers */ -#define REALVIEW_EB11MP_GIC_CPU_BASE	0x1F000100	/* Generic interrupt controller CPU interface */ -#define REALVIEW_EB11MP_TWD_BASE	0x1F000600 -#define REALVIEW_EB11MP_GIC_DIST_BASE	0x1F001000	/* Generic interrupt controller distributor */ +#define REALVIEW_EB11MP_PRIV_MEM_BASE	0x1F000000  #define REALVIEW_EB11MP_L220_BASE	0x1F002000	/* L220 registers */  #define REALVIEW_EB11MP_SYS_PLD_CTRL1	0x74		/* Register offset for MPCore sysctl */  #endif +#define REALVIEW_EB11MP_PRIV_MEM_SIZE	SZ_8K +#define REALVIEW_EB11MP_PRIV_MEM_OFF(x)	(REALVIEW_EB11MP_PRIV_MEM_BASE + (x)) + +#define REALVIEW_EB11MP_SCU_BASE	REALVIEW_EB11MP_PRIV_MEM_OFF(0)		/* SCU registers */ +#define REALVIEW_EB11MP_GIC_CPU_BASE	REALVIEW_EB11MP_PRIV_MEM_OFF(0x0100)	/* Generic interrupt controller CPU interface */ +#define REALVIEW_EB11MP_TWD_BASE	REALVIEW_EB11MP_PRIV_MEM_OFF(0x0600) +#define REALVIEW_EB11MP_GIC_DIST_BASE	REALVIEW_EB11MP_PRIV_MEM_OFF(0x1000)	/* Generic interrupt controller distributor */ +  /*   * Core tile identification (REALVIEW_SYS_PROCID)   */ diff --git a/arch/arm/mach-realview/include/mach/board-pb1176.h b/arch/arm/mach-realview/include/mach/board-pb1176.h index 002ab5d8c11..2a15fef9473 100644 --- a/arch/arm/mach-realview/include/mach/board-pb1176.h +++ b/arch/arm/mach-realview/include/mach/board-pb1176.h @@ -70,6 +70,7 @@  #define REALVIEW_DC1176_GIC_CPU_BASE		0x10120000 /* GIC CPU interface, on devchip */  #define REALVIEW_DC1176_GIC_DIST_BASE		0x10121000 /* GIC distributor, on devchip */ +#define REALVIEW_DC1176_ROM_BASE		0x10200000 /* 16KiB NRAM preudo-ROM, on devchip */  #define REALVIEW_PB1176_GIC_CPU_BASE		0x10040000 /* GIC CPU interface, on FPGA */  #define REALVIEW_PB1176_GIC_DIST_BASE		0x10041000 /* GIC distributor, on FPGA */  #define REALVIEW_PB1176_L220_BASE		0x10110000 /* L220 registers */ diff --git a/arch/arm/mach-realview/include/mach/board-pb11mp.h b/arch/arm/mach-realview/include/mach/board-pb11mp.h index 7abf918b77e..aa2d4e02ea2 100644 --- a/arch/arm/mach-realview/include/mach/board-pb11mp.h +++ b/arch/arm/mach-realview/include/mach/board-pb11mp.h @@ -75,6 +75,8 @@  /*   * Testchip peripheral and fpga gic regions   */ +#define REALVIEW_TC11MP_PRIV_MEM_BASE		0x1F000000 +#define REALVIEW_TC11MP_PRIV_MEM_SIZE		SZ_8K  #define REALVIEW_TC11MP_SCU_BASE		0x1F000000	/* IRQ, Test chip */  #define REALVIEW_TC11MP_GIC_CPU_BASE		0x1F000100	/* Test chip interrupt controller CPU interface */  #define REALVIEW_TC11MP_TWD_BASE		0x1F000600 diff --git a/arch/arm/mach-realview/include/mach/clkdev.h b/arch/arm/mach-realview/include/mach/clkdev.h deleted file mode 100644 index e58d0771b64..00000000000 --- a/arch/arm/mach-realview/include/mach/clkdev.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef __ASM_MACH_CLKDEV_H -#define __ASM_MACH_CLKDEV_H - -#include <plat/clock.h> - -struct clk { -	unsigned long		rate; -	const struct clk_ops	*ops; -	const struct icst_params *params; -	void __iomem		*vcoreg; -}; - -#define __clk_get(clk) ({ 1; }) -#define __clk_put(clk) do { } while (0) - -#endif diff --git a/arch/arm/mach-realview/include/mach/debug-macro.S b/arch/arm/mach-realview/include/mach/debug-macro.S deleted file mode 100644 index 90b687cbe04..00000000000 --- a/arch/arm/mach-realview/include/mach/debug-macro.S +++ /dev/null @@ -1,42 +0,0 @@ -/* arch/arm/mach-realview/include/mach/debug-macro.S - * - * Debugging macro include header - * - *  Copyright (C) 1994-1999 Russell King - *  Moved from linux/arch/arm/kernel/debug.S by Ben Dooks - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#if defined(CONFIG_MACH_REALVIEW_EB) || \ -    defined(CONFIG_MACH_REALVIEW_PB11MP) || \ -    defined(CONFIG_MACH_REALVIEW_PBA8) || \ -    defined(CONFIG_MACH_REALVIEW_PBX) -#ifndef DEBUG_LL_UART_OFFSET -#define DEBUG_LL_UART_OFFSET	0x00009000 -#elif DEBUG_LL_UART_OFFSET != 0x00009000 -#warning "DEBUG_LL_UART_OFFSET already defined to a different value" -#endif -#endif - -#ifdef CONFIG_MACH_REALVIEW_PB1176 -#ifndef DEBUG_LL_UART_OFFSET -#define DEBUG_LL_UART_OFFSET	0x0010c000 -#elif DEBUG_LL_UART_OFFSET != 0x0010c000 -#warning "DEBUG_LL_UART_OFFSET already defined to a different value" -#endif -#endif - -#ifndef DEBUG_LL_UART_OFFSET -#error "Unknown RealView platform" -#endif - -		.macro	addruart, rp, rv -		mov	\rp, #DEBUG_LL_UART_OFFSET -		orr	\rv, \rp, #0xfb000000	@ virtual base -		orr	\rp, \rp, #0x10000000	@ physical base -		.endm - -#include <asm/hardware/debug-pl01x.S> diff --git a/arch/arm/mach-realview/include/mach/entry-macro.S b/arch/arm/mach-realview/include/mach/entry-macro.S deleted file mode 100644 index 340a5c27694..00000000000 --- a/arch/arm/mach-realview/include/mach/entry-macro.S +++ /dev/null @@ -1,81 +0,0 @@ -/* - * arch/arm/mach-realview/include/mach/entry-macro.S - * - * Low-level IRQ helper macros for RealView platforms - * - * This file is licensed under  the terms of the GNU General Public - * License version 2. This program is licensed "as is" without any - * warranty of any kind, whether express or implied. - */ -#include <mach/hardware.h> -#include <asm/hardware/gic.h> - -		.macro	disable_fiq -		.endm - -		.macro  get_irqnr_preamble, base, tmp -		ldr	\base, =gic_cpu_base_addr -		ldr	\base, [\base] -		.endm - -		.macro  arch_ret_to_user, tmp1, tmp2 -		.endm - -		/* -		 * The interrupt numbering scheme is defined in the -		 * interrupt controller spec.  To wit: -		 * -		 * Interrupts 0-15 are IPI -		 * 16-28 are reserved -		 * 29-31 are local.  We allow 30 to be used for the watchdog. -		 * 32-1020 are global -		 * 1021-1022 are reserved -		 * 1023 is "spurious" (no interrupt) -		 * -		 * For now, we ignore all local interrupts so only return an interrupt if it's -		 * between 30 and 1020.  The test_for_ipi routine below will pick up on IPIs. -		 * -		 * A simple read from the controller will tell us the number of the highest -                 * priority enabled interrupt.  We then just need to check whether it is in the -		 * valid range for an IRQ (30-1020 inclusive). -		 */ - -		.macro  get_irqnr_and_base, irqnr, irqstat, base, tmp - -		ldr     \irqstat, [\base, #GIC_CPU_INTACK] /* bits 12-10 = src CPU, 9-0 = int # */ - -		ldr	\tmp, =1021 - -		bic     \irqnr, \irqstat, #0x1c00 - -		cmp     \irqnr, #29 -		cmpcc	\irqnr, \irqnr -		cmpne	\irqnr, \tmp -		cmpcs	\irqnr, \irqnr - -		.endm - -		/* We assume that irqstat (the raw value of the IRQ acknowledge -		 * register) is preserved from the macro above. -		 * If there is an IPI, we immediately signal end of interrupt on the -		 * controller, since this requires the original irqstat value which -		 * we won't easily be able to recreate later. -		 */ - -		.macro test_for_ipi, irqnr, irqstat, base, tmp -		bic	\irqnr, \irqstat, #0x1c00 -		cmp	\irqnr, #16 -		strcc	\irqstat, [\base, #GIC_CPU_EOI] -		cmpcs	\irqnr, \irqnr -		.endm - -		/* As above, this assumes that irqstat and base are preserved.. */ - -		.macro test_for_ltirq, irqnr, irqstat, base, tmp -		bic	\irqnr, \irqstat, #0x1c00 -		mov 	\tmp, #0 -		cmp	\irqnr, #29 -		moveq	\tmp, #1 -		streq	\irqstat, [\base, #GIC_CPU_EOI] -		cmp	\tmp, #0 -		.endm diff --git a/arch/arm/mach-realview/include/mach/gpio.h b/arch/arm/mach-realview/include/mach/gpio.h deleted file mode 100644 index 94ff27678a4..00000000000 --- a/arch/arm/mach-realview/include/mach/gpio.h +++ /dev/null @@ -1,6 +0,0 @@ -#include <asm-generic/gpio.h> - -#define gpio_get_value	__gpio_get_value -#define gpio_set_value	__gpio_set_value -#define gpio_cansleep	__gpio_cansleep -#define gpio_to_irq	__gpio_to_irq diff --git a/arch/arm/mach-realview/include/mach/hardware.h b/arch/arm/mach-realview/include/mach/hardware.h index 8a638d15797..281e71c9752 100644 --- a/arch/arm/mach-realview/include/mach/hardware.h +++ b/arch/arm/mach-realview/include/mach/hardware.h @@ -37,6 +37,6 @@  #else  #define IO_ADDRESS(x)		(x)  #endif -#define __io_address(n)		__io(IO_ADDRESS(n)) +#define __io_address(n)		IOMEM(IO_ADDRESS(n))  #endif diff --git a/arch/arm/mach-realview/include/mach/io.h b/arch/arm/mach-realview/include/mach/io.h deleted file mode 100644 index f05bcdf605d..00000000000 --- a/arch/arm/mach-realview/include/mach/io.h +++ /dev/null @@ -1,28 +0,0 @@ -/* - *  arch/arm/mach-realview/include/mach/io.h - * - *  Copyright (C) 2003 ARM Limited - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA - */ -#ifndef __ASM_ARM_ARCH_IO_H -#define __ASM_ARM_ARCH_IO_H - -#define IO_SPACE_LIMIT 0xffffffff - -#define __io(a)		__typesafe_io(a) -#define __mem_pci(a)	(a) - -#endif diff --git a/arch/arm/mach-realview/include/mach/irqs-eb.h b/arch/arm/mach-realview/include/mach/irqs-eb.h index 204d5378f30..44754230fdc 100644 --- a/arch/arm/mach-realview/include/mach/irqs-eb.h +++ b/arch/arm/mach-realview/include/mach/irqs-eb.h @@ -96,23 +96,26 @@  #define IRQ_EB11MP_L220_SLAVE	(IRQ_EB_GIC_START + 30)  #define IRQ_EB11MP_L220_DECODE	(IRQ_EB_GIC_START + 31) -#define IRQ_EB11MP_UART2	-1 -#define IRQ_EB11MP_UART3	-1 -#define IRQ_EB11MP_CLCD		-1 -#define IRQ_EB11MP_DMA		-1 -#define IRQ_EB11MP_WDOG		-1 -#define IRQ_EB11MP_GPIO0	-1 -#define IRQ_EB11MP_GPIO1	-1 -#define IRQ_EB11MP_GPIO2	-1 -#define IRQ_EB11MP_SCI		-1 -#define IRQ_EB11MP_SSP		-1 +/* + * The 11MPcore tile leaves the following unconnected. + */ +#define IRQ_EB11MP_UART2	0 +#define IRQ_EB11MP_UART3	0 +#define IRQ_EB11MP_CLCD		0 +#define IRQ_EB11MP_DMA		0 +#define IRQ_EB11MP_WDOG		0 +#define IRQ_EB11MP_GPIO0	0 +#define IRQ_EB11MP_GPIO1	0 +#define IRQ_EB11MP_GPIO2	0 +#define IRQ_EB11MP_SCI		0 +#define IRQ_EB11MP_SSP		0  #define NR_GIC_EB11MP		2  /*   * Only define NR_IRQS if less than NR_IRQS_EB   */ -#define NR_IRQS_EB		(IRQ_EB_GIC_START + 96) +#define NR_IRQS_EB		(IRQ_EB_GIC_START + 128)  #if defined(CONFIG_MACH_REALVIEW_EB) \  	&& (!defined(NR_IRQS) || (NR_IRQS < NR_IRQS_EB)) diff --git a/arch/arm/mach-realview/include/mach/irqs-pb1176.h b/arch/arm/mach-realview/include/mach/irqs-pb1176.h index 5c3c625e3e0..708f84156f2 100644 --- a/arch/arm/mach-realview/include/mach/irqs-pb1176.h +++ b/arch/arm/mach-realview/include/mach/irqs-pb1176.h @@ -40,6 +40,7 @@  #define IRQ_DC1176_L2CC		(IRQ_DC1176_GIC_START + 13)  #define IRQ_DC1176_RTC		(IRQ_DC1176_GIC_START + 14)  #define IRQ_DC1176_CLCD		(IRQ_DC1176_GIC_START + 15)	/* CLCD controller */ +#define IRQ_DC1176_GPIO0	(IRQ_DC1176_GIC_START + 16)  #define IRQ_DC1176_SSP		(IRQ_DC1176_GIC_START + 17)	/* SSP port */  #define IRQ_DC1176_UART0	(IRQ_DC1176_GIC_START + 18)	/* UART 0 on development chip */  #define IRQ_DC1176_UART1	(IRQ_DC1176_GIC_START + 19)	/* UART 1 on development chip */ @@ -73,7 +74,6 @@  #define IRQ_PB1176_DMAC		(IRQ_PB1176_GIC_START + 24)	/* DMA controller */  #define IRQ_PB1176_RTC		(IRQ_PB1176_GIC_START + 25)	/* Real Time Clock */ -#define IRQ_PB1176_GPIO0	-1  #define IRQ_PB1176_SCTL		-1  #define NR_GIC_PB1176		2 diff --git a/arch/arm/mach-realview/include/mach/memory.h b/arch/arm/mach-realview/include/mach/memory.h index 5dafc157b27..db09170e383 100644 --- a/arch/arm/mach-realview/include/mach/memory.h +++ b/arch/arm/mach-realview/include/mach/memory.h @@ -24,18 +24,9 @@   * Physical DRAM offset.   */  #ifdef CONFIG_REALVIEW_HIGH_PHYS_OFFSET -#define PHYS_OFFSET		UL(0x70000000) +#define PLAT_PHYS_OFFSET		UL(0x70000000)  #else -#define PHYS_OFFSET		UL(0x00000000) -#endif - -#if !defined(__ASSEMBLY__) && defined(CONFIG_ZONE_DMA) -extern void realview_adjust_zones(unsigned long *size, unsigned long *hole); -#define arch_adjust_zones(size, hole) \ -	realview_adjust_zones(size, hole) - -#define ISA_DMA_THRESHOLD	(PHYS_OFFSET + SZ_256M - 1) -#define MAX_DMA_ADDRESS		(PAGE_OFFSET + SZ_256M) +#define PLAT_PHYS_OFFSET		UL(0x00000000)  #endif  #ifdef CONFIG_SPARSEMEM @@ -65,6 +56,8 @@ extern void realview_adjust_zones(unsigned long *size, unsigned long *hole);  #define PAGE_OFFSET1	(PAGE_OFFSET + 0x10000000)  #define PAGE_OFFSET2	(PAGE_OFFSET + 0x30000000) +#define PHYS_OFFSET PLAT_PHYS_OFFSET +  #define __phys_to_virt(phys)						\  	((phys) >= 0x80000000 ?	(phys) - 0x80000000 + PAGE_OFFSET2 :	\  	 (phys) >= 0x20000000 ?	(phys) - 0x20000000 + PAGE_OFFSET1 :	\ diff --git a/arch/arm/mach-realview/include/mach/smp.h b/arch/arm/mach-realview/include/mach/smp.h deleted file mode 100644 index d3cd265cb05..00000000000 --- a/arch/arm/mach-realview/include/mach/smp.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef ASMARM_ARCH_SMP_H -#define ASMARM_ARCH_SMP_H - -#include <asm/hardware/gic.h> -#include <asm/smp_mpidr.h> - -/* - * We use IRQ1 as the IPI - */ -static inline void smp_cross_call(const struct cpumask *mask) -{ -	gic_raise_softirq(mask, 1); -} - -#endif diff --git a/arch/arm/mach-realview/include/mach/system.h b/arch/arm/mach-realview/include/mach/system.h deleted file mode 100644 index a30f2e3ec17..00000000000 --- a/arch/arm/mach-realview/include/mach/system.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - *  arch/arm/mach-realview/include/mach/system.h - * - *  Copyright (C) 2003 ARM Limited - *  Copyright (C) 2000 Deep Blue Solutions Ltd - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA - */ -#ifndef __ASM_ARCH_SYSTEM_H -#define __ASM_ARCH_SYSTEM_H - -#include <linux/io.h> -#include <mach/hardware.h> -#include <mach/platform.h> - -void (*realview_reset)(char mode); - -static inline void arch_idle(void) -{ -	/* -	 * This should do all the clock switching -	 * and wait for interrupt tricks -	 */ -	cpu_do_idle(); -} - -static inline void arch_reset(char mode, const char *cmd) -{ -	/* -	 * To reset, we hit the on-board reset register -	 * in the system FPGA -	 */ -	if (realview_reset) -		realview_reset(mode); -} - -#endif diff --git a/arch/arm/mach-realview/include/mach/timex.h b/arch/arm/mach-realview/include/mach/timex.h deleted file mode 100644 index 4eeb069373c..00000000000 --- a/arch/arm/mach-realview/include/mach/timex.h +++ /dev/null @@ -1,23 +0,0 @@ -/* - *  arch/arm/mach-realview/include/mach/timex.h - * - *  RealView architecture timex specifications - * - *  Copyright (C) 2003 ARM Limited - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA - */ - -#define CLOCK_TICK_RATE		(50000000 / 16) diff --git a/arch/arm/mach-realview/include/mach/uncompress.h b/arch/arm/mach-realview/include/mach/uncompress.h index 83050378ffd..cfa30d21783 100644 --- a/arch/arm/mach-realview/include/mach/uncompress.h +++ b/arch/arm/mach-realview/include/mach/uncompress.h @@ -75,4 +75,3 @@ static inline void flush(void)   * nothing to do   */  #define arch_decomp_setup() -#define arch_decomp_wdog() diff --git a/arch/arm/mach-realview/include/mach/vmalloc.h b/arch/arm/mach-realview/include/mach/vmalloc.h deleted file mode 100644 index a2a4c686140..00000000000 --- a/arch/arm/mach-realview/include/mach/vmalloc.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - *  arch/arm/mach-realview/include/mach/vmalloc.h - * - *  Copyright (C) 2003 ARM Limited - *  Copyright (C) 2000 Russell King. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA - */ -#define VMALLOC_END		0xf8000000UL  | 
