arm: at91: add debug_ll support
Today we only use the DBGU port Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
parent
21ea2ad830
commit
b6240f08fb
|
@ -23,6 +23,7 @@ config ARCH_AT91
|
|||
bool "Atmel AT91"
|
||||
select GENERIC_GPIO
|
||||
select CLKDEV_LOOKUP
|
||||
select HAS_DEBUG_LL
|
||||
|
||||
config ARCH_EP93XX
|
||||
bool "Cirrus Logic EP93xx"
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
/*
|
||||
* Copyright (C) 2012
|
||||
* Jean-Christophe PLAGNIOL-VILLARD <planioj@jcrosoft.com>
|
||||
*
|
||||
* Under GPLv2
|
||||
*/
|
||||
|
||||
#ifndef __MACH_DEBUG_LL_H__
|
||||
#define __MACH_DEBUG_LL_H__
|
||||
|
||||
#include <asm/io.h>
|
||||
#include <mach/hardware.h>
|
||||
|
||||
#define UART_BASE (AT91_BASE_SYS + AT91_DBGU)
|
||||
|
||||
#define ATMEL_US_CSR 0x0014
|
||||
#define ATMEL_US_THR 0x001c
|
||||
#define ATMEL_US_TXRDY (1 << 1)
|
||||
#define ATMEL_US_TXEMPTY (1 << 9)
|
||||
|
||||
/*
|
||||
* The following code assumes the serial port has already been
|
||||
* initialized by the bootloader. If you didn't setup a port in
|
||||
* your bootloader then nothing will appear (which might be desired).
|
||||
*
|
||||
* This does not append a newline
|
||||
*/
|
||||
static void putc(int c)
|
||||
{
|
||||
while (!(__raw_readl(UART_BASE + ATMEL_US_CSR) & ATMEL_US_TXRDY))
|
||||
barrier();
|
||||
__raw_writel(c, UART_BASE + ATMEL_US_THR);
|
||||
|
||||
while (!(__raw_readl(UART_BASE + ATMEL_US_CSR) & ATMEL_US_TXEMPTY))
|
||||
barrier();
|
||||
}
|
||||
#endif
|
Loading…
Reference in New Issue