diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-02-11 16:44:53 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-05-02 04:35:38 -0400 |
commit | ceade897f31b8bb66f378cc35859fcfd0d46aaa2 (patch) | |
tree | 44f6fffb4f93ec6247b468e4009e414b4124f585 /arch/arm/mach-vexpress/include/mach/uncompress.h | |
parent | 9bf5b2ef673237e0e43161c56f70ac8bf24e43f9 (diff) |
ARM: Add Versatile Express support
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-vexpress/include/mach/uncompress.h')
-rw-r--r-- | arch/arm/mach-vexpress/include/mach/uncompress.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/arch/arm/mach-vexpress/include/mach/uncompress.h b/arch/arm/mach-vexpress/include/mach/uncompress.h new file mode 100644 index 000000000000..7972c5748d0e --- /dev/null +++ b/arch/arm/mach-vexpress/include/mach/uncompress.h | |||
@@ -0,0 +1,52 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-vexpress/include/mach/uncompress.h | ||
3 | * | ||
4 | * Copyright (C) 2003 ARM Limited | ||
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 | #define AMBA_UART_DR(base) (*(volatile unsigned char *)((base) + 0x00)) | ||
21 | #define AMBA_UART_LCRH(base) (*(volatile unsigned char *)((base) + 0x2c)) | ||
22 | #define AMBA_UART_CR(base) (*(volatile unsigned char *)((base) + 0x30)) | ||
23 | #define AMBA_UART_FR(base) (*(volatile unsigned char *)((base) + 0x18)) | ||
24 | |||
25 | #define get_uart_base() (0x10000000 + 0x00009000) | ||
26 | |||
27 | /* | ||
28 | * This does not append a newline | ||
29 | */ | ||
30 | static inline void putc(int c) | ||
31 | { | ||
32 | unsigned long base = get_uart_base(); | ||
33 | |||
34 | while (AMBA_UART_FR(base) & (1 << 5)) | ||
35 | barrier(); | ||
36 | |||
37 | AMBA_UART_DR(base) = c; | ||
38 | } | ||
39 | |||
40 | static inline void flush(void) | ||
41 | { | ||
42 | unsigned long base = get_uart_base(); | ||
43 | |||
44 | while (AMBA_UART_FR(base) & (1 << 3)) | ||
45 | barrier(); | ||
46 | } | ||
47 | |||
48 | /* | ||
49 | * nothing to do | ||
50 | */ | ||
51 | #define arch_decomp_setup() | ||
52 | #define arch_decomp_wdog() | ||