diff options
Diffstat (limited to 'arch/arm/mach-omap2/include')
| -rw-r--r-- | arch/arm/mach-omap2/include/mach/barriers.h | 31 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/include/mach/debug-macro.S | 12 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/include/mach/omap-secure.h | 57 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/include/mach/omap-wakeupgen.h | 39 | 
4 files changed, 133 insertions, 6 deletions
diff --git a/arch/arm/mach-omap2/include/mach/barriers.h b/arch/arm/mach-omap2/include/mach/barriers.h new file mode 100644 index 00000000000..4fa72c7cc7c --- /dev/null +++ b/arch/arm/mach-omap2/include/mach/barriers.h @@ -0,0 +1,31 @@ +/* + * OMAP memory barrier header. + * + * Copyright (C) 2011 Texas Instruments, Inc. + *  Santosh Shilimkar <santosh.shilimkar@ti.com> + *  Richard Woodruff <r-woodruff2@ti.com> + * + * 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. + * + * 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 __MACH_BARRIERS_H +#define __MACH_BARRIERS_H + +extern void omap_bus_sync(void); + +#define rmb()		dsb() +#define wmb()		do { dsb(); outer_sync(); omap_bus_sync(); } while (0) +#define mb()		wmb() + +#endif	/* __MACH_BARRIERS_H */ diff --git a/arch/arm/mach-omap2/include/mach/debug-macro.S b/arch/arm/mach-omap2/include/mach/debug-macro.S index 13f98e59cfe..cdfc2a1f0e7 100644 --- a/arch/arm/mach-omap2/include/mach/debug-macro.S +++ b/arch/arm/mach-omap2/include/mach/debug-macro.S @@ -66,11 +66,11 @@ omap_uart_lsr:	.word	0  		beq	34f			@ configure OMAP3UART4  		cmp	\rp, #OMAP4UART4	@ only on 44xx  		beq	44f			@ configure OMAP4UART4 -		cmp	\rp, #TI816XUART1	@ ti816x UART offsets different +		cmp	\rp, #TI81XXUART1	@ ti81Xx UART offsets different  		beq	81f			@ configure UART1 -		cmp	\rp, #TI816XUART2	@ ti816x UART offsets different +		cmp	\rp, #TI81XXUART2	@ ti81Xx UART offsets different  		beq	82f			@ configure UART2 -		cmp	\rp, #TI816XUART3	@ ti816x UART offsets different +		cmp	\rp, #TI81XXUART3	@ ti81Xx UART offsets different  		beq	83f			@ configure UART3  		cmp	\rp, #ZOOM_UART		@ only on zoom2/3  		beq	95f			@ configure ZOOM_UART @@ -94,11 +94,11 @@ omap_uart_lsr:	.word	0  		b	98f  44:		mov	\rp, #UART_OFFSET(OMAP4_UART4_BASE)  		b	98f -81:		mov	\rp, #UART_OFFSET(TI816X_UART1_BASE) +81:		mov	\rp, #UART_OFFSET(TI81XX_UART1_BASE)  		b	98f -82:		mov	\rp, #UART_OFFSET(TI816X_UART2_BASE) +82:		mov	\rp, #UART_OFFSET(TI81XX_UART2_BASE)  		b	98f -83:		mov	\rp, #UART_OFFSET(TI816X_UART3_BASE) +83:		mov	\rp, #UART_OFFSET(TI81XX_UART3_BASE)  		b	98f  95:		ldr	\rp, =ZOOM_UART_BASE diff --git a/arch/arm/mach-omap2/include/mach/omap-secure.h b/arch/arm/mach-omap2/include/mach/omap-secure.h new file mode 100644 index 00000000000..c90a43589ab --- /dev/null +++ b/arch/arm/mach-omap2/include/mach/omap-secure.h @@ -0,0 +1,57 @@ +/* + * omap-secure.h: OMAP Secure infrastructure header. + * + * Copyright (C) 2011 Texas Instruments, Inc. + *	Santosh Shilimkar <santosh.shilimkar@ti.com> + * + * 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. + */ +#ifndef OMAP_ARCH_OMAP_SECURE_H +#define OMAP_ARCH_OMAP_SECURE_H + +/* Monitor error code */ +#define  API_HAL_RET_VALUE_NS2S_CONVERSION_ERROR	0xFFFFFFFE +#define  API_HAL_RET_VALUE_SERVICE_UNKNWON		0xFFFFFFFF + +/* HAL API error codes */ +#define  API_HAL_RET_VALUE_OK		0x00 +#define  API_HAL_RET_VALUE_FAIL		0x01 + +/* Secure HAL API flags */ +#define FLAG_START_CRITICAL		0x4 +#define FLAG_IRQFIQ_MASK		0x3 +#define FLAG_IRQ_ENABLE			0x2 +#define FLAG_FIQ_ENABLE			0x1 +#define NO_FLAG				0x0 + +/* Maximum Secure memory storage size */ +#define OMAP_SECURE_RAM_STORAGE	(88 * SZ_1K) + +/* Secure low power HAL API index */ +#define OMAP4_HAL_SAVESECURERAM_INDEX	0x1a +#define OMAP4_HAL_SAVEHW_INDEX		0x1b +#define OMAP4_HAL_SAVEALL_INDEX		0x1c +#define OMAP4_HAL_SAVEGIC_INDEX		0x1d + +/* Secure Monitor mode APIs */ +#define OMAP4_MON_SCU_PWR_INDEX		0x108 +#define OMAP4_MON_L2X0_DBG_CTRL_INDEX	0x100 +#define OMAP4_MON_L2X0_CTRL_INDEX	0x102 +#define OMAP4_MON_L2X0_AUXCTRL_INDEX	0x109 +#define OMAP4_MON_L2X0_PREFETCH_INDEX	0x113 + +/* Secure PPA(Primary Protected Application) APIs */ +#define OMAP4_PPA_L2_POR_INDEX		0x23 +#define OMAP4_PPA_CPU_ACTRL_SMP_INDEX	0x25 + +#ifndef __ASSEMBLER__ + +extern u32 omap_secure_dispatcher(u32 idx, u32 flag, u32 nargs, +				u32 arg1, u32 arg2, u32 arg3, u32 arg4); +extern u32 omap_smc2(u32 id, u32 falg, u32 pargs); +extern phys_addr_t omap_secure_ram_mempool_base(void); + +#endif /* __ASSEMBLER__ */ +#endif /* OMAP_ARCH_OMAP_SECURE_H */ diff --git a/arch/arm/mach-omap2/include/mach/omap-wakeupgen.h b/arch/arm/mach-omap2/include/mach/omap-wakeupgen.h new file mode 100644 index 00000000000..d79321b0f2a --- /dev/null +++ b/arch/arm/mach-omap2/include/mach/omap-wakeupgen.h @@ -0,0 +1,39 @@ +/* + * OMAP WakeupGen header file + * + * Copyright (C) 2011 Texas Instruments, Inc. + *	Santosh Shilimkar <santosh.shilimkar@ti.com> + * + * 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. + */ +#ifndef OMAP_ARCH_WAKEUPGEN_H +#define OMAP_ARCH_WAKEUPGEN_H + +#define OMAP_WKG_CONTROL_0			0x00 +#define OMAP_WKG_ENB_A_0			0x10 +#define OMAP_WKG_ENB_B_0			0x14 +#define OMAP_WKG_ENB_C_0			0x18 +#define OMAP_WKG_ENB_D_0			0x1c +#define OMAP_WKG_ENB_SECURE_A_0			0x20 +#define OMAP_WKG_ENB_SECURE_B_0			0x24 +#define OMAP_WKG_ENB_SECURE_C_0			0x28 +#define OMAP_WKG_ENB_SECURE_D_0			0x2c +#define OMAP_WKG_ENB_A_1			0x410 +#define OMAP_WKG_ENB_B_1			0x414 +#define OMAP_WKG_ENB_C_1			0x418 +#define OMAP_WKG_ENB_D_1			0x41c +#define OMAP_WKG_ENB_SECURE_A_1			0x420 +#define OMAP_WKG_ENB_SECURE_B_1			0x424 +#define OMAP_WKG_ENB_SECURE_C_1			0x428 +#define OMAP_WKG_ENB_SECURE_D_1			0x42c +#define OMAP_AUX_CORE_BOOT_0			0x800 +#define OMAP_AUX_CORE_BOOT_1			0x804 +#define OMAP_PTMSYNCREQ_MASK			0xc00 +#define OMAP_PTMSYNCREQ_EN			0xc04 +#define OMAP_TIMESTAMPCYCLELO			0xc08 +#define OMAP_TIMESTAMPCYCLEHI			0xc0c + +extern int __init omap_wakeupgen_init(void); +#endif  |