1951a39d68df598db08dfced8b4707755864a0492Ying Wang/****************************************************************************
2951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************
3951a39d68df598db08dfced8b4707755864a0492Ying Wang ***
4951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   This header was automatically generated from a Linux kernel header
5951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   of the same name, to make information necessary for userspace to
6951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   call into the kernel available to libc.  It contains only constants,
7951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   structures, and macros generated from the original header, and thus,
8951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   contains no copyrightable information.
9951a39d68df598db08dfced8b4707755864a0492Ying Wang ***
10951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************
11951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************/
12951a39d68df598db08dfced8b4707755864a0492Ying Wang#ifndef _OMAP_BOARD_H
13951a39d68df598db08dfced8b4707755864a0492Ying Wang#define _OMAP_BOARD_H
14951a39d68df598db08dfced8b4707755864a0492Ying Wang
15951a39d68df598db08dfced8b4707755864a0492Ying Wang#include <linux/types.h>
16951a39d68df598db08dfced8b4707755864a0492Ying Wang
17951a39d68df598db08dfced8b4707755864a0492Ying Wang#include <asm/arch/gpio-switch.h>
18951a39d68df598db08dfced8b4707755864a0492Ying Wang
19951a39d68df598db08dfced8b4707755864a0492Ying Wang#define OMAP_TAG_CLOCK 0x4f01
20951a39d68df598db08dfced8b4707755864a0492Ying Wang#define OMAP_TAG_MMC 0x4f02
21951a39d68df598db08dfced8b4707755864a0492Ying Wang#define OMAP_TAG_SERIAL_CONSOLE 0x4f03
22951a39d68df598db08dfced8b4707755864a0492Ying Wang#define OMAP_TAG_USB 0x4f04
23951a39d68df598db08dfced8b4707755864a0492Ying Wang#define OMAP_TAG_LCD 0x4f05
24951a39d68df598db08dfced8b4707755864a0492Ying Wang#define OMAP_TAG_GPIO_SWITCH 0x4f06
25951a39d68df598db08dfced8b4707755864a0492Ying Wang#define OMAP_TAG_UART 0x4f07
26951a39d68df598db08dfced8b4707755864a0492Ying Wang#define OMAP_TAG_FBMEM 0x4f08
27951a39d68df598db08dfced8b4707755864a0492Ying Wang#define OMAP_TAG_STI_CONSOLE 0x4f09
28951a39d68df598db08dfced8b4707755864a0492Ying Wang#define OMAP_TAG_CAMERA_SENSOR 0x4f0a
29951a39d68df598db08dfced8b4707755864a0492Ying Wang#define OMAP_TAG_BT 0x4f0b
30951a39d68df598db08dfced8b4707755864a0492Ying Wang
31951a39d68df598db08dfced8b4707755864a0492Ying Wang#define OMAP_TAG_BOOT_REASON 0x4f80
32951a39d68df598db08dfced8b4707755864a0492Ying Wang#define OMAP_TAG_FLASH_PART 0x4f81
33951a39d68df598db08dfced8b4707755864a0492Ying Wang#define OMAP_TAG_VERSION_STR 0x4f82
34951a39d68df598db08dfced8b4707755864a0492Ying Wang
35951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct omap_clock_config {
36951a39d68df598db08dfced8b4707755864a0492Ying Wang
37951a39d68df598db08dfced8b4707755864a0492Ying Wang u8 system_clock_type;
38951a39d68df598db08dfced8b4707755864a0492Ying Wang};
39951a39d68df598db08dfced8b4707755864a0492Ying Wang
40951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct omap_mmc_conf {
41951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned enabled:1;
42951a39d68df598db08dfced8b4707755864a0492Ying Wang
43951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned nomux:1;
44951a39d68df598db08dfced8b4707755864a0492Ying Wang
45951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned cover:1;
46951a39d68df598db08dfced8b4707755864a0492Ying Wang
47951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned wire4:1;
48951a39d68df598db08dfced8b4707755864a0492Ying Wang s16 power_pin;
49951a39d68df598db08dfced8b4707755864a0492Ying Wang s16 switch_pin;
50951a39d68df598db08dfced8b4707755864a0492Ying Wang s16 wp_pin;
51951a39d68df598db08dfced8b4707755864a0492Ying Wang};
52951a39d68df598db08dfced8b4707755864a0492Ying Wang
53951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct omap_mmc_config {
54951a39d68df598db08dfced8b4707755864a0492Ying Wang struct omap_mmc_conf mmc[2];
55951a39d68df598db08dfced8b4707755864a0492Ying Wang};
56951a39d68df598db08dfced8b4707755864a0492Ying Wang
57951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct omap_serial_console_config {
58951a39d68df598db08dfced8b4707755864a0492Ying Wang u8 console_uart;
59951a39d68df598db08dfced8b4707755864a0492Ying Wang u32 console_speed;
60951a39d68df598db08dfced8b4707755864a0492Ying Wang};
61951a39d68df598db08dfced8b4707755864a0492Ying Wang
62951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct omap_sti_console_config {
63951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned enable:1;
64951a39d68df598db08dfced8b4707755864a0492Ying Wang u8 channel;
65951a39d68df598db08dfced8b4707755864a0492Ying Wang};
66951a39d68df598db08dfced8b4707755864a0492Ying Wang
67951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct omap_camera_sensor_config {
68951a39d68df598db08dfced8b4707755864a0492Ying Wang u16 reset_gpio;
69951a39d68df598db08dfced8b4707755864a0492Ying Wang int (*power_on)(void * data);
70951a39d68df598db08dfced8b4707755864a0492Ying Wang int (*power_off)(void * data);
71951a39d68df598db08dfced8b4707755864a0492Ying Wang};
72951a39d68df598db08dfced8b4707755864a0492Ying Wang
73951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct omap_usb_config {
74951a39d68df598db08dfced8b4707755864a0492Ying Wang
75951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned register_host:1;
76951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned register_dev:1;
77951a39d68df598db08dfced8b4707755864a0492Ying Wang u8 otg;
78951a39d68df598db08dfced8b4707755864a0492Ying Wang
79951a39d68df598db08dfced8b4707755864a0492Ying Wang u8 hmc_mode;
80951a39d68df598db08dfced8b4707755864a0492Ying Wang
81951a39d68df598db08dfced8b4707755864a0492Ying Wang u8 rwc;
82951a39d68df598db08dfced8b4707755864a0492Ying Wang
83951a39d68df598db08dfced8b4707755864a0492Ying Wang u8 pins[3];
84951a39d68df598db08dfced8b4707755864a0492Ying Wang};
85951a39d68df598db08dfced8b4707755864a0492Ying Wang
86951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct omap_lcd_config {
87951a39d68df598db08dfced8b4707755864a0492Ying Wang char panel_name[16];
88951a39d68df598db08dfced8b4707755864a0492Ying Wang char ctrl_name[16];
89951a39d68df598db08dfced8b4707755864a0492Ying Wang s16 nreset_gpio;
90951a39d68df598db08dfced8b4707755864a0492Ying Wang u8 data_lines;
91951a39d68df598db08dfced8b4707755864a0492Ying Wang};
92951a39d68df598db08dfced8b4707755864a0492Ying Wang
93951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct device;
94951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct fb_info;
95951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct omap_backlight_config {
96951a39d68df598db08dfced8b4707755864a0492Ying Wang int default_intensity;
97951a39d68df598db08dfced8b4707755864a0492Ying Wang int (*set_power)(struct device *dev, int state);
98951a39d68df598db08dfced8b4707755864a0492Ying Wang int (*check_fb)(struct fb_info *fb);
99951a39d68df598db08dfced8b4707755864a0492Ying Wang};
100951a39d68df598db08dfced8b4707755864a0492Ying Wang
101951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct omap_fbmem_config {
102951a39d68df598db08dfced8b4707755864a0492Ying Wang u32 start;
103951a39d68df598db08dfced8b4707755864a0492Ying Wang u32 size;
104951a39d68df598db08dfced8b4707755864a0492Ying Wang};
105951a39d68df598db08dfced8b4707755864a0492Ying Wang
106951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct omap_pwm_led_platform_data {
107951a39d68df598db08dfced8b4707755864a0492Ying Wang const char *name;
108951a39d68df598db08dfced8b4707755864a0492Ying Wang int intensity_timer;
109951a39d68df598db08dfced8b4707755864a0492Ying Wang int blink_timer;
110951a39d68df598db08dfced8b4707755864a0492Ying Wang void (*set_power)(struct omap_pwm_led_platform_data *self, int on_off);
111951a39d68df598db08dfced8b4707755864a0492Ying Wang};
112951a39d68df598db08dfced8b4707755864a0492Ying Wang
113951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct omap_gpio_switch_config {
114951a39d68df598db08dfced8b4707755864a0492Ying Wang char name[12];
115951a39d68df598db08dfced8b4707755864a0492Ying Wang u16 gpio;
116951a39d68df598db08dfced8b4707755864a0492Ying Wang int flags:4;
117951a39d68df598db08dfced8b4707755864a0492Ying Wang int type:4;
118951a39d68df598db08dfced8b4707755864a0492Ying Wang int key_code:24;
119951a39d68df598db08dfced8b4707755864a0492Ying Wang};
120951a39d68df598db08dfced8b4707755864a0492Ying Wang
121951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct omap_uart_config {
122951a39d68df598db08dfced8b4707755864a0492Ying Wang
123951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int enabled_uarts;
124951a39d68df598db08dfced8b4707755864a0492Ying Wang};
125951a39d68df598db08dfced8b4707755864a0492Ying Wang
126951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct omap_flash_part_config {
127951a39d68df598db08dfced8b4707755864a0492Ying Wang char part_table[0];
128951a39d68df598db08dfced8b4707755864a0492Ying Wang};
129951a39d68df598db08dfced8b4707755864a0492Ying Wang
130951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct omap_boot_reason_config {
131951a39d68df598db08dfced8b4707755864a0492Ying Wang char reason_str[12];
132951a39d68df598db08dfced8b4707755864a0492Ying Wang};
133951a39d68df598db08dfced8b4707755864a0492Ying Wang
134951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct omap_version_config {
135951a39d68df598db08dfced8b4707755864a0492Ying Wang char component[12];
136951a39d68df598db08dfced8b4707755864a0492Ying Wang char version[12];
137951a39d68df598db08dfced8b4707755864a0492Ying Wang};
138951a39d68df598db08dfced8b4707755864a0492Ying Wang
139951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct omap_board_config_entry {
140951a39d68df598db08dfced8b4707755864a0492Ying Wang u16 tag;
141951a39d68df598db08dfced8b4707755864a0492Ying Wang u16 len;
142951a39d68df598db08dfced8b4707755864a0492Ying Wang u8 data[0];
143951a39d68df598db08dfced8b4707755864a0492Ying Wang};
144951a39d68df598db08dfced8b4707755864a0492Ying Wang
145951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct omap_board_config_kernel {
146951a39d68df598db08dfced8b4707755864a0492Ying Wang u16 tag;
147951a39d68df598db08dfced8b4707755864a0492Ying Wang const void *data;
148951a39d68df598db08dfced8b4707755864a0492Ying Wang};
149951a39d68df598db08dfced8b4707755864a0492Ying Wang
150951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct omap_bluetooth_config {
151951a39d68df598db08dfced8b4707755864a0492Ying Wang u8 chip_type;
152951a39d68df598db08dfced8b4707755864a0492Ying Wang u8 bt_uart;
153951a39d68df598db08dfced8b4707755864a0492Ying Wang u8 bd_addr[6];
154951a39d68df598db08dfced8b4707755864a0492Ying Wang u8 bt_sysclk;
155951a39d68df598db08dfced8b4707755864a0492Ying Wang int bt_wakeup_gpio;
156951a39d68df598db08dfced8b4707755864a0492Ying Wang int host_wakeup_gpio;
157951a39d68df598db08dfced8b4707755864a0492Ying Wang int reset_gpio;
158951a39d68df598db08dfced8b4707755864a0492Ying Wang};
159951a39d68df598db08dfced8b4707755864a0492Ying Wang
160951a39d68df598db08dfced8b4707755864a0492Ying Wang#define omap_get_config(tag, type)   ((const type *) __omap_get_config((tag), sizeof(type), 0))
161951a39d68df598db08dfced8b4707755864a0492Ying Wang#define omap_get_nr_config(tag, type, nr)   ((const type *) __omap_get_config((tag), sizeof(type), (nr)))
162951a39d68df598db08dfced8b4707755864a0492Ying Wang
163951a39d68df598db08dfced8b4707755864a0492Ying Wang#endif
164