/* * Copyright 2003 ARM Limited * Copyright 2008 Cavium Networks * * This file 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. */ #include #include #define AMBA_UART_DR(base) (*(volatile unsigned char *)((base) + 0x00)) #define AMBA_UART_LCRH(base) (*(volatile unsigned char *)((base) + 0x2c)) #define AMBA_UART_CR(base) (*(volatile unsigned char *)((base) + 0x30)) #define AMBA_UART_FR(base) (*(volatile unsigned char *)((base) + 0x18)) /* * Return the UART base address */ static inline unsigned long get_uart_base(void) { if (machine_is_cns3420vb()) return CNS3XXX_UART0_BASE; else return 0; } /* * This does not append a newline */ static inline void putc(int c) { unsigned long base = get_uart_base(); while (AMBA_UART_FR(base) & (1 << 5)) barrier(); AMBA_UART_DR(base) = c; } static inline void flush(void) { unsigned long base = get_uart_base(); while (AMBA_UART_FR(base) & (1 << 3)) barrier(); } /* * nothing to do */ #define arch_decomp_setup() #define arch_decomp_wdog()