1 /***************************************************************************** 2 * Copyright 2005 - 2008 Broadcom Corporation. All rights reserved. 3 * 4 * Unless you and Broadcom execute a separate written software license 5 * agreement governing use of this software, this software is licensed to you 6 * under the terms of the GNU General Public License version 2, available at 7 * http://www.broadcom.com/licenses/GPLv2.php (the "GPL"). 8 * 9 * Notwithstanding the above, under no circumstances may you combine this 10 * software in any way with any other Broadcom software provided under a 11 * license other than the GPL, without Broadcom's express prior written 12 * consent. 13 *****************************************************************************/ 14 #include <mach/csp/mm_addr.h> 15 16 #define BCMRING_UART_0_DR (*(volatile unsigned int *)MM_ADDR_IO_UARTA) 17 #define BCMRING_UART_0_FR (*(volatile unsigned int *)(MM_ADDR_IO_UARTA + 0x18)) 18 /* 19 * This does not append a newline 20 */ putc(int c)21static inline void putc(int c) 22 { 23 /* Send out UARTA */ 24 while (BCMRING_UART_0_FR & (1 << 5)) 25 ; 26 27 BCMRING_UART_0_DR = c; 28 } 29 30 flush(void)31static inline void flush(void) 32 { 33 /* Wait for the tx fifo to be empty */ 34 while ((BCMRING_UART_0_FR & (1 << 7)) == 0) 35 ; 36 37 /* Wait for the final character to be sent on the txd line */ 38 while (BCMRING_UART_0_FR & (1 << 3)) 39 ; 40 } 41 42 #define arch_decomp_setup() 43 #define arch_decomp_wdog() 44