ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / include / asm-arm / arch-omap / board.h
1 /*
2  *  linux/include/asm-arm/arch-omap/board.h
3  *
4  *  Information structures for board-specific data
5  *
6  *  Copyright (C) 2004  Nokia Corporation
7  *  Written by Juha Yrjölä <juha.yrjola@nokia.com>
8  */
9
10 #ifndef _OMAP_BOARD_H
11 #define _OMAP_BOARD_H
12
13 #include <linux/config.h>
14 #include <linux/types.h>
15
16 /* Different peripheral ids */
17 #define OMAP_TAG_CLOCK          0x4f01
18 #define OMAP_TAG_MMC            0x4f02
19 #define OMAP_TAG_UART           0x4f03
20
21 struct omap_clock_info {
22         /* 0 for 12 MHz, 1 for 13 MHz and 2 for 19.2 MHz */
23         u8 system_clock_type;
24 };
25
26 struct omap_mmc_info {
27         u8 mmc_blocks;
28         s8 mmc1_power_pin, mmc2_power_pin;
29         s8 mmc1_switch_pin, mmc2_switch_pin;
30 };
31
32 struct omap_uart_info {
33         u8 console_uart;
34         u32 console_speed;
35 };
36
37 struct omap_board_info_entry {
38         u16 tag;
39         u16 len;
40         u8  data[0];
41 };
42
43 extern const void *__omap_get_per_info(u16 tag, size_t len);
44
45 #define omap_get_per_info(tag, type) \
46         ((const type *) __omap_get_per_info((tag), sizeof(type)))
47
48 #endif