diff options
| author | Hemant Pedanekar <hemantp@ti.com> | 2011-02-15 23:06:17 +0530 | 
|---|---|---|
| committer | Tony Lindgren <tony@atomide.com> | 2011-02-16 08:31:53 -0800 | 
| commit | 4d887a250d6294d4e17851da46d6eab4de83c91e (patch) | |
| tree | 1822f2708901e28f49ef6393e0d7fd5e29948148 | |
| parent | 2c87fb2e644d9141c8723a44a320bb5850790b67 (diff) | |
| download | olio-linux-3.10-4d887a250d6294d4e17851da46d6eab4de83c91e.tar.xz olio-linux-3.10-4d887a250d6294d4e17851da46d6eab4de83c91e.zip  | |
TI816X: Add low level debug support
This patch adds support for low level debugging on TI816X boards. Currently the
support for UART3 console on TI816X EVM is added.
Signed-off-by: Hemant Pedanekar <hemantp@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
| -rw-r--r-- | arch/arm/mach-omap2/include/mach/debug-macro.S | 12 | ||||
| -rw-r--r-- | arch/arm/plat-omap/include/plat/serial.h | 8 | ||||
| -rw-r--r-- | arch/arm/plat-omap/include/plat/uncompress.h | 7 | 
3 files changed, 27 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/include/mach/debug-macro.S b/arch/arm/mach-omap2/include/mach/debug-macro.S index 6a4d4136002..e1b0f17b092 100644 --- a/arch/arm/mach-omap2/include/mach/debug-macro.S +++ b/arch/arm/mach-omap2/include/mach/debug-macro.S @@ -69,6 +69,12 @@ 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 +		beq	81f			@ configure UART1 +		cmp	\rp, #TI816XUART2	@ ti816x UART offsets different +		beq	82f			@ configure UART2 +		cmp	\rp, #TI816XUART3	@ ti816x UART offsets different +		beq	83f			@ configure UART3  		cmp	\rp, #ZOOM_UART		@ only on zoom2/3  		beq	95f			@ configure ZOOM_UART @@ -91,6 +97,12 @@ 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) +		b	98f +82:		mov	\rp, #UART_OFFSET(TI816X_UART2_BASE) +		b	98f +83:		mov	\rp, #UART_OFFSET(TI816X_UART3_BASE) +		b	98f  95:		ldr	\rp, =ZOOM_UART_BASE  		mrc	p15, 0, \rv, c1, c0  		tst	\rv, #1			@ MMU enabled? diff --git a/arch/arm/plat-omap/include/plat/serial.h b/arch/arm/plat-omap/include/plat/serial.h index a1a118d052e..8061695aa52 100644 --- a/arch/arm/plat-omap/include/plat/serial.h +++ b/arch/arm/plat-omap/include/plat/serial.h @@ -51,6 +51,11 @@  #define OMAP4_UART3_BASE	0x48020000  #define OMAP4_UART4_BASE	0x4806e000 +/* TI816X serial ports */ +#define TI816X_UART1_BASE	0x48020000 +#define TI816X_UART2_BASE	0x48022000 +#define TI816X_UART3_BASE	0x48024000 +  /* External port on Zoom2/3 */  #define ZOOM_UART_BASE		0x10000000  #define ZOOM_UART_VIRT		0xfa400000 @@ -81,6 +86,9 @@  #define OMAP4UART2		OMAP2UART2  #define OMAP4UART3		43  #define OMAP4UART4		44 +#define TI816XUART1		81 +#define TI816XUART2		82 +#define TI816XUART3		83  #define ZOOM_UART		95		/* Only on zoom2/3 */  /* This is only used by 8250.c for omap1510 */ diff --git a/arch/arm/plat-omap/include/plat/uncompress.h b/arch/arm/plat-omap/include/plat/uncompress.h index ad98b85cae2..30b891c4a93 100644 --- a/arch/arm/plat-omap/include/plat/uncompress.h +++ b/arch/arm/plat-omap/include/plat/uncompress.h @@ -93,6 +93,10 @@ static inline void flush(void)  #define DEBUG_LL_ZOOM(mach)						\  	_DEBUG_LL_ENTRY(mach, ZOOM_UART_BASE, ZOOM_PORT_SHIFT, ZOOM_UART) +#define DEBUG_LL_TI816X(p, mach)					\ +	_DEBUG_LL_ENTRY(mach, TI816X_UART##p##_BASE, OMAP_PORT_SHIFT,	\ +		TI816XUART##p) +  static inline void __arch_decomp_setup(unsigned long arch_id)  {  	int port = 0; @@ -166,6 +170,9 @@ static inline void __arch_decomp_setup(unsigned long arch_id)  		DEBUG_LL_ZOOM(omap_zoom2);  		DEBUG_LL_ZOOM(omap_zoom3); +		/* TI8168 base boards using UART3 */ +		DEBUG_LL_TI816X(3, ti8168evm); +  	} while (0);  }  |