Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  1 /*
  2  * arch/arm/mach-at91/include/mach/uncompress.h
  3  *
  4  *  Copyright (C) 2003 SAN People
  5  *
  6  * This program is free software; you can redistribute it and/or modify
  7  * it under the terms of the GNU General Public License as published by
  8  * the Free Software Foundation; either version 2 of the License, or
  9  * (at your option) any later version.
 10  *
 11  * This program is distributed in the hope that it will be useful,
 12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 14  * GNU General Public License for more details.
 15  *
 16  * You should have received a copy of the GNU General Public License
 17  * along with this program; if not, write to the Free Software
 18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 19  */
 20 
 21 #ifndef __ASM_ARCH_UNCOMPRESS_H
 22 #define __ASM_ARCH_UNCOMPRESS_H
 23 
 24 #include <linux/io.h>
 25 #include <linux/atmel_serial.h>
 26 
 27 #if defined(CONFIG_AT91_EARLY_DBGU)
 28 #define UART_OFFSET (AT91_DBGU + AT91_BASE_SYS)
 29 #elif defined(CONFIG_AT91_EARLY_USART0)
 30 #define UART_OFFSET AT91_USART0
 31 #elif defined(CONFIG_AT91_EARLY_USART1)
 32 #define UART_OFFSET AT91_USART1
 33 #elif defined(CONFIG_AT91_EARLY_USART2)
 34 #define UART_OFFSET AT91_USART2
 35 #elif defined(CONFIG_AT91_EARLY_USART3)
 36 #define UART_OFFSET AT91_USART3
 37 #elif defined(CONFIG_AT91_EARLY_USART4)
 38 #define UART_OFFSET AT91_USART4
 39 #elif defined(CONFIG_AT91_EARLY_USART5)
 40 #define UART_OFFSET AT91_USART5
 41 #endif
 42 
 43 /*
 44  * The following code assumes the serial port has already been
 45  * initialized by the bootloader.  If you didn't setup a port in
 46  * your bootloader then nothing will appear (which might be desired).
 47  *
 48  * This does not append a newline
 49  */
 50 static void putc(int c)
 51 {
 52 #ifdef UART_OFFSET
 53         void __iomem *sys = (void __iomem *) UART_OFFSET;       /* physical address */
 54 
 55         while (!(__raw_readl(sys + ATMEL_US_CSR) & ATMEL_US_TXRDY))
 56                 barrier();
 57         __raw_writel(c, sys + ATMEL_US_THR);
 58 #endif
 59 }
 60 
 61 static inline void flush(void)
 62 {
 63 #ifdef UART_OFFSET
 64         void __iomem *sys = (void __iomem *) UART_OFFSET;       /* physical address */
 65 
 66         /* wait for transmission to complete */
 67         while (!(__raw_readl(sys + ATMEL_US_CSR) & ATMEL_US_TXEMPTY))
 68                 barrier();
 69 #endif
 70 }
 71 
 72 #define arch_decomp_setup()
 73 
 74 #define arch_decomp_wdog()
 75 
 76 #endif
 77 
  This page was automatically generated by the LXR engine.