diff options
| -rw-r--r-- | arch/arm/mach-omap2/include/mach/debug-macro.S | 17 | ||||
| -rw-r--r-- | arch/arm/plat-omap/include/plat/serial.h | 4 | ||||
| -rw-r--r-- | arch/arm/plat-omap/include/plat/uncompress.h | 6 | 
3 files changed, 26 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/include/mach/debug-macro.S b/arch/arm/mach-omap2/include/mach/debug-macro.S index cdfc2a1f0e7..d7f844a99a7 100644 --- a/arch/arm/mach-omap2/include/mach/debug-macro.S +++ b/arch/arm/mach-omap2/include/mach/debug-macro.S @@ -72,6 +72,8 @@ omap_uart_lsr:	.word	0  		beq	82f			@ configure UART2  		cmp	\rp, #TI81XXUART3	@ ti81Xx UART offsets different  		beq	83f			@ configure UART3 +		cmp	\rp, #AM33XXUART1	@ AM33XX UART offsets different +		beq	84f			@ configure UART1  		cmp	\rp, #ZOOM_UART		@ only on zoom2/3  		beq	95f			@ configure ZOOM_UART @@ -100,7 +102,9 @@ omap_uart_lsr:	.word	0  		b	98f  83:		mov	\rp, #UART_OFFSET(TI81XX_UART3_BASE)  		b	98f - +84:		ldr	\rp, =AM33XX_UART1_BASE +		and	\rp, \rp, #0x00ffffff +		b	97f  95:		ldr	\rp, =ZOOM_UART_BASE  		str	\rp, [\tmp, #0]		@ omap_uart_phys  		ldr	\rp, =ZOOM_UART_VIRT @@ -109,6 +113,17 @@ omap_uart_lsr:	.word	0  		str	\rp, [\tmp, #8]		@ omap_uart_lsr  		b	10b +		/* AM33XX: Store both phys and virt address for the uart */ +97:		add	\rp, \rp, #0x44000000	@ phys base +		str	\rp, [\tmp, #0]		@ omap_uart_phys +		sub	\rp, \rp, #0x44000000	@ phys base +		add	\rp, \rp, #0xf9000000	@ virt base +		str	\rp, [\tmp, #4]		@ omap_uart_virt +		mov	\rp, #(UART_LSR << OMAP_PORT_SHIFT) +		str	\rp, [\tmp, #8]		@ omap_uart_lsr + +		b	10b +  		/* Store both phys and virt address for the uart */  98:		add	\rp, \rp, #0x48000000	@ phys base  		str	\rp, [\tmp, #0]		@ omap_uart_phys diff --git a/arch/arm/plat-omap/include/plat/serial.h b/arch/arm/plat-omap/include/plat/serial.h index b073e5f2b19..28e2d250c2f 100644 --- a/arch/arm/plat-omap/include/plat/serial.h +++ b/arch/arm/plat-omap/include/plat/serial.h @@ -60,6 +60,9 @@  /* AM3505/3517 UART4 */  #define AM35XX_UART4_BASE	0x4809E000	/* Only on AM3505/3517 */ +/* AM33XX serial port */ +#define AM33XX_UART1_BASE	0x44E09000 +  /* External port on Zoom2/3 */  #define ZOOM_UART_BASE		0x10000000  #define ZOOM_UART_VIRT		0xfa400000 @@ -93,6 +96,7 @@  #define TI81XXUART1		81  #define TI81XXUART2		82  #define TI81XXUART3		83 +#define AM33XXUART1		84  #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 cc3f11ba7a9..ac432339021 100644 --- a/arch/arm/plat-omap/include/plat/uncompress.h +++ b/arch/arm/plat-omap/include/plat/uncompress.h @@ -103,6 +103,10 @@ static inline void flush(void)  	_DEBUG_LL_ENTRY(mach, TI81XX_UART##p##_BASE, OMAP_PORT_SHIFT,	\  		TI81XXUART##p) +#define DEBUG_LL_AM33XX(p, mach)					\ +	_DEBUG_LL_ENTRY(mach, AM33XX_UART##p##_BASE, OMAP_PORT_SHIFT,	\ +		AM33XXUART##p) +  static inline void __arch_decomp_setup(unsigned long arch_id)  {  	int port = 0; @@ -183,6 +187,8 @@ static inline void __arch_decomp_setup(unsigned long arch_id)  		/* TI8148 base boards using UART1 */  		DEBUG_LL_TI81XX(1, ti8148evm); +		/* AM33XX base boards using UART1 */ +		DEBUG_LL_AM33XX(1, am335xevm);  	} while (0);  }  |